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