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, 5));
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));
45
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
47
if (ndr_flags & NDR_BUFFERS) {
49
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
50
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
51
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
52
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
55
return NDR_ERR_SUCCESS;
58
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_flags, struct winreg_String *r)
61
TALLOC_CTX *_mem_save_name_0;
62
if (ndr_flags & NDR_SCALARS) {
63
NDR_CHECK(ndr_pull_align(ndr, 5));
64
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
65
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_size));
66
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
68
NDR_PULL_ALLOC(ndr, r->name);
72
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
74
if (ndr_flags & NDR_BUFFERS) {
76
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
77
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
78
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
79
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
80
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
81
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));
83
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
84
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
85
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
88
return NDR_ERR_SUCCESS;
91
_PUBLIC_ void ndr_print_winreg_String(struct ndr_print *ndr, const char *name, const struct winreg_String *r)
93
ndr_print_struct(ndr, name, "winreg_String");
95
ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_len);
96
ndr_print_uint16(ndr, "name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_size);
97
ndr_print_ptr(ndr, "name", r->name);
100
ndr_print_string(ndr, "name", r->name);
106
static enum ndr_err_code ndr_push_KeySecurityData(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityData *r)
108
if (ndr_flags & NDR_SCALARS) {
109
NDR_CHECK(ndr_push_align(ndr, 5));
110
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
111
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
112
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
113
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
115
if (ndr_flags & NDR_BUFFERS) {
117
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
118
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
119
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->len));
120
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->len));
123
return NDR_ERR_SUCCESS;
126
static enum ndr_err_code ndr_pull_KeySecurityData(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityData *r)
129
TALLOC_CTX *_mem_save_data_0;
130
if (ndr_flags & NDR_SCALARS) {
131
NDR_CHECK(ndr_pull_align(ndr, 5));
132
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
134
NDR_PULL_ALLOC(ndr, r->data);
138
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
139
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
140
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
142
if (ndr_flags & NDR_BUFFERS) {
144
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
145
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
146
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
147
NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
148
if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
149
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));
151
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
152
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
153
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
156
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
159
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->len));
162
return NDR_ERR_SUCCESS;
165
_PUBLIC_ void ndr_print_KeySecurityData(struct ndr_print *ndr, const char *name, const struct KeySecurityData *r)
167
ndr_print_struct(ndr, name, "KeySecurityData");
169
ndr_print_ptr(ndr, "data", r->data);
172
ndr_print_array_uint8(ndr, "data", r->data, r->len);
175
ndr_print_uint32(ndr, "size", r->size);
176
ndr_print_uint32(ndr, "len", r->len);
180
static enum ndr_err_code ndr_push_winreg_SecBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_SecBuf *r)
182
if (ndr_flags & NDR_SCALARS) {
183
NDR_CHECK(ndr_push_align(ndr, 5));
184
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
185
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sd));
186
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit));
187
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
189
if (ndr_flags & NDR_BUFFERS) {
190
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sd));
192
return NDR_ERR_SUCCESS;
195
static enum ndr_err_code ndr_pull_winreg_SecBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_SecBuf *r)
197
if (ndr_flags & NDR_SCALARS) {
198
NDR_CHECK(ndr_pull_align(ndr, 5));
199
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
200
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sd));
201
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit));
202
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
204
if (ndr_flags & NDR_BUFFERS) {
205
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sd));
207
return NDR_ERR_SUCCESS;
210
_PUBLIC_ void ndr_print_winreg_SecBuf(struct ndr_print *ndr, const char *name, const struct winreg_SecBuf *r)
212
ndr_print_struct(ndr, name, "winreg_SecBuf");
214
ndr_print_uint32(ndr, "length", r->length);
215
ndr_print_KeySecurityData(ndr, "sd", &r->sd);
216
ndr_print_uint8(ndr, "inherit", r->inherit);
220
static enum ndr_err_code ndr_push_winreg_CreateAction(struct ndr_push *ndr, int ndr_flags, enum winreg_CreateAction r)
222
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
223
return NDR_ERR_SUCCESS;
226
static enum ndr_err_code ndr_pull_winreg_CreateAction(struct ndr_pull *ndr, int ndr_flags, enum winreg_CreateAction *r)
229
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
231
return NDR_ERR_SUCCESS;
234
_PUBLIC_ void ndr_print_winreg_CreateAction(struct ndr_print *ndr, const char *name, enum winreg_CreateAction r)
236
const char *val = NULL;
239
case REG_ACTION_NONE: val = "REG_ACTION_NONE"; break;
240
case REG_CREATED_NEW_KEY: val = "REG_CREATED_NEW_KEY"; break;
241
case REG_OPENED_EXISTING_KEY: val = "REG_OPENED_EXISTING_KEY"; break;
243
ndr_print_enum(ndr, name, "ENUM", val, r);
246
static enum ndr_err_code ndr_push_winreg_StringBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_StringBuf *r)
248
if (ndr_flags & NDR_SCALARS) {
249
NDR_CHECK(ndr_push_align(ndr, 5));
250
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2));
251
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
252
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
253
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
255
if (ndr_flags & NDR_BUFFERS) {
257
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
258
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
259
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2 / 2));
260
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term_null(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16));
263
return NDR_ERR_SUCCESS;
266
static enum ndr_err_code ndr_pull_winreg_StringBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_StringBuf *r)
269
TALLOC_CTX *_mem_save_name_0;
270
if (ndr_flags & NDR_SCALARS) {
271
NDR_CHECK(ndr_pull_align(ndr, 5));
272
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
273
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
274
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
276
NDR_PULL_ALLOC(ndr, r->name);
280
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
282
if (ndr_flags & NDR_BUFFERS) {
284
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
285
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
286
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
287
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
288
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
289
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));
291
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
292
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
295
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2));
298
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2));
301
return NDR_ERR_SUCCESS;
304
_PUBLIC_ void ndr_print_winreg_StringBuf(struct ndr_print *ndr, const char *name, const struct winreg_StringBuf *r)
306
ndr_print_struct(ndr, name, "winreg_StringBuf");
308
ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term_null(r->name) * 2:r->length);
309
ndr_print_uint16(ndr, "size", r->size);
310
ndr_print_ptr(ndr, "name", r->name);
313
ndr_print_string(ndr, "name", r->name);
319
static enum ndr_err_code ndr_push_winreg_ValNameBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_ValNameBuf *r)
321
if (ndr_flags & NDR_SCALARS) {
322
NDR_CHECK(ndr_push_align(ndr, 5));
323
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2));
324
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
325
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
326
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
328
if (ndr_flags & NDR_BUFFERS) {
330
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
331
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
332
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2 / 2));
333
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16));
336
return NDR_ERR_SUCCESS;
339
static enum ndr_err_code ndr_pull_winreg_ValNameBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_ValNameBuf *r)
342
TALLOC_CTX *_mem_save_name_0;
343
if (ndr_flags & NDR_SCALARS) {
344
NDR_CHECK(ndr_pull_align(ndr, 5));
345
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
346
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
347
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
349
NDR_PULL_ALLOC(ndr, r->name);
353
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
355
if (ndr_flags & NDR_BUFFERS) {
357
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
358
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
359
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
360
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
361
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
362
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));
364
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
365
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
368
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2));
371
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2));
374
return NDR_ERR_SUCCESS;
377
_PUBLIC_ void ndr_print_winreg_ValNameBuf(struct ndr_print *ndr, const char *name, const struct winreg_ValNameBuf *r)
379
ndr_print_struct(ndr, name, "winreg_ValNameBuf");
381
ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->length);
382
ndr_print_uint16(ndr, "size", r->size);
383
ndr_print_ptr(ndr, "name", r->name);
386
ndr_print_string(ndr, "name", r->name);
392
_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
394
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
395
return NDR_ERR_SUCCESS;
398
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
401
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
403
return NDR_ERR_SUCCESS;
406
_PUBLIC_ void ndr_print_winreg_NotifyChangeType(struct ndr_print *ndr, const char *name, uint32_t r)
408
ndr_print_uint32(ndr, name, r);
410
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_NAME", REG_NOTIFY_CHANGE_NAME, r);
411
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_ATTRIBUTES", REG_NOTIFY_CHANGE_ATTRIBUTES, r);
412
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_LAST_SET", REG_NOTIFY_CHANGE_LAST_SET, r);
413
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_SECURITY", REG_NOTIFY_CHANGE_SECURITY, r);
417
static enum ndr_err_code ndr_push_KeySecurityAttribute(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityAttribute *r)
419
if (ndr_flags & NDR_SCALARS) {
420
NDR_CHECK(ndr_push_align(ndr, 5));
421
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data_size));
422
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data));
423
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit));
424
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
426
if (ndr_flags & NDR_BUFFERS) {
427
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data));
429
return NDR_ERR_SUCCESS;
432
static enum ndr_err_code ndr_pull_KeySecurityAttribute(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityAttribute *r)
434
if (ndr_flags & NDR_SCALARS) {
435
NDR_CHECK(ndr_pull_align(ndr, 5));
436
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_size));
437
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data));
438
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit));
439
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
441
if (ndr_flags & NDR_BUFFERS) {
442
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data));
444
return NDR_ERR_SUCCESS;
447
_PUBLIC_ void ndr_print_KeySecurityAttribute(struct ndr_print *ndr, const char *name, const struct KeySecurityAttribute *r)
449
ndr_print_struct(ndr, name, "KeySecurityAttribute");
451
ndr_print_uint32(ndr, "data_size", r->data_size);
452
ndr_print_KeySecurityData(ndr, "sec_data", &r->sec_data);
453
ndr_print_uint8(ndr, "inherit", r->inherit);
457
static enum ndr_err_code ndr_push_QueryMultipleValue(struct ndr_push *ndr, int ndr_flags, const struct QueryMultipleValue *r)
459
if (ndr_flags & NDR_SCALARS) {
460
NDR_CHECK(ndr_push_align(ndr, 5));
461
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
462
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
463
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->offset));
464
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
465
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
467
if (ndr_flags & NDR_BUFFERS) {
469
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name));
472
return NDR_ERR_SUCCESS;
475
static enum ndr_err_code ndr_pull_QueryMultipleValue(struct ndr_pull *ndr, int ndr_flags, struct QueryMultipleValue *r)
478
TALLOC_CTX *_mem_save_name_0;
479
if (ndr_flags & NDR_SCALARS) {
480
NDR_CHECK(ndr_pull_align(ndr, 5));
481
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
483
NDR_PULL_ALLOC(ndr, r->name);
487
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
488
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->offset));
489
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
490
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
492
if (ndr_flags & NDR_BUFFERS) {
494
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
495
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
496
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name));
497
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
500
return NDR_ERR_SUCCESS;
503
_PUBLIC_ void ndr_print_QueryMultipleValue(struct ndr_print *ndr, const char *name, const struct QueryMultipleValue *r)
505
ndr_print_struct(ndr, name, "QueryMultipleValue");
507
ndr_print_ptr(ndr, "name", r->name);
510
ndr_print_winreg_String(ndr, "name", r->name);
513
ndr_print_winreg_Type(ndr, "type", r->type);
514
ndr_print_uint32(ndr, "offset", r->offset);
515
ndr_print_uint32(ndr, "length", r->length);
519
static enum ndr_err_code ndr_push_winreg_OpenHKCR(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCR *r)
521
if (flags & NDR_IN) {
522
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
523
if (r->in.system_name) {
524
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
526
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
528
if (flags & NDR_OUT) {
529
if (r->out.handle == NULL) {
530
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
532
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
533
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
535
return NDR_ERR_SUCCESS;
538
static enum ndr_err_code ndr_pull_winreg_OpenHKCR(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCR *r)
540
uint32_t _ptr_system_name;
541
TALLOC_CTX *_mem_save_system_name_0;
542
TALLOC_CTX *_mem_save_handle_0;
543
if (flags & NDR_IN) {
546
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
547
if (_ptr_system_name) {
548
NDR_PULL_ALLOC(ndr, r->in.system_name);
550
r->in.system_name = NULL;
552
if (r->in.system_name) {
553
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
554
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
555
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
556
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
558
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
559
NDR_PULL_ALLOC(ndr, r->out.handle);
560
ZERO_STRUCTP(r->out.handle);
562
if (flags & NDR_OUT) {
563
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
564
NDR_PULL_ALLOC(ndr, r->out.handle);
566
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
567
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
568
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
569
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
570
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
572
return NDR_ERR_SUCCESS;
575
_PUBLIC_ void ndr_print_winreg_OpenHKCR(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCR *r)
577
ndr_print_struct(ndr, name, "winreg_OpenHKCR");
579
if (flags & NDR_SET_VALUES) {
580
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
582
if (flags & NDR_IN) {
583
ndr_print_struct(ndr, "in", "winreg_OpenHKCR");
585
ndr_print_ptr(ndr, "system_name", r->in.system_name);
587
if (r->in.system_name) {
588
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
591
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
594
if (flags & NDR_OUT) {
595
ndr_print_struct(ndr, "out", "winreg_OpenHKCR");
597
ndr_print_ptr(ndr, "handle", r->out.handle);
599
ndr_print_policy_handle(ndr, "handle", r->out.handle);
601
ndr_print_WERROR(ndr, "result", r->out.result);
607
static enum ndr_err_code ndr_push_winreg_OpenHKCU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCU *r)
609
if (flags & NDR_IN) {
610
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
611
if (r->in.system_name) {
612
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
614
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
616
if (flags & NDR_OUT) {
617
if (r->out.handle == NULL) {
618
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
620
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
621
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
623
return NDR_ERR_SUCCESS;
626
static enum ndr_err_code ndr_pull_winreg_OpenHKCU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCU *r)
628
uint32_t _ptr_system_name;
629
TALLOC_CTX *_mem_save_system_name_0;
630
TALLOC_CTX *_mem_save_handle_0;
631
if (flags & NDR_IN) {
634
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
635
if (_ptr_system_name) {
636
NDR_PULL_ALLOC(ndr, r->in.system_name);
638
r->in.system_name = NULL;
640
if (r->in.system_name) {
641
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
642
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
643
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
644
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
646
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
647
NDR_PULL_ALLOC(ndr, r->out.handle);
648
ZERO_STRUCTP(r->out.handle);
650
if (flags & NDR_OUT) {
651
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
652
NDR_PULL_ALLOC(ndr, r->out.handle);
654
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
655
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
656
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
657
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
658
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
660
return NDR_ERR_SUCCESS;
663
_PUBLIC_ void ndr_print_winreg_OpenHKCU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCU *r)
665
ndr_print_struct(ndr, name, "winreg_OpenHKCU");
667
if (flags & NDR_SET_VALUES) {
668
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
670
if (flags & NDR_IN) {
671
ndr_print_struct(ndr, "in", "winreg_OpenHKCU");
673
ndr_print_ptr(ndr, "system_name", r->in.system_name);
675
if (r->in.system_name) {
676
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
679
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
682
if (flags & NDR_OUT) {
683
ndr_print_struct(ndr, "out", "winreg_OpenHKCU");
685
ndr_print_ptr(ndr, "handle", r->out.handle);
687
ndr_print_policy_handle(ndr, "handle", r->out.handle);
689
ndr_print_WERROR(ndr, "result", r->out.result);
695
_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenHKLM(struct ndr_push *ndr, int flags, const struct winreg_OpenHKLM *r)
697
if (flags & NDR_IN) {
698
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
699
if (r->in.system_name) {
700
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
702
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
704
if (flags & NDR_OUT) {
705
if (r->out.handle == NULL) {
706
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
708
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
709
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
711
return NDR_ERR_SUCCESS;
714
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenHKLM(struct ndr_pull *ndr, int flags, struct winreg_OpenHKLM *r)
716
uint32_t _ptr_system_name;
717
TALLOC_CTX *_mem_save_system_name_0;
718
TALLOC_CTX *_mem_save_handle_0;
719
if (flags & NDR_IN) {
722
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
723
if (_ptr_system_name) {
724
NDR_PULL_ALLOC(ndr, r->in.system_name);
726
r->in.system_name = NULL;
728
if (r->in.system_name) {
729
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
730
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
731
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
732
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
734
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
735
NDR_PULL_ALLOC(ndr, r->out.handle);
736
ZERO_STRUCTP(r->out.handle);
738
if (flags & NDR_OUT) {
739
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
740
NDR_PULL_ALLOC(ndr, r->out.handle);
742
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
743
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
744
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
745
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
746
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
748
return NDR_ERR_SUCCESS;
751
_PUBLIC_ void ndr_print_winreg_OpenHKLM(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKLM *r)
753
ndr_print_struct(ndr, name, "winreg_OpenHKLM");
755
if (flags & NDR_SET_VALUES) {
756
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
758
if (flags & NDR_IN) {
759
ndr_print_struct(ndr, "in", "winreg_OpenHKLM");
761
ndr_print_ptr(ndr, "system_name", r->in.system_name);
763
if (r->in.system_name) {
764
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
767
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
770
if (flags & NDR_OUT) {
771
ndr_print_struct(ndr, "out", "winreg_OpenHKLM");
773
ndr_print_ptr(ndr, "handle", r->out.handle);
775
ndr_print_policy_handle(ndr, "handle", r->out.handle);
777
ndr_print_WERROR(ndr, "result", r->out.result);
783
static enum ndr_err_code ndr_push_winreg_OpenHKPD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPD *r)
785
if (flags & NDR_IN) {
786
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
787
if (r->in.system_name) {
788
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
790
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
792
if (flags & NDR_OUT) {
793
if (r->out.handle == NULL) {
794
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
796
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
797
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
799
return NDR_ERR_SUCCESS;
802
static enum ndr_err_code ndr_pull_winreg_OpenHKPD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPD *r)
804
uint32_t _ptr_system_name;
805
TALLOC_CTX *_mem_save_system_name_0;
806
TALLOC_CTX *_mem_save_handle_0;
807
if (flags & NDR_IN) {
810
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
811
if (_ptr_system_name) {
812
NDR_PULL_ALLOC(ndr, r->in.system_name);
814
r->in.system_name = NULL;
816
if (r->in.system_name) {
817
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
818
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
819
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
820
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
822
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
823
NDR_PULL_ALLOC(ndr, r->out.handle);
824
ZERO_STRUCTP(r->out.handle);
826
if (flags & NDR_OUT) {
827
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
828
NDR_PULL_ALLOC(ndr, r->out.handle);
830
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
831
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
832
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
833
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
834
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
836
return NDR_ERR_SUCCESS;
839
_PUBLIC_ void ndr_print_winreg_OpenHKPD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPD *r)
841
ndr_print_struct(ndr, name, "winreg_OpenHKPD");
843
if (flags & NDR_SET_VALUES) {
844
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
846
if (flags & NDR_IN) {
847
ndr_print_struct(ndr, "in", "winreg_OpenHKPD");
849
ndr_print_ptr(ndr, "system_name", r->in.system_name);
851
if (r->in.system_name) {
852
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
855
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
858
if (flags & NDR_OUT) {
859
ndr_print_struct(ndr, "out", "winreg_OpenHKPD");
861
ndr_print_ptr(ndr, "handle", r->out.handle);
863
ndr_print_policy_handle(ndr, "handle", r->out.handle);
865
ndr_print_WERROR(ndr, "result", r->out.result);
871
static enum ndr_err_code ndr_push_winreg_OpenHKU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKU *r)
873
if (flags & NDR_IN) {
874
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
875
if (r->in.system_name) {
876
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
878
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
880
if (flags & NDR_OUT) {
881
if (r->out.handle == NULL) {
882
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
884
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
885
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
887
return NDR_ERR_SUCCESS;
890
static enum ndr_err_code ndr_pull_winreg_OpenHKU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKU *r)
892
uint32_t _ptr_system_name;
893
TALLOC_CTX *_mem_save_system_name_0;
894
TALLOC_CTX *_mem_save_handle_0;
895
if (flags & NDR_IN) {
898
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
899
if (_ptr_system_name) {
900
NDR_PULL_ALLOC(ndr, r->in.system_name);
902
r->in.system_name = NULL;
904
if (r->in.system_name) {
905
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
906
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
907
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
908
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
910
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
911
NDR_PULL_ALLOC(ndr, r->out.handle);
912
ZERO_STRUCTP(r->out.handle);
914
if (flags & NDR_OUT) {
915
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
916
NDR_PULL_ALLOC(ndr, r->out.handle);
918
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
919
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
920
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
921
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
922
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
924
return NDR_ERR_SUCCESS;
927
_PUBLIC_ void ndr_print_winreg_OpenHKU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKU *r)
929
ndr_print_struct(ndr, name, "winreg_OpenHKU");
931
if (flags & NDR_SET_VALUES) {
932
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
934
if (flags & NDR_IN) {
935
ndr_print_struct(ndr, "in", "winreg_OpenHKU");
937
ndr_print_ptr(ndr, "system_name", r->in.system_name);
939
if (r->in.system_name) {
940
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
943
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
946
if (flags & NDR_OUT) {
947
ndr_print_struct(ndr, "out", "winreg_OpenHKU");
949
ndr_print_ptr(ndr, "handle", r->out.handle);
951
ndr_print_policy_handle(ndr, "handle", r->out.handle);
953
ndr_print_WERROR(ndr, "result", r->out.result);
959
_PUBLIC_ enum ndr_err_code ndr_push_winreg_CloseKey(struct ndr_push *ndr, int flags, const struct winreg_CloseKey *r)
961
if (flags & NDR_IN) {
962
if (r->in.handle == NULL) {
963
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
965
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
967
if (flags & NDR_OUT) {
968
if (r->out.handle == NULL) {
969
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
971
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
972
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
974
return NDR_ERR_SUCCESS;
977
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CloseKey(struct ndr_pull *ndr, int flags, struct winreg_CloseKey *r)
979
TALLOC_CTX *_mem_save_handle_0;
980
if (flags & NDR_IN) {
983
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
984
NDR_PULL_ALLOC(ndr, r->in.handle);
986
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
987
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
988
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
989
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
990
NDR_PULL_ALLOC(ndr, r->out.handle);
991
*r->out.handle = *r->in.handle;
993
if (flags & NDR_OUT) {
994
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
995
NDR_PULL_ALLOC(ndr, r->out.handle);
997
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
998
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
999
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
1000
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1001
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1003
return NDR_ERR_SUCCESS;
1006
_PUBLIC_ void ndr_print_winreg_CloseKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CloseKey *r)
1008
ndr_print_struct(ndr, name, "winreg_CloseKey");
1010
if (flags & NDR_SET_VALUES) {
1011
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1013
if (flags & NDR_IN) {
1014
ndr_print_struct(ndr, "in", "winreg_CloseKey");
1016
ndr_print_ptr(ndr, "handle", r->in.handle);
1018
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1022
if (flags & NDR_OUT) {
1023
ndr_print_struct(ndr, "out", "winreg_CloseKey");
1025
ndr_print_ptr(ndr, "handle", r->out.handle);
1027
ndr_print_policy_handle(ndr, "handle", r->out.handle);
1029
ndr_print_WERROR(ndr, "result", r->out.result);
1035
_PUBLIC_ enum ndr_err_code ndr_push_winreg_CreateKey(struct ndr_push *ndr, int flags, const struct winreg_CreateKey *r)
1037
if (flags & NDR_IN) {
1038
if (r->in.handle == NULL) {
1039
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1041
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1042
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
1043
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass));
1044
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
1045
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
1046
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.secdesc));
1047
if (r->in.secdesc) {
1048
NDR_CHECK(ndr_push_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
1050
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.action_taken));
1051
if (r->in.action_taken) {
1052
NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->in.action_taken));
1055
if (flags & NDR_OUT) {
1056
if (r->out.new_handle == NULL) {
1057
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1059
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.new_handle));
1060
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.action_taken));
1061
if (r->out.action_taken) {
1062
NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->out.action_taken));
1064
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1066
return NDR_ERR_SUCCESS;
1069
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CreateKey(struct ndr_pull *ndr, int flags, struct winreg_CreateKey *r)
1071
uint32_t _ptr_secdesc;
1072
uint32_t _ptr_action_taken;
1073
TALLOC_CTX *_mem_save_handle_0;
1074
TALLOC_CTX *_mem_save_secdesc_0;
1075
TALLOC_CTX *_mem_save_new_handle_0;
1076
TALLOC_CTX *_mem_save_action_taken_0;
1077
if (flags & NDR_IN) {
1078
ZERO_STRUCT(r->out);
1080
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1081
NDR_PULL_ALLOC(ndr, r->in.handle);
1083
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1084
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1085
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1086
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1087
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
1088
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass));
1089
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
1090
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
1091
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1093
NDR_PULL_ALLOC(ndr, r->in.secdesc);
1095
r->in.secdesc = NULL;
1097
if (r->in.secdesc) {
1098
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1099
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc, 0);
1100
NDR_CHECK(ndr_pull_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
1101
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1103
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken));
1104
if (_ptr_action_taken) {
1105
NDR_PULL_ALLOC(ndr, r->in.action_taken);
1107
r->in.action_taken = NULL;
1109
if (r->in.action_taken) {
1110
_mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr);
1111
NDR_PULL_SET_MEM_CTX(ndr, r->in.action_taken, 0);
1112
NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->in.action_taken));
1113
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0);
1115
NDR_PULL_ALLOC(ndr, r->out.new_handle);
1116
ZERO_STRUCTP(r->out.new_handle);
1118
if (flags & NDR_OUT) {
1119
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1120
NDR_PULL_ALLOC(ndr, r->out.new_handle);
1122
_mem_save_new_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1123
NDR_PULL_SET_MEM_CTX(ndr, r->out.new_handle, LIBNDR_FLAG_REF_ALLOC);
1124
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.new_handle));
1125
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_handle_0, LIBNDR_FLAG_REF_ALLOC);
1126
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken));
1127
if (_ptr_action_taken) {
1128
NDR_PULL_ALLOC(ndr, r->out.action_taken);
1130
r->out.action_taken = NULL;
1132
if (r->out.action_taken) {
1133
_mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr);
1134
NDR_PULL_SET_MEM_CTX(ndr, r->out.action_taken, 0);
1135
NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->out.action_taken));
1136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0);
1138
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1140
return NDR_ERR_SUCCESS;
1143
_PUBLIC_ void ndr_print_winreg_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CreateKey *r)
1145
ndr_print_struct(ndr, name, "winreg_CreateKey");
1147
if (flags & NDR_SET_VALUES) {
1148
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1150
if (flags & NDR_IN) {
1151
ndr_print_struct(ndr, "in", "winreg_CreateKey");
1153
ndr_print_ptr(ndr, "handle", r->in.handle);
1155
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1157
ndr_print_winreg_String(ndr, "name", &r->in.name);
1158
ndr_print_winreg_String(ndr, "keyclass", &r->in.keyclass);
1159
ndr_print_uint32(ndr, "options", r->in.options);
1160
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
1161
ndr_print_ptr(ndr, "secdesc", r->in.secdesc);
1163
if (r->in.secdesc) {
1164
ndr_print_winreg_SecBuf(ndr, "secdesc", r->in.secdesc);
1167
ndr_print_ptr(ndr, "action_taken", r->in.action_taken);
1169
if (r->in.action_taken) {
1170
ndr_print_winreg_CreateAction(ndr, "action_taken", *r->in.action_taken);
1175
if (flags & NDR_OUT) {
1176
ndr_print_struct(ndr, "out", "winreg_CreateKey");
1178
ndr_print_ptr(ndr, "new_handle", r->out.new_handle);
1180
ndr_print_policy_handle(ndr, "new_handle", r->out.new_handle);
1182
ndr_print_ptr(ndr, "action_taken", r->out.action_taken);
1184
if (r->out.action_taken) {
1185
ndr_print_winreg_CreateAction(ndr, "action_taken", *r->out.action_taken);
1188
ndr_print_WERROR(ndr, "result", r->out.result);
1194
_PUBLIC_ enum ndr_err_code ndr_push_winreg_DeleteKey(struct ndr_push *ndr, int flags, const struct winreg_DeleteKey *r)
1196
if (flags & NDR_IN) {
1197
if (r->in.handle == NULL) {
1198
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1200
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1201
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key));
1203
if (flags & NDR_OUT) {
1204
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1206
return NDR_ERR_SUCCESS;
1209
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_DeleteKey(struct ndr_pull *ndr, int flags, struct winreg_DeleteKey *r)
1211
TALLOC_CTX *_mem_save_handle_0;
1212
if (flags & NDR_IN) {
1213
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1214
NDR_PULL_ALLOC(ndr, r->in.handle);
1216
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1217
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1218
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1219
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1220
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key));
1222
if (flags & NDR_OUT) {
1223
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1225
return NDR_ERR_SUCCESS;
1228
_PUBLIC_ void ndr_print_winreg_DeleteKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKey *r)
1230
ndr_print_struct(ndr, name, "winreg_DeleteKey");
1232
if (flags & NDR_SET_VALUES) {
1233
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1235
if (flags & NDR_IN) {
1236
ndr_print_struct(ndr, "in", "winreg_DeleteKey");
1238
ndr_print_ptr(ndr, "handle", r->in.handle);
1240
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1242
ndr_print_winreg_String(ndr, "key", &r->in.key);
1245
if (flags & NDR_OUT) {
1246
ndr_print_struct(ndr, "out", "winreg_DeleteKey");
1248
ndr_print_WERROR(ndr, "result", r->out.result);
1254
static enum ndr_err_code ndr_push_winreg_DeleteValue(struct ndr_push *ndr, int flags, const struct winreg_DeleteValue *r)
1256
if (flags & NDR_IN) {
1257
if (r->in.handle == NULL) {
1258
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1260
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1261
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value));
1263
if (flags & NDR_OUT) {
1264
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1266
return NDR_ERR_SUCCESS;
1269
static enum ndr_err_code ndr_pull_winreg_DeleteValue(struct ndr_pull *ndr, int flags, struct winreg_DeleteValue *r)
1271
TALLOC_CTX *_mem_save_handle_0;
1272
if (flags & NDR_IN) {
1273
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1274
NDR_PULL_ALLOC(ndr, r->in.handle);
1276
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1277
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1278
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1279
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1280
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value));
1282
if (flags & NDR_OUT) {
1283
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1285
return NDR_ERR_SUCCESS;
1288
_PUBLIC_ void ndr_print_winreg_DeleteValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteValue *r)
1290
ndr_print_struct(ndr, name, "winreg_DeleteValue");
1292
if (flags & NDR_SET_VALUES) {
1293
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1295
if (flags & NDR_IN) {
1296
ndr_print_struct(ndr, "in", "winreg_DeleteValue");
1298
ndr_print_ptr(ndr, "handle", r->in.handle);
1300
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1302
ndr_print_winreg_String(ndr, "value", &r->in.value);
1305
if (flags & NDR_OUT) {
1306
ndr_print_struct(ndr, "out", "winreg_DeleteValue");
1308
ndr_print_WERROR(ndr, "result", r->out.result);
1314
_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumKey(struct ndr_push *ndr, int flags, const struct winreg_EnumKey *r)
1316
if (flags & NDR_IN) {
1317
if (r->in.handle == NULL) {
1318
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1320
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1321
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
1322
if (r->in.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->in.name));
1326
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyclass));
1327
if (r->in.keyclass) {
1328
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass));
1330
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.last_changed_time));
1331
if (r->in.last_changed_time) {
1332
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->in.last_changed_time));
1335
if (flags & NDR_OUT) {
1336
if (r->out.name == NULL) {
1337
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1339
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1340
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.keyclass));
1341
if (r->out.keyclass) {
1342
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass));
1344
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.last_changed_time));
1345
if (r->out.last_changed_time) {
1346
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time));
1348
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1350
return NDR_ERR_SUCCESS;
1353
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumKey(struct ndr_pull *ndr, int flags, struct winreg_EnumKey *r)
1355
uint32_t _ptr_keyclass;
1356
uint32_t _ptr_last_changed_time;
1357
TALLOC_CTX *_mem_save_handle_0;
1358
TALLOC_CTX *_mem_save_name_0;
1359
TALLOC_CTX *_mem_save_keyclass_0;
1360
TALLOC_CTX *_mem_save_last_changed_time_0;
1361
if (flags & NDR_IN) {
1362
ZERO_STRUCT(r->out);
1364
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1365
NDR_PULL_ALLOC(ndr, r->in.handle);
1367
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1368
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1369
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1370
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1371
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
1372
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1373
NDR_PULL_ALLOC(ndr, r->in.name);
1375
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1376
NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
1377
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1378
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1379
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass));
1380
if (_ptr_keyclass) {
1381
NDR_PULL_ALLOC(ndr, r->in.keyclass);
1383
r->in.keyclass = NULL;
1385
if (r->in.keyclass) {
1386
_mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr);
1387
NDR_PULL_SET_MEM_CTX(ndr, r->in.keyclass, 0);
1388
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass));
1389
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0);
1391
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time));
1392
if (_ptr_last_changed_time) {
1393
NDR_PULL_ALLOC(ndr, r->in.last_changed_time);
1395
r->in.last_changed_time = NULL;
1397
if (r->in.last_changed_time) {
1398
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
1399
NDR_PULL_SET_MEM_CTX(ndr, r->in.last_changed_time, 0);
1400
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->in.last_changed_time));
1401
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0);
1403
NDR_PULL_ALLOC(ndr, r->out.name);
1404
*r->out.name = *r->in.name;
1406
if (flags & NDR_OUT) {
1407
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1408
NDR_PULL_ALLOC(ndr, r->out.name);
1410
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1411
NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1412
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1413
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1414
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass));
1415
if (_ptr_keyclass) {
1416
NDR_PULL_ALLOC(ndr, r->out.keyclass);
1418
r->out.keyclass = NULL;
1420
if (r->out.keyclass) {
1421
_mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr);
1422
NDR_PULL_SET_MEM_CTX(ndr, r->out.keyclass, 0);
1423
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass));
1424
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0);
1426
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time));
1427
if (_ptr_last_changed_time) {
1428
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
1430
r->out.last_changed_time = NULL;
1432
if (r->out.last_changed_time) {
1433
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
1434
NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, 0);
1435
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time));
1436
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0);
1438
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1440
return NDR_ERR_SUCCESS;
1443
_PUBLIC_ void ndr_print_winreg_EnumKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumKey *r)
1445
ndr_print_struct(ndr, name, "winreg_EnumKey");
1447
if (flags & NDR_SET_VALUES) {
1448
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1450
if (flags & NDR_IN) {
1451
ndr_print_struct(ndr, "in", "winreg_EnumKey");
1453
ndr_print_ptr(ndr, "handle", r->in.handle);
1455
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1457
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
1458
ndr_print_ptr(ndr, "name", r->in.name);
1460
ndr_print_winreg_StringBuf(ndr, "name", r->in.name);
1462
ndr_print_ptr(ndr, "keyclass", r->in.keyclass);
1464
if (r->in.keyclass) {
1465
ndr_print_winreg_StringBuf(ndr, "keyclass", r->in.keyclass);
1468
ndr_print_ptr(ndr, "last_changed_time", r->in.last_changed_time);
1470
if (r->in.last_changed_time) {
1471
ndr_print_NTTIME(ndr, "last_changed_time", *r->in.last_changed_time);
1476
if (flags & NDR_OUT) {
1477
ndr_print_struct(ndr, "out", "winreg_EnumKey");
1479
ndr_print_ptr(ndr, "name", r->out.name);
1481
ndr_print_winreg_StringBuf(ndr, "name", r->out.name);
1483
ndr_print_ptr(ndr, "keyclass", r->out.keyclass);
1485
if (r->out.keyclass) {
1486
ndr_print_winreg_StringBuf(ndr, "keyclass", r->out.keyclass);
1489
ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time);
1491
if (r->out.last_changed_time) {
1492
ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time);
1495
ndr_print_WERROR(ndr, "result", r->out.result);
1501
_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumValue(struct ndr_push *ndr, int flags, const struct winreg_EnumValue *r)
1503
if (flags & NDR_IN) {
1504
if (r->in.handle == NULL) {
1505
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1507
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1508
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
1509
if (r->in.name == NULL) {
1510
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1512
NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1513
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type));
1515
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type));
1517
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.value));
1519
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.size));
1520
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1521
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.length));
1522
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.value, *r->in.length));
1524
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.size));
1526
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.size));
1528
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.length));
1530
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.length));
1533
if (flags & NDR_OUT) {
1534
if (r->out.name == NULL) {
1535
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1537
NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1538
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type));
1540
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
1542
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.value));
1544
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.size));
1545
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
1546
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.length));
1547
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.value, *r->out.length));
1549
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.size));
1551
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.size));
1553
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.length));
1554
if (r->out.length) {
1555
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.length));
1557
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1559
return NDR_ERR_SUCCESS;
1562
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int flags, struct winreg_EnumValue *r)
1565
uint32_t _ptr_value;
1567
uint32_t _ptr_length;
1568
TALLOC_CTX *_mem_save_handle_0;
1569
TALLOC_CTX *_mem_save_name_0;
1570
TALLOC_CTX *_mem_save_type_0;
1571
TALLOC_CTX *_mem_save_value_0;
1572
TALLOC_CTX *_mem_save_size_0;
1573
TALLOC_CTX *_mem_save_length_0;
1574
if (flags & NDR_IN) {
1575
ZERO_STRUCT(r->out);
1577
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1578
NDR_PULL_ALLOC(ndr, r->in.handle);
1580
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1581
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1582
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1583
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1584
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
1585
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1586
NDR_PULL_ALLOC(ndr, r->in.name);
1588
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1589
NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
1590
NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1591
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1592
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
1594
NDR_PULL_ALLOC(ndr, r->in.type);
1599
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1600
NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0);
1601
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type));
1602
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
1604
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1606
NDR_PULL_ALLOC(ndr, r->in.value);
1611
_mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1612
NDR_PULL_SET_MEM_CTX(ndr, r->in.value, 0);
1613
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value));
1614
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value));
1615
if (ndr_get_array_length(ndr, &r->in.value) > ndr_get_array_size(ndr, &r->in.value)) {
1616
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));
1618
NDR_PULL_ALLOC_N(ndr, r->in.value, ndr_get_array_size(ndr, &r->in.value));
1619
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.value, ndr_get_array_length(ndr, &r->in.value)));
1620
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1622
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
1624
NDR_PULL_ALLOC(ndr, r->in.size);
1629
_mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
1630
NDR_PULL_SET_MEM_CTX(ndr, r->in.size, 0);
1631
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.size));
1632
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0);
1634
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length));
1636
NDR_PULL_ALLOC(ndr, r->in.length);
1638
r->in.length = NULL;
1641
_mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
1642
NDR_PULL_SET_MEM_CTX(ndr, r->in.length, 0);
1643
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.length));
1644
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0);
1646
NDR_PULL_ALLOC(ndr, r->out.name);
1647
*r->out.name = *r->in.name;
1649
if (r->in.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
1650
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.value, *r->in.size));
1653
if (r->in.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
1654
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.value, *r->in.length));
1657
if (flags & NDR_OUT) {
1658
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1659
NDR_PULL_ALLOC(ndr, r->out.name);
1661
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1662
NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1663
NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1664
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1665
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
1667
NDR_PULL_ALLOC(ndr, r->out.type);
1672
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1673
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0);
1674
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
1675
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
1677
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1679
NDR_PULL_ALLOC(ndr, r->out.value);
1681
r->out.value = NULL;
1684
_mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1685
NDR_PULL_SET_MEM_CTX(ndr, r->out.value, 0);
1686
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value));
1687
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.value));
1688
if (ndr_get_array_length(ndr, &r->out.value) > ndr_get_array_size(ndr, &r->out.value)) {
1689
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));
1691
NDR_PULL_ALLOC_N(ndr, r->out.value, ndr_get_array_size(ndr, &r->out.value));
1692
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.value, ndr_get_array_length(ndr, &r->out.value)));
1693
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1695
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
1697
NDR_PULL_ALLOC(ndr, r->out.size);
1702
_mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
1703
NDR_PULL_SET_MEM_CTX(ndr, r->out.size, 0);
1704
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.size));
1705
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0);
1707
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length));
1709
NDR_PULL_ALLOC(ndr, r->out.length);
1711
r->out.length = NULL;
1713
if (r->out.length) {
1714
_mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
1715
NDR_PULL_SET_MEM_CTX(ndr, r->out.length, 0);
1716
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.length));
1717
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0);
1719
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1721
if (r->out.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
1722
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value, *r->out.size));
1725
if (r->out.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
1726
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.value, *r->out.length));
1729
return NDR_ERR_SUCCESS;
1732
_PUBLIC_ void ndr_print_winreg_EnumValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumValue *r)
1734
ndr_print_struct(ndr, name, "winreg_EnumValue");
1736
if (flags & NDR_SET_VALUES) {
1737
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1739
if (flags & NDR_IN) {
1740
ndr_print_struct(ndr, "in", "winreg_EnumValue");
1742
ndr_print_ptr(ndr, "handle", r->in.handle);
1744
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1746
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
1747
ndr_print_ptr(ndr, "name", r->in.name);
1749
ndr_print_winreg_ValNameBuf(ndr, "name", r->in.name);
1751
ndr_print_ptr(ndr, "type", r->in.type);
1754
ndr_print_winreg_Type(ndr, "type", *r->in.type);
1757
ndr_print_ptr(ndr, "value", r->in.value);
1760
if (r->in.length == NULL) return;
1761
ndr_print_array_uint8(ndr, "value", r->in.value, *r->in.length);
1764
ndr_print_ptr(ndr, "size", r->in.size);
1767
ndr_print_uint32(ndr, "size", *r->in.size);
1770
ndr_print_ptr(ndr, "length", r->in.length);
1773
ndr_print_uint32(ndr, "length", *r->in.length);
1778
if (flags & NDR_OUT) {
1779
ndr_print_struct(ndr, "out", "winreg_EnumValue");
1781
ndr_print_ptr(ndr, "name", r->out.name);
1783
ndr_print_winreg_ValNameBuf(ndr, "name", r->out.name);
1785
ndr_print_ptr(ndr, "type", r->out.type);
1788
ndr_print_winreg_Type(ndr, "type", *r->out.type);
1791
ndr_print_ptr(ndr, "value", r->out.value);
1794
if (r->out.length == NULL) return;
1795
ndr_print_array_uint8(ndr, "value", r->out.value, *r->out.length);
1798
ndr_print_ptr(ndr, "size", r->out.size);
1801
ndr_print_uint32(ndr, "size", *r->out.size);
1804
ndr_print_ptr(ndr, "length", r->out.length);
1806
if (r->out.length) {
1807
ndr_print_uint32(ndr, "length", *r->out.length);
1810
ndr_print_WERROR(ndr, "result", r->out.result);
1816
_PUBLIC_ enum ndr_err_code ndr_push_winreg_FlushKey(struct ndr_push *ndr, int flags, const struct winreg_FlushKey *r)
1818
if (flags & NDR_IN) {
1819
if (r->in.handle == NULL) {
1820
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1822
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1824
if (flags & NDR_OUT) {
1825
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1827
return NDR_ERR_SUCCESS;
1830
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_FlushKey(struct ndr_pull *ndr, int flags, struct winreg_FlushKey *r)
1832
TALLOC_CTX *_mem_save_handle_0;
1833
if (flags & NDR_IN) {
1834
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1835
NDR_PULL_ALLOC(ndr, r->in.handle);
1837
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1838
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1839
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1840
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1842
if (flags & NDR_OUT) {
1843
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1845
return NDR_ERR_SUCCESS;
1848
_PUBLIC_ void ndr_print_winreg_FlushKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_FlushKey *r)
1850
ndr_print_struct(ndr, name, "winreg_FlushKey");
1852
if (flags & NDR_SET_VALUES) {
1853
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1855
if (flags & NDR_IN) {
1856
ndr_print_struct(ndr, "in", "winreg_FlushKey");
1858
ndr_print_ptr(ndr, "handle", r->in.handle);
1860
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1864
if (flags & NDR_OUT) {
1865
ndr_print_struct(ndr, "out", "winreg_FlushKey");
1867
ndr_print_WERROR(ndr, "result", r->out.result);
1873
_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_GetKeySecurity *r)
1875
if (flags & NDR_IN) {
1876
if (r->in.handle == NULL) {
1877
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1879
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1880
NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
1881
if (r->in.sd == NULL) {
1882
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1884
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
1886
if (flags & NDR_OUT) {
1887
if (r->out.sd == NULL) {
1888
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1890
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd));
1891
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1893
return NDR_ERR_SUCCESS;
1896
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_GetKeySecurity *r)
1898
TALLOC_CTX *_mem_save_handle_0;
1899
TALLOC_CTX *_mem_save_sd_0;
1900
if (flags & NDR_IN) {
1901
ZERO_STRUCT(r->out);
1903
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1904
NDR_PULL_ALLOC(ndr, r->in.handle);
1906
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1907
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1908
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1909
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1910
NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
1911
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1912
NDR_PULL_ALLOC(ndr, r->in.sd);
1914
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
1915
NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC);
1916
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
1917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
1918
NDR_PULL_ALLOC(ndr, r->out.sd);
1919
*r->out.sd = *r->in.sd;
1921
if (flags & NDR_OUT) {
1922
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1923
NDR_PULL_ALLOC(ndr, r->out.sd);
1925
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
1926
NDR_PULL_SET_MEM_CTX(ndr, r->out.sd, LIBNDR_FLAG_REF_ALLOC);
1927
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd));
1928
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
1929
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1931
return NDR_ERR_SUCCESS;
1934
_PUBLIC_ void ndr_print_winreg_GetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetKeySecurity *r)
1936
ndr_print_struct(ndr, name, "winreg_GetKeySecurity");
1938
if (flags & NDR_SET_VALUES) {
1939
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1941
if (flags & NDR_IN) {
1942
ndr_print_struct(ndr, "in", "winreg_GetKeySecurity");
1944
ndr_print_ptr(ndr, "handle", r->in.handle);
1946
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1948
ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
1949
ndr_print_ptr(ndr, "sd", r->in.sd);
1951
ndr_print_KeySecurityData(ndr, "sd", r->in.sd);
1955
if (flags & NDR_OUT) {
1956
ndr_print_struct(ndr, "out", "winreg_GetKeySecurity");
1958
ndr_print_ptr(ndr, "sd", r->out.sd);
1960
ndr_print_KeySecurityData(ndr, "sd", r->out.sd);
1962
ndr_print_WERROR(ndr, "result", r->out.result);
1968
static enum ndr_err_code ndr_push_winreg_LoadKey(struct ndr_push *ndr, int flags, const struct winreg_LoadKey *r)
1970
if (flags & NDR_IN) {
1971
if (r->in.handle == NULL) {
1972
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1974
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1975
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyname));
1976
if (r->in.keyname) {
1977
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname));
1979
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.filename));
1980
if (r->in.filename) {
1981
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
1984
if (flags & NDR_OUT) {
1985
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1987
return NDR_ERR_SUCCESS;
1990
static enum ndr_err_code ndr_pull_winreg_LoadKey(struct ndr_pull *ndr, int flags, struct winreg_LoadKey *r)
1992
uint32_t _ptr_keyname;
1993
uint32_t _ptr_filename;
1994
TALLOC_CTX *_mem_save_handle_0;
1995
TALLOC_CTX *_mem_save_keyname_0;
1996
TALLOC_CTX *_mem_save_filename_0;
1997
if (flags & NDR_IN) {
1998
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1999
NDR_PULL_ALLOC(ndr, r->in.handle);
2001
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2002
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2003
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2004
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2005
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyname));
2007
NDR_PULL_ALLOC(ndr, r->in.keyname);
2009
r->in.keyname = NULL;
2011
if (r->in.keyname) {
2012
_mem_save_keyname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2013
NDR_PULL_SET_MEM_CTX(ndr, r->in.keyname, 0);
2014
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname));
2015
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyname_0, 0);
2017
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filename));
2018
if (_ptr_filename) {
2019
NDR_PULL_ALLOC(ndr, r->in.filename);
2021
r->in.filename = NULL;
2023
if (r->in.filename) {
2024
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2025
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, 0);
2026
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2027
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, 0);
2030
if (flags & NDR_OUT) {
2031
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2033
return NDR_ERR_SUCCESS;
2036
_PUBLIC_ void ndr_print_winreg_LoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_LoadKey *r)
2038
ndr_print_struct(ndr, name, "winreg_LoadKey");
2040
if (flags & NDR_SET_VALUES) {
2041
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2043
if (flags & NDR_IN) {
2044
ndr_print_struct(ndr, "in", "winreg_LoadKey");
2046
ndr_print_ptr(ndr, "handle", r->in.handle);
2048
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2050
ndr_print_ptr(ndr, "keyname", r->in.keyname);
2052
if (r->in.keyname) {
2053
ndr_print_winreg_String(ndr, "keyname", r->in.keyname);
2056
ndr_print_ptr(ndr, "filename", r->in.filename);
2058
if (r->in.filename) {
2059
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2064
if (flags & NDR_OUT) {
2065
ndr_print_struct(ndr, "out", "winreg_LoadKey");
2067
ndr_print_WERROR(ndr, "result", r->out.result);
2073
_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeKeyValue(struct ndr_push *ndr, int flags, const struct winreg_NotifyChangeKeyValue *r)
2075
if (flags & NDR_IN) {
2076
if (r->in.handle == NULL) {
2077
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2079
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2080
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.watch_subtree));
2081
NDR_CHECK(ndr_push_winreg_NotifyChangeType(ndr, NDR_SCALARS, r->in.notify_filter));
2082
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
2083
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1));
2084
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2));
2085
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
2087
if (flags & NDR_OUT) {
2088
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2090
return NDR_ERR_SUCCESS;
2093
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeKeyValue(struct ndr_pull *ndr, int flags, struct winreg_NotifyChangeKeyValue *r)
2095
TALLOC_CTX *_mem_save_handle_0;
2096
if (flags & NDR_IN) {
2097
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2098
NDR_PULL_ALLOC(ndr, r->in.handle);
2100
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2101
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2102
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2103
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2104
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.watch_subtree));
2105
NDR_CHECK(ndr_pull_winreg_NotifyChangeType(ndr, NDR_SCALARS, &r->in.notify_filter));
2106
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
2107
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1));
2108
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2));
2109
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
2111
if (flags & NDR_OUT) {
2112
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2114
return NDR_ERR_SUCCESS;
2117
_PUBLIC_ void ndr_print_winreg_NotifyChangeKeyValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_NotifyChangeKeyValue *r)
2119
ndr_print_struct(ndr, name, "winreg_NotifyChangeKeyValue");
2121
if (flags & NDR_SET_VALUES) {
2122
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2124
if (flags & NDR_IN) {
2125
ndr_print_struct(ndr, "in", "winreg_NotifyChangeKeyValue");
2127
ndr_print_ptr(ndr, "handle", r->in.handle);
2129
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2131
ndr_print_uint8(ndr, "watch_subtree", r->in.watch_subtree);
2132
ndr_print_winreg_NotifyChangeType(ndr, "notify_filter", r->in.notify_filter);
2133
ndr_print_uint32(ndr, "unknown", r->in.unknown);
2134
ndr_print_winreg_String(ndr, "string1", &r->in.string1);
2135
ndr_print_winreg_String(ndr, "string2", &r->in.string2);
2136
ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
2139
if (flags & NDR_OUT) {
2140
ndr_print_struct(ndr, "out", "winreg_NotifyChangeKeyValue");
2142
ndr_print_WERROR(ndr, "result", r->out.result);
2148
_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenKey(struct ndr_push *ndr, int flags, const struct winreg_OpenKey *r)
2150
if (flags & NDR_IN) {
2151
if (r->in.parent_handle == NULL) {
2152
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2154
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle));
2155
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname));
2156
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
2157
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
2159
if (flags & NDR_OUT) {
2160
if (r->out.handle == NULL) {
2161
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2163
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2164
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2166
return NDR_ERR_SUCCESS;
2169
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenKey(struct ndr_pull *ndr, int flags, struct winreg_OpenKey *r)
2171
TALLOC_CTX *_mem_save_parent_handle_0;
2172
TALLOC_CTX *_mem_save_handle_0;
2173
if (flags & NDR_IN) {
2174
ZERO_STRUCT(r->out);
2176
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2177
NDR_PULL_ALLOC(ndr, r->in.parent_handle);
2179
_mem_save_parent_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2180
NDR_PULL_SET_MEM_CTX(ndr, r->in.parent_handle, LIBNDR_FLAG_REF_ALLOC);
2181
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle));
2182
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_handle_0, LIBNDR_FLAG_REF_ALLOC);
2183
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname));
2184
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
2185
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
2186
NDR_PULL_ALLOC(ndr, r->out.handle);
2187
ZERO_STRUCTP(r->out.handle);
2189
if (flags & NDR_OUT) {
2190
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2191
NDR_PULL_ALLOC(ndr, r->out.handle);
2193
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2194
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
2195
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2196
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2197
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2199
return NDR_ERR_SUCCESS;
2202
_PUBLIC_ void ndr_print_winreg_OpenKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenKey *r)
2204
ndr_print_struct(ndr, name, "winreg_OpenKey");
2206
if (flags & NDR_SET_VALUES) {
2207
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2209
if (flags & NDR_IN) {
2210
ndr_print_struct(ndr, "in", "winreg_OpenKey");
2212
ndr_print_ptr(ndr, "parent_handle", r->in.parent_handle);
2214
ndr_print_policy_handle(ndr, "parent_handle", r->in.parent_handle);
2216
ndr_print_winreg_String(ndr, "keyname", &r->in.keyname);
2217
ndr_print_uint32(ndr, "unknown", r->in.unknown);
2218
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
2221
if (flags & NDR_OUT) {
2222
ndr_print_struct(ndr, "out", "winreg_OpenKey");
2224
ndr_print_ptr(ndr, "handle", r->out.handle);
2226
ndr_print_policy_handle(ndr, "handle", r->out.handle);
2228
ndr_print_WERROR(ndr, "result", r->out.result);
2234
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryInfoKey(struct ndr_push *ndr, int flags, const struct winreg_QueryInfoKey *r)
2236
if (flags & NDR_IN) {
2237
if (r->in.handle == NULL) {
2238
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2240
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2241
if (r->in.classname == NULL) {
2242
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2244
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname));
2246
if (flags & NDR_OUT) {
2247
if (r->out.classname == NULL) {
2248
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2250
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname));
2251
if (r->out.num_subkeys == NULL) {
2252
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2254
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_subkeys));
2255
if (r->out.max_subkeylen == NULL) {
2256
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2258
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_subkeylen));
2259
if (r->out.max_classlen == NULL) {
2260
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2262
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_classlen));
2263
if (r->out.num_values == NULL) {
2264
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2266
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_values));
2267
if (r->out.max_valnamelen == NULL) {
2268
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2270
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valnamelen));
2271
if (r->out.max_valbufsize == NULL) {
2272
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2274
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valbufsize));
2275
if (r->out.secdescsize == NULL) {
2276
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2278
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.secdescsize));
2279
if (r->out.last_changed_time == NULL) {
2280
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2282
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time));
2283
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2285
return NDR_ERR_SUCCESS;
2288
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryInfoKey(struct ndr_pull *ndr, int flags, struct winreg_QueryInfoKey *r)
2290
TALLOC_CTX *_mem_save_handle_0;
2291
TALLOC_CTX *_mem_save_classname_0;
2292
TALLOC_CTX *_mem_save_num_subkeys_0;
2293
TALLOC_CTX *_mem_save_max_subkeylen_0;
2294
TALLOC_CTX *_mem_save_max_classlen_0;
2295
TALLOC_CTX *_mem_save_num_values_0;
2296
TALLOC_CTX *_mem_save_max_valnamelen_0;
2297
TALLOC_CTX *_mem_save_max_valbufsize_0;
2298
TALLOC_CTX *_mem_save_secdescsize_0;
2299
TALLOC_CTX *_mem_save_last_changed_time_0;
2300
if (flags & NDR_IN) {
2301
ZERO_STRUCT(r->out);
2303
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2304
NDR_PULL_ALLOC(ndr, r->in.handle);
2306
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2307
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2308
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2309
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2310
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2311
NDR_PULL_ALLOC(ndr, r->in.classname);
2313
_mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2314
NDR_PULL_SET_MEM_CTX(ndr, r->in.classname, LIBNDR_FLAG_REF_ALLOC);
2315
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname));
2316
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC);
2317
NDR_PULL_ALLOC(ndr, r->out.classname);
2318
*r->out.classname = *r->in.classname;
2319
NDR_PULL_ALLOC(ndr, r->out.num_subkeys);
2320
ZERO_STRUCTP(r->out.num_subkeys);
2321
NDR_PULL_ALLOC(ndr, r->out.max_subkeylen);
2322
ZERO_STRUCTP(r->out.max_subkeylen);
2323
NDR_PULL_ALLOC(ndr, r->out.max_classlen);
2324
ZERO_STRUCTP(r->out.max_classlen);
2325
NDR_PULL_ALLOC(ndr, r->out.num_values);
2326
ZERO_STRUCTP(r->out.num_values);
2327
NDR_PULL_ALLOC(ndr, r->out.max_valnamelen);
2328
ZERO_STRUCTP(r->out.max_valnamelen);
2329
NDR_PULL_ALLOC(ndr, r->out.max_valbufsize);
2330
ZERO_STRUCTP(r->out.max_valbufsize);
2331
NDR_PULL_ALLOC(ndr, r->out.secdescsize);
2332
ZERO_STRUCTP(r->out.secdescsize);
2333
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
2334
ZERO_STRUCTP(r->out.last_changed_time);
2336
if (flags & NDR_OUT) {
2337
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2338
NDR_PULL_ALLOC(ndr, r->out.classname);
2340
_mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2341
NDR_PULL_SET_MEM_CTX(ndr, r->out.classname, LIBNDR_FLAG_REF_ALLOC);
2342
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname));
2343
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC);
2344
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2345
NDR_PULL_ALLOC(ndr, r->out.num_subkeys);
2347
_mem_save_num_subkeys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2348
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_subkeys, LIBNDR_FLAG_REF_ALLOC);
2349
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_subkeys));
2350
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_subkeys_0, LIBNDR_FLAG_REF_ALLOC);
2351
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2352
NDR_PULL_ALLOC(ndr, r->out.max_subkeylen);
2354
_mem_save_max_subkeylen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2355
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_subkeylen, LIBNDR_FLAG_REF_ALLOC);
2356
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_subkeylen));
2357
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_subkeylen_0, LIBNDR_FLAG_REF_ALLOC);
2358
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2359
NDR_PULL_ALLOC(ndr, r->out.max_classlen);
2361
_mem_save_max_classlen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2362
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_classlen, LIBNDR_FLAG_REF_ALLOC);
2363
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_classlen));
2364
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_classlen_0, LIBNDR_FLAG_REF_ALLOC);
2365
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2366
NDR_PULL_ALLOC(ndr, r->out.num_values);
2368
_mem_save_num_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2369
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_values, LIBNDR_FLAG_REF_ALLOC);
2370
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_values));
2371
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_values_0, LIBNDR_FLAG_REF_ALLOC);
2372
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2373
NDR_PULL_ALLOC(ndr, r->out.max_valnamelen);
2375
_mem_save_max_valnamelen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2376
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valnamelen, LIBNDR_FLAG_REF_ALLOC);
2377
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valnamelen));
2378
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valnamelen_0, LIBNDR_FLAG_REF_ALLOC);
2379
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2380
NDR_PULL_ALLOC(ndr, r->out.max_valbufsize);
2382
_mem_save_max_valbufsize_0 = NDR_PULL_GET_MEM_CTX(ndr);
2383
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valbufsize, LIBNDR_FLAG_REF_ALLOC);
2384
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valbufsize));
2385
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valbufsize_0, LIBNDR_FLAG_REF_ALLOC);
2386
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2387
NDR_PULL_ALLOC(ndr, r->out.secdescsize);
2389
_mem_save_secdescsize_0 = NDR_PULL_GET_MEM_CTX(ndr);
2390
NDR_PULL_SET_MEM_CTX(ndr, r->out.secdescsize, LIBNDR_FLAG_REF_ALLOC);
2391
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.secdescsize));
2392
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdescsize_0, LIBNDR_FLAG_REF_ALLOC);
2393
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2394
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
2396
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
2397
NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, LIBNDR_FLAG_REF_ALLOC);
2398
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time));
2399
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, LIBNDR_FLAG_REF_ALLOC);
2400
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2402
return NDR_ERR_SUCCESS;
2405
_PUBLIC_ void ndr_print_winreg_QueryInfoKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryInfoKey *r)
2407
ndr_print_struct(ndr, name, "winreg_QueryInfoKey");
2409
if (flags & NDR_SET_VALUES) {
2410
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2412
if (flags & NDR_IN) {
2413
ndr_print_struct(ndr, "in", "winreg_QueryInfoKey");
2415
ndr_print_ptr(ndr, "handle", r->in.handle);
2417
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2419
ndr_print_ptr(ndr, "classname", r->in.classname);
2421
ndr_print_winreg_String(ndr, "classname", r->in.classname);
2425
if (flags & NDR_OUT) {
2426
ndr_print_struct(ndr, "out", "winreg_QueryInfoKey");
2428
ndr_print_ptr(ndr, "classname", r->out.classname);
2430
ndr_print_winreg_String(ndr, "classname", r->out.classname);
2432
ndr_print_ptr(ndr, "num_subkeys", r->out.num_subkeys);
2434
ndr_print_uint32(ndr, "num_subkeys", *r->out.num_subkeys);
2436
ndr_print_ptr(ndr, "max_subkeylen", r->out.max_subkeylen);
2438
ndr_print_uint32(ndr, "max_subkeylen", *r->out.max_subkeylen);
2440
ndr_print_ptr(ndr, "max_classlen", r->out.max_classlen);
2442
ndr_print_uint32(ndr, "max_classlen", *r->out.max_classlen);
2444
ndr_print_ptr(ndr, "num_values", r->out.num_values);
2446
ndr_print_uint32(ndr, "num_values", *r->out.num_values);
2448
ndr_print_ptr(ndr, "max_valnamelen", r->out.max_valnamelen);
2450
ndr_print_uint32(ndr, "max_valnamelen", *r->out.max_valnamelen);
2452
ndr_print_ptr(ndr, "max_valbufsize", r->out.max_valbufsize);
2454
ndr_print_uint32(ndr, "max_valbufsize", *r->out.max_valbufsize);
2456
ndr_print_ptr(ndr, "secdescsize", r->out.secdescsize);
2458
ndr_print_uint32(ndr, "secdescsize", *r->out.secdescsize);
2460
ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time);
2462
ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time);
2464
ndr_print_WERROR(ndr, "result", r->out.result);
2470
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryValue(struct ndr_push *ndr, int flags, const struct winreg_QueryValue *r)
2472
if (flags & NDR_IN) {
2473
if (r->in.handle == NULL) {
2474
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2476
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2477
if (r->in.value_name == NULL) {
2478
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2480
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name));
2481
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type));
2483
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type));
2485
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data));
2487
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_size?*r->in.data_size:0));
2488
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2489
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.data_length?*r->in.data_length:0));
2490
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.data_length?*r->in.data_length:0));
2492
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_size));
2493
if (r->in.data_size) {
2494
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_size));
2496
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_length));
2497
if (r->in.data_length) {
2498
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_length));
2501
if (flags & NDR_OUT) {
2502
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type));
2504
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
2506
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data));
2508
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->out.data_size?*r->out.data_size:0));
2509
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2510
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->out.data_length?*r->out.data_length:0));
2511
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, r->out.data_length?*r->out.data_length:0));
2513
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_size));
2514
if (r->out.data_size) {
2515
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_size));
2517
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_length));
2518
if (r->out.data_length) {
2519
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_length));
2521
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2523
return NDR_ERR_SUCCESS;
2526
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int flags, struct winreg_QueryValue *r)
2530
uint32_t _ptr_data_size;
2531
uint32_t _ptr_data_length;
2532
TALLOC_CTX *_mem_save_handle_0;
2533
TALLOC_CTX *_mem_save_value_name_0;
2534
TALLOC_CTX *_mem_save_type_0;
2535
TALLOC_CTX *_mem_save_data_0;
2536
TALLOC_CTX *_mem_save_data_size_0;
2537
TALLOC_CTX *_mem_save_data_length_0;
2538
if (flags & NDR_IN) {
2539
ZERO_STRUCT(r->out);
2541
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2542
NDR_PULL_ALLOC(ndr, r->in.handle);
2544
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2545
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2546
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2547
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2548
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2549
NDR_PULL_ALLOC(ndr, r->in.value_name);
2551
_mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2552
NDR_PULL_SET_MEM_CTX(ndr, r->in.value_name, LIBNDR_FLAG_REF_ALLOC);
2553
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name));
2554
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, LIBNDR_FLAG_REF_ALLOC);
2555
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
2557
NDR_PULL_ALLOC(ndr, r->in.type);
2562
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
2563
NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0);
2564
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type));
2565
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
2567
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2569
NDR_PULL_ALLOC(ndr, r->in.data);
2574
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2575
NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0);
2576
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
2577
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data));
2578
if (ndr_get_array_length(ndr, &r->in.data) > ndr_get_array_size(ndr, &r->in.data)) {
2579
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));
2581
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
2582
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_length(ndr, &r->in.data)));
2583
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2585
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
2586
if (_ptr_data_size) {
2587
NDR_PULL_ALLOC(ndr, r->in.data_size);
2589
r->in.data_size = NULL;
2591
if (r->in.data_size) {
2592
_mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
2593
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_size, 0);
2594
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_size));
2595
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0);
2597
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length));
2598
if (_ptr_data_length) {
2599
NDR_PULL_ALLOC(ndr, r->in.data_length);
2601
r->in.data_length = NULL;
2603
if (r->in.data_length) {
2604
_mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
2605
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_length, 0);
2606
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_length));
2607
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0);
2610
if (r->in.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
2611
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.data_size?*r->in.data_size:0));
2614
if (r->in.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
2615
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.data, r->in.data_length?*r->in.data_length:0));
2618
if (flags & NDR_OUT) {
2619
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
2621
NDR_PULL_ALLOC(ndr, r->out.type);
2626
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
2627
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0);
2628
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
2629
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
2631
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2633
NDR_PULL_ALLOC(ndr, r->out.data);
2638
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2639
NDR_PULL_SET_MEM_CTX(ndr, r->out.data, 0);
2640
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
2641
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.data));
2642
if (ndr_get_array_length(ndr, &r->out.data) > ndr_get_array_size(ndr, &r->out.data)) {
2643
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));
2645
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
2646
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_length(ndr, &r->out.data)));
2647
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2649
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
2650
if (_ptr_data_size) {
2651
NDR_PULL_ALLOC(ndr, r->out.data_size);
2653
r->out.data_size = NULL;
2655
if (r->out.data_size) {
2656
_mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
2657
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_size, 0);
2658
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_size));
2659
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0);
2661
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length));
2662
if (_ptr_data_length) {
2663
NDR_PULL_ALLOC(ndr, r->out.data_length);
2665
r->out.data_length = NULL;
2667
if (r->out.data_length) {
2668
_mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
2669
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_length, 0);
2670
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_length));
2671
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0);
2673
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2675
if (r->out.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
2676
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, r->out.data_size?*r->out.data_size:0));
2679
if (r->out.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
2680
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.data, r->out.data_length?*r->out.data_length:0));
2683
return NDR_ERR_SUCCESS;
2686
_PUBLIC_ void ndr_print_winreg_QueryValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryValue *r)
2688
ndr_print_struct(ndr, name, "winreg_QueryValue");
2690
if (flags & NDR_SET_VALUES) {
2691
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2693
if (flags & NDR_IN) {
2694
ndr_print_struct(ndr, "in", "winreg_QueryValue");
2696
ndr_print_ptr(ndr, "handle", r->in.handle);
2698
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2700
ndr_print_ptr(ndr, "value_name", r->in.value_name);
2702
ndr_print_winreg_String(ndr, "value_name", r->in.value_name);
2704
ndr_print_ptr(ndr, "type", r->in.type);
2707
ndr_print_winreg_Type(ndr, "type", *r->in.type);
2710
ndr_print_ptr(ndr, "data", r->in.data);
2713
if (r->in.data_length == NULL) return;
2714
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.data_length?*r->in.data_length:0);
2717
ndr_print_ptr(ndr, "data_size", r->in.data_size);
2719
if (r->in.data_size) {
2720
ndr_print_uint32(ndr, "data_size", *r->in.data_size);
2723
ndr_print_ptr(ndr, "data_length", r->in.data_length);
2725
if (r->in.data_length) {
2726
ndr_print_uint32(ndr, "data_length", *r->in.data_length);
2731
if (flags & NDR_OUT) {
2732
ndr_print_struct(ndr, "out", "winreg_QueryValue");
2734
ndr_print_ptr(ndr, "type", r->out.type);
2737
ndr_print_winreg_Type(ndr, "type", *r->out.type);
2740
ndr_print_ptr(ndr, "data", r->out.data);
2743
if (r->out.data_length == NULL) return;
2744
ndr_print_array_uint8(ndr, "data", r->out.data, r->out.data_length?*r->out.data_length:0);
2747
ndr_print_ptr(ndr, "data_size", r->out.data_size);
2749
if (r->out.data_size) {
2750
ndr_print_uint32(ndr, "data_size", *r->out.data_size);
2753
ndr_print_ptr(ndr, "data_length", r->out.data_length);
2755
if (r->out.data_length) {
2756
ndr_print_uint32(ndr, "data_length", *r->out.data_length);
2759
ndr_print_WERROR(ndr, "result", r->out.result);
2765
static enum ndr_err_code ndr_push_winreg_ReplaceKey(struct ndr_push *ndr, int flags, const struct winreg_ReplaceKey *r)
2767
if (flags & NDR_IN) {
2769
if (flags & NDR_OUT) {
2770
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2772
return NDR_ERR_SUCCESS;
2775
static enum ndr_err_code ndr_pull_winreg_ReplaceKey(struct ndr_pull *ndr, int flags, struct winreg_ReplaceKey *r)
2777
if (flags & NDR_IN) {
2779
if (flags & NDR_OUT) {
2780
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2782
return NDR_ERR_SUCCESS;
2785
_PUBLIC_ void ndr_print_winreg_ReplaceKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_ReplaceKey *r)
2787
ndr_print_struct(ndr, name, "winreg_ReplaceKey");
2789
if (flags & NDR_SET_VALUES) {
2790
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2792
if (flags & NDR_IN) {
2793
ndr_print_struct(ndr, "in", "winreg_ReplaceKey");
2797
if (flags & NDR_OUT) {
2798
ndr_print_struct(ndr, "out", "winreg_ReplaceKey");
2800
ndr_print_WERROR(ndr, "result", r->out.result);
2806
static enum ndr_err_code ndr_push_winreg_RestoreKey(struct ndr_push *ndr, int flags, const struct winreg_RestoreKey *r)
2808
if (flags & NDR_IN) {
2809
if (r->in.handle == NULL) {
2810
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2812
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2813
if (r->in.filename == NULL) {
2814
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2816
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2817
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
2819
if (flags & NDR_OUT) {
2820
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2822
return NDR_ERR_SUCCESS;
2825
static enum ndr_err_code ndr_pull_winreg_RestoreKey(struct ndr_pull *ndr, int flags, struct winreg_RestoreKey *r)
2827
TALLOC_CTX *_mem_save_handle_0;
2828
TALLOC_CTX *_mem_save_filename_0;
2829
if (flags & NDR_IN) {
2830
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2831
NDR_PULL_ALLOC(ndr, r->in.handle);
2833
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2834
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2835
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2836
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2837
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2838
NDR_PULL_ALLOC(ndr, r->in.filename);
2840
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2841
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC);
2842
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2843
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC);
2844
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
2846
if (flags & NDR_OUT) {
2847
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2849
return NDR_ERR_SUCCESS;
2852
_PUBLIC_ void ndr_print_winreg_RestoreKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_RestoreKey *r)
2854
ndr_print_struct(ndr, name, "winreg_RestoreKey");
2856
if (flags & NDR_SET_VALUES) {
2857
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2859
if (flags & NDR_IN) {
2860
ndr_print_struct(ndr, "in", "winreg_RestoreKey");
2862
ndr_print_ptr(ndr, "handle", r->in.handle);
2864
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2866
ndr_print_ptr(ndr, "filename", r->in.filename);
2868
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2870
ndr_print_uint32(ndr, "flags", r->in.flags);
2873
if (flags & NDR_OUT) {
2874
ndr_print_struct(ndr, "out", "winreg_RestoreKey");
2876
ndr_print_WERROR(ndr, "result", r->out.result);
2882
static enum ndr_err_code ndr_push_winreg_SaveKey(struct ndr_push *ndr, int flags, const struct winreg_SaveKey *r)
2884
if (flags & NDR_IN) {
2885
if (r->in.handle == NULL) {
2886
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2888
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2889
if (r->in.filename == NULL) {
2890
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2892
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2893
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sec_attrib));
2894
if (r->in.sec_attrib) {
2895
NDR_CHECK(ndr_push_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib));
2898
if (flags & NDR_OUT) {
2899
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2901
return NDR_ERR_SUCCESS;
2904
static enum ndr_err_code ndr_pull_winreg_SaveKey(struct ndr_pull *ndr, int flags, struct winreg_SaveKey *r)
2906
uint32_t _ptr_sec_attrib;
2907
TALLOC_CTX *_mem_save_handle_0;
2908
TALLOC_CTX *_mem_save_filename_0;
2909
TALLOC_CTX *_mem_save_sec_attrib_0;
2910
if (flags & NDR_IN) {
2911
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2912
NDR_PULL_ALLOC(ndr, r->in.handle);
2914
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2915
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2916
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2917
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2918
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2919
NDR_PULL_ALLOC(ndr, r->in.filename);
2921
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2922
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC);
2923
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2924
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC);
2925
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_attrib));
2926
if (_ptr_sec_attrib) {
2927
NDR_PULL_ALLOC(ndr, r->in.sec_attrib);
2929
r->in.sec_attrib = NULL;
2931
if (r->in.sec_attrib) {
2932
_mem_save_sec_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
2933
NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_attrib, 0);
2934
NDR_CHECK(ndr_pull_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib));
2935
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_attrib_0, 0);
2938
if (flags & NDR_OUT) {
2939
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2941
return NDR_ERR_SUCCESS;
2944
_PUBLIC_ void ndr_print_winreg_SaveKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKey *r)
2946
ndr_print_struct(ndr, name, "winreg_SaveKey");
2948
if (flags & NDR_SET_VALUES) {
2949
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2951
if (flags & NDR_IN) {
2952
ndr_print_struct(ndr, "in", "winreg_SaveKey");
2954
ndr_print_ptr(ndr, "handle", r->in.handle);
2956
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2958
ndr_print_ptr(ndr, "filename", r->in.filename);
2960
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2962
ndr_print_ptr(ndr, "sec_attrib", r->in.sec_attrib);
2964
if (r->in.sec_attrib) {
2965
ndr_print_KeySecurityAttribute(ndr, "sec_attrib", r->in.sec_attrib);
2970
if (flags & NDR_OUT) {
2971
ndr_print_struct(ndr, "out", "winreg_SaveKey");
2973
ndr_print_WERROR(ndr, "result", r->out.result);
2979
static enum ndr_err_code ndr_push_winreg_SetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_SetKeySecurity *r)
2981
if (flags & NDR_IN) {
2982
if (r->in.handle == NULL) {
2983
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2985
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2986
NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
2987
if (r->in.sd == NULL) {
2988
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2990
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
2992
if (flags & NDR_OUT) {
2993
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2995
return NDR_ERR_SUCCESS;
2998
static enum ndr_err_code ndr_pull_winreg_SetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_SetKeySecurity *r)
3000
TALLOC_CTX *_mem_save_handle_0;
3001
TALLOC_CTX *_mem_save_sd_0;
3002
if (flags & NDR_IN) {
3003
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3004
NDR_PULL_ALLOC(ndr, r->in.handle);
3006
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3007
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3008
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3009
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3010
NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
3011
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3012
NDR_PULL_ALLOC(ndr, r->in.sd);
3014
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
3015
NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC);
3016
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
3017
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
3019
if (flags & NDR_OUT) {
3020
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3022
return NDR_ERR_SUCCESS;
3025
_PUBLIC_ void ndr_print_winreg_SetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetKeySecurity *r)
3027
ndr_print_struct(ndr, name, "winreg_SetKeySecurity");
3029
if (flags & NDR_SET_VALUES) {
3030
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3032
if (flags & NDR_IN) {
3033
ndr_print_struct(ndr, "in", "winreg_SetKeySecurity");
3035
ndr_print_ptr(ndr, "handle", r->in.handle);
3037
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3039
ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
3040
ndr_print_ptr(ndr, "sd", r->in.sd);
3042
ndr_print_KeySecurityData(ndr, "sd", r->in.sd);
3046
if (flags & NDR_OUT) {
3047
ndr_print_struct(ndr, "out", "winreg_SetKeySecurity");
3049
ndr_print_WERROR(ndr, "result", r->out.result);
3055
static enum ndr_err_code ndr_push_winreg_SetValue(struct ndr_push *ndr, int flags, const struct winreg_SetValue *r)
3057
if (flags & NDR_IN) {
3058
if (r->in.handle == NULL) {
3059
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3061
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3062
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
3063
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
3064
if (r->in.data == NULL) {
3065
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3067
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.size));
3068
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.size));
3069
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size));
3071
if (flags & NDR_OUT) {
3072
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3074
return NDR_ERR_SUCCESS;
3077
static enum ndr_err_code ndr_pull_winreg_SetValue(struct ndr_pull *ndr, int flags, struct winreg_SetValue *r)
3079
TALLOC_CTX *_mem_save_handle_0;
3080
if (flags & NDR_IN) {
3081
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3082
NDR_PULL_ALLOC(ndr, r->in.handle);
3084
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3085
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3086
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3087
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3088
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
3089
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
3090
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
3091
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3092
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
3094
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
3095
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size));
3097
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.size));
3100
if (flags & NDR_OUT) {
3101
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3103
return NDR_ERR_SUCCESS;
3106
_PUBLIC_ void ndr_print_winreg_SetValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetValue *r)
3108
ndr_print_struct(ndr, name, "winreg_SetValue");
3110
if (flags & NDR_SET_VALUES) {
3111
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3113
if (flags & NDR_IN) {
3114
ndr_print_struct(ndr, "in", "winreg_SetValue");
3116
ndr_print_ptr(ndr, "handle", r->in.handle);
3118
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3120
ndr_print_winreg_String(ndr, "name", &r->in.name);
3121
ndr_print_winreg_Type(ndr, "type", r->in.type);
3122
ndr_print_ptr(ndr, "data", r->in.data);
3124
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.size);
3126
ndr_print_uint32(ndr, "size", r->in.size);
3129
if (flags & NDR_OUT) {
3130
ndr_print_struct(ndr, "out", "winreg_SetValue");
3132
ndr_print_WERROR(ndr, "result", r->out.result);
3138
static enum ndr_err_code ndr_push_winreg_UnLoadKey(struct ndr_push *ndr, int flags, const struct winreg_UnLoadKey *r)
3140
if (flags & NDR_IN) {
3142
if (flags & NDR_OUT) {
3143
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3145
return NDR_ERR_SUCCESS;
3148
static enum ndr_err_code ndr_pull_winreg_UnLoadKey(struct ndr_pull *ndr, int flags, struct winreg_UnLoadKey *r)
3150
if (flags & NDR_IN) {
3152
if (flags & NDR_OUT) {
3153
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3155
return NDR_ERR_SUCCESS;
3158
_PUBLIC_ void ndr_print_winreg_UnLoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_UnLoadKey *r)
3160
ndr_print_struct(ndr, name, "winreg_UnLoadKey");
3162
if (flags & NDR_SET_VALUES) {
3163
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3165
if (flags & NDR_IN) {
3166
ndr_print_struct(ndr, "in", "winreg_UnLoadKey");
3170
if (flags & NDR_OUT) {
3171
ndr_print_struct(ndr, "out", "winreg_UnLoadKey");
3173
ndr_print_WERROR(ndr, "result", r->out.result);
3179
static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdown *r)
3181
if (flags & NDR_IN) {
3182
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname));
3183
if (r->in.hostname) {
3184
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname));
3186
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message));
3187
if (r->in.message) {
3188
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3190
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout));
3191
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps));
3192
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot));
3194
if (flags & NDR_OUT) {
3195
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3197
return NDR_ERR_SUCCESS;
3200
static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdown *r)
3202
uint32_t _ptr_hostname;
3203
uint32_t _ptr_message;
3204
TALLOC_CTX *_mem_save_hostname_0;
3205
TALLOC_CTX *_mem_save_message_0;
3206
if (flags & NDR_IN) {
3207
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname));
3208
if (_ptr_hostname) {
3209
NDR_PULL_ALLOC(ndr, r->in.hostname);
3211
r->in.hostname = NULL;
3213
if (r->in.hostname) {
3214
_mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3215
NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0);
3216
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname));
3217
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0);
3219
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message));
3221
NDR_PULL_ALLOC(ndr, r->in.message);
3223
r->in.message = NULL;
3225
if (r->in.message) {
3226
_mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr);
3227
NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0);
3228
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3229
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0);
3231
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout));
3232
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps));
3233
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot));
3235
if (flags & NDR_OUT) {
3236
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3238
return NDR_ERR_SUCCESS;
3241
_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdown *r)
3243
ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdown");
3245
if (flags & NDR_SET_VALUES) {
3246
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3248
if (flags & NDR_IN) {
3249
ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdown");
3251
ndr_print_ptr(ndr, "hostname", r->in.hostname);
3253
if (r->in.hostname) {
3254
ndr_print_uint16(ndr, "hostname", *r->in.hostname);
3257
ndr_print_ptr(ndr, "message", r->in.message);
3259
if (r->in.message) {
3260
ndr_print_lsa_StringLarge(ndr, "message", r->in.message);
3263
ndr_print_uint32(ndr, "timeout", r->in.timeout);
3264
ndr_print_uint8(ndr, "force_apps", r->in.force_apps);
3265
ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot);
3268
if (flags & NDR_OUT) {
3269
ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdown");
3271
ndr_print_WERROR(ndr, "result", r->out.result);
3277
static enum ndr_err_code ndr_push_winreg_AbortSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_AbortSystemShutdown *r)
3279
if (flags & NDR_IN) {
3280
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
3282
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.server));
3285
if (flags & NDR_OUT) {
3286
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3288
return NDR_ERR_SUCCESS;
3291
static enum ndr_err_code ndr_pull_winreg_AbortSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_AbortSystemShutdown *r)
3293
uint32_t _ptr_server;
3294
TALLOC_CTX *_mem_save_server_0;
3295
if (flags & NDR_IN) {
3296
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
3298
NDR_PULL_ALLOC(ndr, r->in.server);
3300
r->in.server = NULL;
3303
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
3304
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
3305
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.server));
3306
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
3309
if (flags & NDR_OUT) {
3310
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3312
return NDR_ERR_SUCCESS;
3315
_PUBLIC_ void ndr_print_winreg_AbortSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_AbortSystemShutdown *r)
3317
ndr_print_struct(ndr, name, "winreg_AbortSystemShutdown");
3319
if (flags & NDR_SET_VALUES) {
3320
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3322
if (flags & NDR_IN) {
3323
ndr_print_struct(ndr, "in", "winreg_AbortSystemShutdown");
3325
ndr_print_ptr(ndr, "server", r->in.server);
3328
ndr_print_uint16(ndr, "server", *r->in.server);
3333
if (flags & NDR_OUT) {
3334
ndr_print_struct(ndr, "out", "winreg_AbortSystemShutdown");
3336
ndr_print_WERROR(ndr, "result", r->out.result);
3342
_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetVersion(struct ndr_push *ndr, int flags, const struct winreg_GetVersion *r)
3344
if (flags & NDR_IN) {
3345
if (r->in.handle == NULL) {
3346
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3348
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3350
if (flags & NDR_OUT) {
3351
if (r->out.version == NULL) {
3352
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3354
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.version));
3355
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3357
return NDR_ERR_SUCCESS;
3360
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetVersion(struct ndr_pull *ndr, int flags, struct winreg_GetVersion *r)
3362
TALLOC_CTX *_mem_save_handle_0;
3363
TALLOC_CTX *_mem_save_version_0;
3364
if (flags & NDR_IN) {
3365
ZERO_STRUCT(r->out);
3367
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3368
NDR_PULL_ALLOC(ndr, r->in.handle);
3370
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3371
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3372
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3373
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3374
NDR_PULL_ALLOC(ndr, r->out.version);
3375
ZERO_STRUCTP(r->out.version);
3377
if (flags & NDR_OUT) {
3378
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3379
NDR_PULL_ALLOC(ndr, r->out.version);
3381
_mem_save_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
3382
NDR_PULL_SET_MEM_CTX(ndr, r->out.version, LIBNDR_FLAG_REF_ALLOC);
3383
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.version));
3384
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_version_0, LIBNDR_FLAG_REF_ALLOC);
3385
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3387
return NDR_ERR_SUCCESS;
3390
_PUBLIC_ void ndr_print_winreg_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetVersion *r)
3392
ndr_print_struct(ndr, name, "winreg_GetVersion");
3394
if (flags & NDR_SET_VALUES) {
3395
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3397
if (flags & NDR_IN) {
3398
ndr_print_struct(ndr, "in", "winreg_GetVersion");
3400
ndr_print_ptr(ndr, "handle", r->in.handle);
3402
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3406
if (flags & NDR_OUT) {
3407
ndr_print_struct(ndr, "out", "winreg_GetVersion");
3409
ndr_print_ptr(ndr, "version", r->out.version);
3411
ndr_print_uint32(ndr, "version", *r->out.version);
3413
ndr_print_WERROR(ndr, "result", r->out.result);
3419
static enum ndr_err_code ndr_push_winreg_OpenHKCC(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCC *r)
3421
if (flags & NDR_IN) {
3422
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
3423
if (r->in.system_name) {
3424
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
3426
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
3428
if (flags & NDR_OUT) {
3429
if (r->out.handle == NULL) {
3430
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3432
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3433
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3435
return NDR_ERR_SUCCESS;
3438
static enum ndr_err_code ndr_pull_winreg_OpenHKCC(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCC *r)
3440
uint32_t _ptr_system_name;
3441
TALLOC_CTX *_mem_save_system_name_0;
3442
TALLOC_CTX *_mem_save_handle_0;
3443
if (flags & NDR_IN) {
3444
ZERO_STRUCT(r->out);
3446
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
3447
if (_ptr_system_name) {
3448
NDR_PULL_ALLOC(ndr, r->in.system_name);
3450
r->in.system_name = NULL;
3452
if (r->in.system_name) {
3453
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3454
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
3455
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
3456
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
3458
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
3459
NDR_PULL_ALLOC(ndr, r->out.handle);
3460
ZERO_STRUCTP(r->out.handle);
3462
if (flags & NDR_OUT) {
3463
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3464
NDR_PULL_ALLOC(ndr, r->out.handle);
3466
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3467
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
3468
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3469
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3470
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3472
return NDR_ERR_SUCCESS;
3475
_PUBLIC_ void ndr_print_winreg_OpenHKCC(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCC *r)
3477
ndr_print_struct(ndr, name, "winreg_OpenHKCC");
3479
if (flags & NDR_SET_VALUES) {
3480
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3482
if (flags & NDR_IN) {
3483
ndr_print_struct(ndr, "in", "winreg_OpenHKCC");
3485
ndr_print_ptr(ndr, "system_name", r->in.system_name);
3487
if (r->in.system_name) {
3488
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
3491
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
3494
if (flags & NDR_OUT) {
3495
ndr_print_struct(ndr, "out", "winreg_OpenHKCC");
3497
ndr_print_ptr(ndr, "handle", r->out.handle);
3499
ndr_print_policy_handle(ndr, "handle", r->out.handle);
3501
ndr_print_WERROR(ndr, "result", r->out.result);
3507
static enum ndr_err_code ndr_push_winreg_OpenHKDD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKDD *r)
3509
if (flags & NDR_IN) {
3510
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
3511
if (r->in.system_name) {
3512
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
3514
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
3516
if (flags & NDR_OUT) {
3517
if (r->out.handle == NULL) {
3518
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3520
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3521
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3523
return NDR_ERR_SUCCESS;
3526
static enum ndr_err_code ndr_pull_winreg_OpenHKDD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKDD *r)
3528
uint32_t _ptr_system_name;
3529
TALLOC_CTX *_mem_save_system_name_0;
3530
TALLOC_CTX *_mem_save_handle_0;
3531
if (flags & NDR_IN) {
3532
ZERO_STRUCT(r->out);
3534
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
3535
if (_ptr_system_name) {
3536
NDR_PULL_ALLOC(ndr, r->in.system_name);
3538
r->in.system_name = NULL;
3540
if (r->in.system_name) {
3541
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3542
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
3543
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
3544
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
3546
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
3547
NDR_PULL_ALLOC(ndr, r->out.handle);
3548
ZERO_STRUCTP(r->out.handle);
3550
if (flags & NDR_OUT) {
3551
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3552
NDR_PULL_ALLOC(ndr, r->out.handle);
3554
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3555
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
3556
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3557
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3558
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3560
return NDR_ERR_SUCCESS;
3563
_PUBLIC_ void ndr_print_winreg_OpenHKDD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKDD *r)
3565
ndr_print_struct(ndr, name, "winreg_OpenHKDD");
3567
if (flags & NDR_SET_VALUES) {
3568
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3570
if (flags & NDR_IN) {
3571
ndr_print_struct(ndr, "in", "winreg_OpenHKDD");
3573
ndr_print_ptr(ndr, "system_name", r->in.system_name);
3575
if (r->in.system_name) {
3576
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
3579
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
3582
if (flags & NDR_OUT) {
3583
ndr_print_struct(ndr, "out", "winreg_OpenHKDD");
3585
ndr_print_ptr(ndr, "handle", r->out.handle);
3587
ndr_print_policy_handle(ndr, "handle", r->out.handle);
3589
ndr_print_WERROR(ndr, "result", r->out.result);
3595
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryMultipleValues(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues *r)
3597
uint32_t cntr_values_1;
3598
if (flags & NDR_IN) {
3599
if (r->in.key_handle == NULL) {
3600
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3602
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.key_handle));
3603
if (r->in.values == NULL) {
3604
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3606
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values));
3607
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3608
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values));
3609
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3610
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1]));
3612
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3613
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1]));
3615
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3616
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
3618
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.buffer_size));
3619
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3620
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->in.buffer_size));
3621
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, *r->in.buffer_size));
3623
if (r->in.buffer_size == NULL) {
3624
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3626
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size));
3628
if (flags & NDR_OUT) {
3629
if (r->out.values == NULL) {
3630
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3632
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values));
3633
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3634
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_values));
3635
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3636
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1]));
3638
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3639
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1]));
3641
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer));
3642
if (r->out.buffer) {
3643
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size));
3644
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
3645
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, *r->out.buffer_size));
3646
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, *r->out.buffer_size));
3648
if (r->out.buffer_size == NULL) {
3649
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3651
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size));
3652
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3654
return NDR_ERR_SUCCESS;
3657
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues *r)
3659
uint32_t cntr_values_1;
3660
uint32_t _ptr_buffer;
3661
TALLOC_CTX *_mem_save_key_handle_0;
3662
TALLOC_CTX *_mem_save_values_1;
3663
TALLOC_CTX *_mem_save_buffer_0;
3664
TALLOC_CTX *_mem_save_buffer_size_0;
3665
if (flags & NDR_IN) {
3666
ZERO_STRUCT(r->out);
3668
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3669
NDR_PULL_ALLOC(ndr, r->in.key_handle);
3671
_mem_save_key_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3672
NDR_PULL_SET_MEM_CTX(ndr, r->in.key_handle, LIBNDR_FLAG_REF_ALLOC);
3673
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.key_handle));
3674
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_handle_0, LIBNDR_FLAG_REF_ALLOC);
3675
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.values));
3676
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.values));
3677
if (ndr_get_array_length(ndr, &r->in.values) > ndr_get_array_size(ndr, &r->in.values)) {
3678
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));
3680
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3681
NDR_PULL_ALLOC_N(ndr, r->in.values, ndr_get_array_size(ndr, &r->in.values));
3683
memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->in.values)) * sizeof(*r->in.values));
3684
_mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
3685
NDR_PULL_SET_MEM_CTX(ndr, r->in.values, 0);
3686
for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) {
3687
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1]));
3689
for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->in.values); cntr_values_1++) {
3690
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1]));
3692
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
3693
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_values));
3694
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3696
NDR_PULL_ALLOC(ndr, r->in.buffer);
3698
r->in.buffer = NULL;
3701
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3702
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
3703
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
3704
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.buffer));
3705
if (ndr_get_array_length(ndr, &r->in.buffer) > ndr_get_array_size(ndr, &r->in.buffer)) {
3706
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));
3708
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
3709
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_length(ndr, &r->in.buffer)));
3710
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3712
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3713
NDR_PULL_ALLOC(ndr, r->in.buffer_size);
3715
_mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
3716
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer_size, LIBNDR_FLAG_REF_ALLOC);
3717
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.buffer_size));
3718
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC);
3719
NDR_PULL_ALLOC_N(ndr, r->out.values, r->in.num_values);
3720
memcpy(r->out.values, r->in.values, (r->in.num_values) * sizeof(*r->in.values));
3721
NDR_PULL_ALLOC(ndr, r->out.buffer_size);
3722
*r->out.buffer_size = *r->in.buffer_size;
3724
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.values, r->in.num_values));
3727
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.values, r->in.num_values));
3730
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, *r->in.buffer_size));
3733
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.buffer, *r->in.buffer_size));
3736
if (flags & NDR_OUT) {
3737
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.values));
3738
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.values));
3739
if (ndr_get_array_length(ndr, &r->out.values) > ndr_get_array_size(ndr, &r->out.values)) {
3740
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));
3742
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3743
NDR_PULL_ALLOC_N(ndr, r->out.values, ndr_get_array_size(ndr, &r->out.values));
3745
memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->out.values)) * sizeof(*r->in.values));
3746
_mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
3747
NDR_PULL_SET_MEM_CTX(ndr, r->out.values, 0);
3748
for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) {
3749
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1]));
3751
for (cntr_values_1 = 0; cntr_values_1 < ndr_get_array_length(ndr, &r->out.values); cntr_values_1++) {
3752
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1]));
3754
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
3755
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3757
NDR_PULL_ALLOC(ndr, r->out.buffer);
3759
r->out.buffer = NULL;
3761
if (r->out.buffer) {
3762
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3763
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
3764
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
3765
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer));
3766
if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) {
3767
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));
3769
NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
3770
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer)));
3771
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3773
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3774
NDR_PULL_ALLOC(ndr, r->out.buffer_size);
3776
_mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
3777
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer_size, LIBNDR_FLAG_REF_ALLOC);
3778
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.buffer_size));
3779
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC);
3780
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3781
if (r->out.values) {
3782
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.values, r->in.num_values));
3784
if (r->out.values) {
3785
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.values, r->in.num_values));
3787
if (r->out.buffer) {
3788
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, *r->out.buffer_size));
3790
if (r->out.buffer) {
3791
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, *r->out.buffer_size));
3794
return NDR_ERR_SUCCESS;
3797
_PUBLIC_ void ndr_print_winreg_QueryMultipleValues(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues *r)
3799
uint32_t cntr_values_1;
3800
ndr_print_struct(ndr, name, "winreg_QueryMultipleValues");
3802
if (flags & NDR_SET_VALUES) {
3803
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3805
if (flags & NDR_IN) {
3806
ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues");
3808
ndr_print_ptr(ndr, "key_handle", r->in.key_handle);
3810
ndr_print_policy_handle(ndr, "key_handle", r->in.key_handle);
3812
ndr_print_ptr(ndr, "values", r->in.values);
3814
ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values);
3816
for (cntr_values_1=0;cntr_values_1<r->in.num_values;cntr_values_1++) {
3818
if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
3819
ndr_print_QueryMultipleValue(ndr, "values", &r->in.values[cntr_values_1]);
3825
ndr_print_uint32(ndr, "num_values", r->in.num_values);
3826
ndr_print_ptr(ndr, "buffer", r->in.buffer);
3829
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, *r->in.buffer_size);
3832
ndr_print_ptr(ndr, "buffer_size", r->in.buffer_size);
3834
ndr_print_uint32(ndr, "buffer_size", *r->in.buffer_size);
3838
if (flags & NDR_OUT) {
3839
ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues");
3841
ndr_print_ptr(ndr, "values", r->out.values);
3843
ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values);
3845
for (cntr_values_1=0;cntr_values_1<r->in.num_values;cntr_values_1++) {
3847
if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
3848
ndr_print_QueryMultipleValue(ndr, "values", &r->out.values[cntr_values_1]);
3854
ndr_print_ptr(ndr, "buffer", r->out.buffer);
3856
if (r->out.buffer) {
3857
ndr_print_array_uint8(ndr, "buffer", r->out.buffer, *r->out.buffer_size);
3860
ndr_print_ptr(ndr, "buffer_size", r->out.buffer_size);
3862
ndr_print_uint32(ndr, "buffer_size", *r->out.buffer_size);
3864
ndr_print_WERROR(ndr, "result", r->out.result);
3870
static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdownEx(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdownEx *r)
3872
if (flags & NDR_IN) {
3873
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname));
3874
if (r->in.hostname) {
3875
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname));
3877
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message));
3878
if (r->in.message) {
3879
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3881
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout));
3882
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps));
3883
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot));
3884
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reason));
3886
if (flags & NDR_OUT) {
3887
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3889
return NDR_ERR_SUCCESS;
3892
static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdownEx(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdownEx *r)
3894
uint32_t _ptr_hostname;
3895
uint32_t _ptr_message;
3896
TALLOC_CTX *_mem_save_hostname_0;
3897
TALLOC_CTX *_mem_save_message_0;
3898
if (flags & NDR_IN) {
3899
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname));
3900
if (_ptr_hostname) {
3901
NDR_PULL_ALLOC(ndr, r->in.hostname);
3903
r->in.hostname = NULL;
3905
if (r->in.hostname) {
3906
_mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3907
NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0);
3908
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname));
3909
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0);
3911
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message));
3913
NDR_PULL_ALLOC(ndr, r->in.message);
3915
r->in.message = NULL;
3917
if (r->in.message) {
3918
_mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr);
3919
NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0);
3920
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3921
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0);
3923
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout));
3924
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps));
3925
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot));
3926
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reason));
3928
if (flags & NDR_OUT) {
3929
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3931
return NDR_ERR_SUCCESS;
3934
_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdownEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdownEx *r)
3936
ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdownEx");
3938
if (flags & NDR_SET_VALUES) {
3939
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3941
if (flags & NDR_IN) {
3942
ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdownEx");
3944
ndr_print_ptr(ndr, "hostname", r->in.hostname);
3946
if (r->in.hostname) {
3947
ndr_print_uint16(ndr, "hostname", *r->in.hostname);
3950
ndr_print_ptr(ndr, "message", r->in.message);
3952
if (r->in.message) {
3953
ndr_print_lsa_StringLarge(ndr, "message", r->in.message);
3956
ndr_print_uint32(ndr, "timeout", r->in.timeout);
3957
ndr_print_uint8(ndr, "force_apps", r->in.force_apps);
3958
ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot);
3959
ndr_print_uint32(ndr, "reason", r->in.reason);
3962
if (flags & NDR_OUT) {
3963
ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdownEx");
3965
ndr_print_WERROR(ndr, "result", r->out.result);
3971
static enum ndr_err_code ndr_push_winreg_SaveKeyEx(struct ndr_push *ndr, int flags, const struct winreg_SaveKeyEx *r)
3973
if (flags & NDR_IN) {
3975
if (flags & NDR_OUT) {
3976
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3978
return NDR_ERR_SUCCESS;
3981
static enum ndr_err_code ndr_pull_winreg_SaveKeyEx(struct ndr_pull *ndr, int flags, struct winreg_SaveKeyEx *r)
3983
if (flags & NDR_IN) {
3985
if (flags & NDR_OUT) {
3986
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3988
return NDR_ERR_SUCCESS;
3991
_PUBLIC_ void ndr_print_winreg_SaveKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKeyEx *r)
3993
ndr_print_struct(ndr, name, "winreg_SaveKeyEx");
3995
if (flags & NDR_SET_VALUES) {
3996
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3998
if (flags & NDR_IN) {
3999
ndr_print_struct(ndr, "in", "winreg_SaveKeyEx");
4003
if (flags & NDR_OUT) {
4004
ndr_print_struct(ndr, "out", "winreg_SaveKeyEx");
4006
ndr_print_WERROR(ndr, "result", r->out.result);
4012
static enum ndr_err_code ndr_push_winreg_OpenHKPT(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPT *r)
4014
if (flags & NDR_IN) {
4015
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
4016
if (r->in.system_name) {
4017
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
4019
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
4021
if (flags & NDR_OUT) {
4022
if (r->out.handle == NULL) {
4023
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4025
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4026
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4028
return NDR_ERR_SUCCESS;
4031
static enum ndr_err_code ndr_pull_winreg_OpenHKPT(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPT *r)
4033
uint32_t _ptr_system_name;
4034
TALLOC_CTX *_mem_save_system_name_0;
4035
TALLOC_CTX *_mem_save_handle_0;
4036
if (flags & NDR_IN) {
4037
ZERO_STRUCT(r->out);
4039
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
4040
if (_ptr_system_name) {
4041
NDR_PULL_ALLOC(ndr, r->in.system_name);
4043
r->in.system_name = NULL;
4045
if (r->in.system_name) {
4046
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4047
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
4048
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
4049
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
4051
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
4052
NDR_PULL_ALLOC(ndr, r->out.handle);
4053
ZERO_STRUCTP(r->out.handle);
4055
if (flags & NDR_OUT) {
4056
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4057
NDR_PULL_ALLOC(ndr, r->out.handle);
4059
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4060
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
4061
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4062
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4063
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4065
return NDR_ERR_SUCCESS;
4068
_PUBLIC_ void ndr_print_winreg_OpenHKPT(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPT *r)
4070
ndr_print_struct(ndr, name, "winreg_OpenHKPT");
4072
if (flags & NDR_SET_VALUES) {
4073
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4075
if (flags & NDR_IN) {
4076
ndr_print_struct(ndr, "in", "winreg_OpenHKPT");
4078
ndr_print_ptr(ndr, "system_name", r->in.system_name);
4080
if (r->in.system_name) {
4081
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
4084
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
4087
if (flags & NDR_OUT) {
4088
ndr_print_struct(ndr, "out", "winreg_OpenHKPT");
4090
ndr_print_ptr(ndr, "handle", r->out.handle);
4092
ndr_print_policy_handle(ndr, "handle", r->out.handle);
4094
ndr_print_WERROR(ndr, "result", r->out.result);
4100
static enum ndr_err_code ndr_push_winreg_OpenHKPN(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPN *r)
4102
if (flags & NDR_IN) {
4103
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
4104
if (r->in.system_name) {
4105
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
4107
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
4109
if (flags & NDR_OUT) {
4110
if (r->out.handle == NULL) {
4111
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4113
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4114
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4116
return NDR_ERR_SUCCESS;
4119
static enum ndr_err_code ndr_pull_winreg_OpenHKPN(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPN *r)
4121
uint32_t _ptr_system_name;
4122
TALLOC_CTX *_mem_save_system_name_0;
4123
TALLOC_CTX *_mem_save_handle_0;
4124
if (flags & NDR_IN) {
4125
ZERO_STRUCT(r->out);
4127
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
4128
if (_ptr_system_name) {
4129
NDR_PULL_ALLOC(ndr, r->in.system_name);
4131
r->in.system_name = NULL;
4133
if (r->in.system_name) {
4134
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4135
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
4136
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
4137
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
4139
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
4140
NDR_PULL_ALLOC(ndr, r->out.handle);
4141
ZERO_STRUCTP(r->out.handle);
4143
if (flags & NDR_OUT) {
4144
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4145
NDR_PULL_ALLOC(ndr, r->out.handle);
4147
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4148
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
4149
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4150
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4151
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4153
return NDR_ERR_SUCCESS;
4156
_PUBLIC_ void ndr_print_winreg_OpenHKPN(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPN *r)
4158
ndr_print_struct(ndr, name, "winreg_OpenHKPN");
4160
if (flags & NDR_SET_VALUES) {
4161
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4163
if (flags & NDR_IN) {
4164
ndr_print_struct(ndr, "in", "winreg_OpenHKPN");
4166
ndr_print_ptr(ndr, "system_name", r->in.system_name);
4168
if (r->in.system_name) {
4169
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
4172
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
4175
if (flags & NDR_OUT) {
4176
ndr_print_struct(ndr, "out", "winreg_OpenHKPN");
4178
ndr_print_ptr(ndr, "handle", r->out.handle);
4180
ndr_print_policy_handle(ndr, "handle", r->out.handle);
4182
ndr_print_WERROR(ndr, "result", r->out.result);
4188
static enum ndr_err_code ndr_push_winreg_QueryMultipleValues2(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues2 *r)
4190
if (flags & NDR_IN) {
4192
if (flags & NDR_OUT) {
4193
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4195
return NDR_ERR_SUCCESS;
4198
static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues2(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues2 *r)
4200
if (flags & NDR_IN) {
4202
if (flags & NDR_OUT) {
4203
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4205
return NDR_ERR_SUCCESS;
4208
_PUBLIC_ void ndr_print_winreg_QueryMultipleValues2(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues2 *r)
4210
ndr_print_struct(ndr, name, "winreg_QueryMultipleValues2");
4212
if (flags & NDR_SET_VALUES) {
4213
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4215
if (flags & NDR_IN) {
4216
ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues2");
4220
if (flags & NDR_OUT) {
4221
ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues2");
4223
ndr_print_WERROR(ndr, "result", r->out.result);
4229
static const struct ndr_interface_call winreg_calls[] = {
4232
sizeof(struct winreg_OpenHKCR),
4233
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCR,
4234
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCR,
4235
(ndr_print_function_t) ndr_print_winreg_OpenHKCR,
4240
sizeof(struct winreg_OpenHKCU),
4241
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCU,
4242
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCU,
4243
(ndr_print_function_t) ndr_print_winreg_OpenHKCU,
4248
sizeof(struct winreg_OpenHKLM),
4249
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKLM,
4250
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKLM,
4251
(ndr_print_function_t) ndr_print_winreg_OpenHKLM,
4256
sizeof(struct winreg_OpenHKPD),
4257
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPD,
4258
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPD,
4259
(ndr_print_function_t) ndr_print_winreg_OpenHKPD,
4264
sizeof(struct winreg_OpenHKU),
4265
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKU,
4266
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKU,
4267
(ndr_print_function_t) ndr_print_winreg_OpenHKU,
4272
sizeof(struct winreg_CloseKey),
4273
(ndr_push_flags_fn_t) ndr_push_winreg_CloseKey,
4274
(ndr_pull_flags_fn_t) ndr_pull_winreg_CloseKey,
4275
(ndr_print_function_t) ndr_print_winreg_CloseKey,
4280
sizeof(struct winreg_CreateKey),
4281
(ndr_push_flags_fn_t) ndr_push_winreg_CreateKey,
4282
(ndr_pull_flags_fn_t) ndr_pull_winreg_CreateKey,
4283
(ndr_print_function_t) ndr_print_winreg_CreateKey,
4288
sizeof(struct winreg_DeleteKey),
4289
(ndr_push_flags_fn_t) ndr_push_winreg_DeleteKey,
4290
(ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteKey,
4291
(ndr_print_function_t) ndr_print_winreg_DeleteKey,
4295
"winreg_DeleteValue",
4296
sizeof(struct winreg_DeleteValue),
4297
(ndr_push_flags_fn_t) ndr_push_winreg_DeleteValue,
4298
(ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteValue,
4299
(ndr_print_function_t) ndr_print_winreg_DeleteValue,
4304
sizeof(struct winreg_EnumKey),
4305
(ndr_push_flags_fn_t) ndr_push_winreg_EnumKey,
4306
(ndr_pull_flags_fn_t) ndr_pull_winreg_EnumKey,
4307
(ndr_print_function_t) ndr_print_winreg_EnumKey,
4312
sizeof(struct winreg_EnumValue),
4313
(ndr_push_flags_fn_t) ndr_push_winreg_EnumValue,
4314
(ndr_pull_flags_fn_t) ndr_pull_winreg_EnumValue,
4315
(ndr_print_function_t) ndr_print_winreg_EnumValue,
4320
sizeof(struct winreg_FlushKey),
4321
(ndr_push_flags_fn_t) ndr_push_winreg_FlushKey,
4322
(ndr_pull_flags_fn_t) ndr_pull_winreg_FlushKey,
4323
(ndr_print_function_t) ndr_print_winreg_FlushKey,
4327
"winreg_GetKeySecurity",
4328
sizeof(struct winreg_GetKeySecurity),
4329
(ndr_push_flags_fn_t) ndr_push_winreg_GetKeySecurity,
4330
(ndr_pull_flags_fn_t) ndr_pull_winreg_GetKeySecurity,
4331
(ndr_print_function_t) ndr_print_winreg_GetKeySecurity,
4336
sizeof(struct winreg_LoadKey),
4337
(ndr_push_flags_fn_t) ndr_push_winreg_LoadKey,
4338
(ndr_pull_flags_fn_t) ndr_pull_winreg_LoadKey,
4339
(ndr_print_function_t) ndr_print_winreg_LoadKey,
4343
"winreg_NotifyChangeKeyValue",
4344
sizeof(struct winreg_NotifyChangeKeyValue),
4345
(ndr_push_flags_fn_t) ndr_push_winreg_NotifyChangeKeyValue,
4346
(ndr_pull_flags_fn_t) ndr_pull_winreg_NotifyChangeKeyValue,
4347
(ndr_print_function_t) ndr_print_winreg_NotifyChangeKeyValue,
4352
sizeof(struct winreg_OpenKey),
4353
(ndr_push_flags_fn_t) ndr_push_winreg_OpenKey,
4354
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenKey,
4355
(ndr_print_function_t) ndr_print_winreg_OpenKey,
4359
"winreg_QueryInfoKey",
4360
sizeof(struct winreg_QueryInfoKey),
4361
(ndr_push_flags_fn_t) ndr_push_winreg_QueryInfoKey,
4362
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryInfoKey,
4363
(ndr_print_function_t) ndr_print_winreg_QueryInfoKey,
4367
"winreg_QueryValue",
4368
sizeof(struct winreg_QueryValue),
4369
(ndr_push_flags_fn_t) ndr_push_winreg_QueryValue,
4370
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryValue,
4371
(ndr_print_function_t) ndr_print_winreg_QueryValue,
4375
"winreg_ReplaceKey",
4376
sizeof(struct winreg_ReplaceKey),
4377
(ndr_push_flags_fn_t) ndr_push_winreg_ReplaceKey,
4378
(ndr_pull_flags_fn_t) ndr_pull_winreg_ReplaceKey,
4379
(ndr_print_function_t) ndr_print_winreg_ReplaceKey,
4383
"winreg_RestoreKey",
4384
sizeof(struct winreg_RestoreKey),
4385
(ndr_push_flags_fn_t) ndr_push_winreg_RestoreKey,
4386
(ndr_pull_flags_fn_t) ndr_pull_winreg_RestoreKey,
4387
(ndr_print_function_t) ndr_print_winreg_RestoreKey,
4392
sizeof(struct winreg_SaveKey),
4393
(ndr_push_flags_fn_t) ndr_push_winreg_SaveKey,
4394
(ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKey,
4395
(ndr_print_function_t) ndr_print_winreg_SaveKey,
4399
"winreg_SetKeySecurity",
4400
sizeof(struct winreg_SetKeySecurity),
4401
(ndr_push_flags_fn_t) ndr_push_winreg_SetKeySecurity,
4402
(ndr_pull_flags_fn_t) ndr_pull_winreg_SetKeySecurity,
4403
(ndr_print_function_t) ndr_print_winreg_SetKeySecurity,
4408
sizeof(struct winreg_SetValue),
4409
(ndr_push_flags_fn_t) ndr_push_winreg_SetValue,
4410
(ndr_pull_flags_fn_t) ndr_pull_winreg_SetValue,
4411
(ndr_print_function_t) ndr_print_winreg_SetValue,
4416
sizeof(struct winreg_UnLoadKey),
4417
(ndr_push_flags_fn_t) ndr_push_winreg_UnLoadKey,
4418
(ndr_pull_flags_fn_t) ndr_pull_winreg_UnLoadKey,
4419
(ndr_print_function_t) ndr_print_winreg_UnLoadKey,
4423
"winreg_InitiateSystemShutdown",
4424
sizeof(struct winreg_InitiateSystemShutdown),
4425
(ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdown,
4426
(ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdown,
4427
(ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdown,
4431
"winreg_AbortSystemShutdown",
4432
sizeof(struct winreg_AbortSystemShutdown),
4433
(ndr_push_flags_fn_t) ndr_push_winreg_AbortSystemShutdown,
4434
(ndr_pull_flags_fn_t) ndr_pull_winreg_AbortSystemShutdown,
4435
(ndr_print_function_t) ndr_print_winreg_AbortSystemShutdown,
4439
"winreg_GetVersion",
4440
sizeof(struct winreg_GetVersion),
4441
(ndr_push_flags_fn_t) ndr_push_winreg_GetVersion,
4442
(ndr_pull_flags_fn_t) ndr_pull_winreg_GetVersion,
4443
(ndr_print_function_t) ndr_print_winreg_GetVersion,
4448
sizeof(struct winreg_OpenHKCC),
4449
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCC,
4450
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCC,
4451
(ndr_print_function_t) ndr_print_winreg_OpenHKCC,
4456
sizeof(struct winreg_OpenHKDD),
4457
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKDD,
4458
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKDD,
4459
(ndr_print_function_t) ndr_print_winreg_OpenHKDD,
4463
"winreg_QueryMultipleValues",
4464
sizeof(struct winreg_QueryMultipleValues),
4465
(ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues,
4466
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues,
4467
(ndr_print_function_t) ndr_print_winreg_QueryMultipleValues,
4471
"winreg_InitiateSystemShutdownEx",
4472
sizeof(struct winreg_InitiateSystemShutdownEx),
4473
(ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdownEx,
4474
(ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdownEx,
4475
(ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdownEx,
4480
sizeof(struct winreg_SaveKeyEx),
4481
(ndr_push_flags_fn_t) ndr_push_winreg_SaveKeyEx,
4482
(ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKeyEx,
4483
(ndr_print_function_t) ndr_print_winreg_SaveKeyEx,
4488
sizeof(struct winreg_OpenHKPT),
4489
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPT,
4490
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPT,
4491
(ndr_print_function_t) ndr_print_winreg_OpenHKPT,
4496
sizeof(struct winreg_OpenHKPN),
4497
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPN,
4498
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPN,
4499
(ndr_print_function_t) ndr_print_winreg_OpenHKPN,
4503
"winreg_QueryMultipleValues2",
4504
sizeof(struct winreg_QueryMultipleValues2),
4505
(ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues2,
4506
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues2,
4507
(ndr_print_function_t) ndr_print_winreg_QueryMultipleValues2,
4510
{ NULL, 0, NULL, NULL, NULL, false }
4513
static const char * const winreg_endpoint_strings[] = {
4514
"ncacn_np:[\\pipe\\winreg]",
4519
static const struct ndr_interface_string_array winreg_endpoints = {
4521
.names = winreg_endpoint_strings
4524
static const char * const winreg_authservice_strings[] = {
4528
static const struct ndr_interface_string_array winreg_authservices = {
4530
.names = winreg_authservice_strings
4534
const struct ndr_interface_table ndr_table_winreg = {
4537
{0x338cd001,0x2244,0x31f1,{0xaa,0xaa},{0x90,0x00,0x38,0x00,0x10,0x03}},
4540
.helpstring = NDR_WINREG_HELPSTRING,
4542
.calls = winreg_calls,
4543
.endpoints = &winreg_endpoints,
4544
.authservices = &winreg_authservices