s3-spoolss: Added a winreg_add_driver function.
[Samba/ekacnet.git] / librpc / gen_ndr / winreg.h
blobb412d353b91e51a2dde3a55ba2d5abdb9320108b
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/lsa.h"
8 #include "librpc/gen_ndr/security.h"
9 #include "librpc/gen_ndr/misc.h"
10 #ifndef _HEADER_winreg
11 #define _HEADER_winreg
13 #define REG_KEY_READ ( (STANDARD_RIGHTS_READ_ACCESS|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY) )
14 #define REG_KEY_EXECUTE ( REG_KEY_READ )
15 #define REG_KEY_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|KEY_SET_VALUE|KEY_CREATE_SUB_KEY) )
16 #define REG_KEY_ALL ( (STANDARD_RIGHTS_REQUIRED_ACCESS|REG_KEY_READ|REG_KEY_WRITE|KEY_CREATE_LINK) )
17 #define REG_OPTION_NON_VOLATILE ( 0x00000000 )
18 /* bitmap winreg_AccessMask */
19 #define KEY_QUERY_VALUE ( 0x00001 )
20 #define KEY_SET_VALUE ( 0x00002 )
21 #define KEY_CREATE_SUB_KEY ( 0x00004 )
22 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
23 #define KEY_NOTIFY ( 0x00010 )
24 #define KEY_CREATE_LINK ( 0x00020 )
25 #define KEY_WOW64_64KEY ( 0x00100 )
26 #define KEY_WOW64_32KEY ( 0x00200 )
28 struct winreg_String {
29 uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
30 uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
31 const char *name;/* [unique,charset(UTF16)] */
32 }/* [public] */;
34 struct KeySecurityData {
35 uint8_t *data;/* [unique,length_is(len),size_is(size)] */
36 uint32_t size;
37 uint32_t len;
40 struct winreg_SecBuf {
41 uint32_t length;
42 struct KeySecurityData sd;
43 uint8_t inherit;
46 /* bitmap winreg_KeyOptions */
47 #define REG_OPTION_VOLATILE ( 0x00000001 )
48 #define REG_OPTION_CREATE_LINK ( 0x00000002 )
49 #define REG_OPTION_BACKUP_RESTORE ( 0x00000004 )
50 #define REG_OPTION_OPEN_LINK ( 0x00000008 )
52 enum winreg_CreateAction
53 #ifndef USE_UINT_ENUMS
55 REG_ACTION_NONE=(int)(0),
56 REG_CREATED_NEW_KEY=(int)(1),
57 REG_OPENED_EXISTING_KEY=(int)(2)
59 #else
60 { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
61 #define REG_ACTION_NONE ( 0 )
62 #define REG_CREATED_NEW_KEY ( 1 )
63 #define REG_OPENED_EXISTING_KEY ( 2 )
64 #endif
67 struct winreg_StringBuf {
68 uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
69 uint16_t size;
70 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
73 struct winreg_ValNameBuf {
74 uint16_t length;/* [value(strlen_m_term(name)*2)] */
75 uint16_t size;
76 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
79 /* bitmap winreg_NotifyChangeType */
80 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
81 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
82 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
83 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
85 struct KeySecurityAttribute {
86 uint32_t data_size;
87 struct KeySecurityData sec_data;
88 uint8_t inherit;
91 struct QueryMultipleValue {
92 struct winreg_String *name;/* [unique] */
93 enum winreg_Type type;
94 uint32_t offset;
95 uint32_t length;
99 struct winreg_OpenHKCR {
100 struct {
101 uint16_t *system_name;/* [unique] */
102 uint32_t access_mask;
103 } in;
105 struct {
106 struct policy_handle *handle;/* [ref] */
107 WERROR result;
108 } out;
113 struct winreg_OpenHKCU {
114 struct {
115 uint16_t *system_name;/* [unique] */
116 uint32_t access_mask;
117 } in;
119 struct {
120 struct policy_handle *handle;/* [ref] */
121 WERROR result;
122 } out;
127 struct winreg_OpenHKLM {
128 struct {
129 uint16_t *system_name;/* [unique] */
130 uint32_t access_mask;
131 } in;
133 struct {
134 struct policy_handle *handle;/* [ref] */
135 WERROR result;
136 } out;
141 struct winreg_OpenHKPD {
142 struct {
143 uint16_t *system_name;/* [unique] */
144 uint32_t access_mask;
145 } in;
147 struct {
148 struct policy_handle *handle;/* [ref] */
149 WERROR result;
150 } out;
155 struct winreg_OpenHKU {
156 struct {
157 uint16_t *system_name;/* [unique] */
158 uint32_t access_mask;
159 } in;
161 struct {
162 struct policy_handle *handle;/* [ref] */
163 WERROR result;
164 } out;
169 struct winreg_CloseKey {
170 struct {
171 struct policy_handle *handle;/* [ref] */
172 } in;
174 struct {
175 struct policy_handle *handle;/* [ref] */
176 WERROR result;
177 } out;
182 struct winreg_CreateKey {
183 struct {
184 struct policy_handle *handle;/* [ref] */
185 struct winreg_String name;
186 struct winreg_String keyclass;
187 uint32_t options;
188 uint32_t access_mask;
189 struct winreg_SecBuf *secdesc;/* [unique] */
190 enum winreg_CreateAction *action_taken;/* [unique] */
191 } in;
193 struct {
194 struct policy_handle *new_handle;/* [ref] */
195 enum winreg_CreateAction *action_taken;/* [unique] */
196 WERROR result;
197 } out;
202 struct winreg_DeleteKey {
203 struct {
204 struct policy_handle *handle;/* [ref] */
205 struct winreg_String key;
206 } in;
208 struct {
209 WERROR result;
210 } out;
215 struct winreg_DeleteValue {
216 struct {
217 struct policy_handle *handle;/* [ref] */
218 struct winreg_String value;
219 } in;
221 struct {
222 WERROR result;
223 } out;
228 struct winreg_EnumKey {
229 struct {
230 struct policy_handle *handle;/* [ref] */
231 uint32_t enum_index;
232 struct winreg_StringBuf *name;/* [ref] */
233 struct winreg_StringBuf *keyclass;/* [unique] */
234 NTTIME *last_changed_time;/* [unique] */
235 } in;
237 struct {
238 struct winreg_StringBuf *name;/* [ref] */
239 struct winreg_StringBuf *keyclass;/* [unique] */
240 NTTIME *last_changed_time;/* [unique] */
241 WERROR result;
242 } out;
247 struct winreg_EnumValue {
248 struct {
249 struct policy_handle *handle;/* [ref] */
250 uint32_t enum_index;
251 struct winreg_ValNameBuf *name;/* [ref] */
252 enum winreg_Type *type;/* [unique] */
253 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
254 uint32_t *size;/* [unique] */
255 uint32_t *length;/* [unique] */
256 } in;
258 struct {
259 struct winreg_ValNameBuf *name;/* [ref] */
260 enum winreg_Type *type;/* [unique] */
261 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
262 uint32_t *size;/* [unique] */
263 uint32_t *length;/* [unique] */
264 WERROR result;
265 } out;
270 struct winreg_FlushKey {
271 struct {
272 struct policy_handle *handle;/* [ref] */
273 } in;
275 struct {
276 WERROR result;
277 } out;
282 struct winreg_GetKeySecurity {
283 struct {
284 struct policy_handle *handle;/* [ref] */
285 uint32_t sec_info;
286 struct KeySecurityData *sd;/* [ref] */
287 } in;
289 struct {
290 struct KeySecurityData *sd;/* [ref] */
291 WERROR result;
292 } out;
297 struct winreg_LoadKey {
298 struct {
299 struct policy_handle *handle;/* [ref] */
300 struct winreg_String *keyname;/* [unique] */
301 struct winreg_String *filename;/* [unique] */
302 } in;
304 struct {
305 WERROR result;
306 } out;
311 struct winreg_NotifyChangeKeyValue {
312 struct {
313 struct policy_handle *handle;/* [ref] */
314 uint8_t watch_subtree;
315 uint32_t notify_filter;
316 uint32_t unknown;
317 struct winreg_String string1;
318 struct winreg_String string2;
319 uint32_t unknown2;
320 } in;
322 struct {
323 WERROR result;
324 } out;
329 struct winreg_OpenKey {
330 struct {
331 struct policy_handle *parent_handle;/* [ref] */
332 struct winreg_String keyname;
333 uint32_t options;
334 uint32_t access_mask;
335 } in;
337 struct {
338 struct policy_handle *handle;/* [ref] */
339 WERROR result;
340 } out;
345 struct winreg_QueryInfoKey {
346 struct {
347 struct policy_handle *handle;/* [ref] */
348 struct winreg_String *classname;/* [ref] */
349 } in;
351 struct {
352 uint32_t *num_subkeys;/* [ref] */
353 uint32_t *max_subkeylen;/* [ref] */
354 uint32_t *max_classlen;/* [ref] */
355 uint32_t *num_values;/* [ref] */
356 uint32_t *max_valnamelen;/* [ref] */
357 uint32_t *max_valbufsize;/* [ref] */
358 uint32_t *secdescsize;/* [ref] */
359 NTTIME *last_changed_time;/* [ref] */
360 struct winreg_String *classname;/* [ref] */
361 WERROR result;
362 } out;
367 struct winreg_QueryValue {
368 struct {
369 struct policy_handle *handle;/* [ref] */
370 struct winreg_String *value_name;/* [ref] */
371 enum winreg_Type *type;/* [unique] */
372 uint8_t *data;/* [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */
373 uint32_t *data_size;/* [unique] */
374 uint32_t *data_length;/* [unique] */
375 } in;
377 struct {
378 enum winreg_Type *type;/* [unique] */
379 uint8_t *data;/* [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */
380 uint32_t *data_size;/* [unique] */
381 uint32_t *data_length;/* [unique] */
382 WERROR result;
383 } out;
388 struct winreg_ReplaceKey {
389 struct {
390 struct policy_handle *handle;/* [ref] */
391 struct winreg_String *subkey;/* [ref] */
392 struct winreg_String *new_file;/* [ref] */
393 struct winreg_String *old_file;/* [ref] */
394 } in;
396 struct {
397 WERROR result;
398 } out;
403 struct winreg_RestoreKey {
404 struct {
405 struct policy_handle *handle;/* [ref] */
406 struct winreg_String *filename;/* [ref] */
407 uint32_t flags;
408 } in;
410 struct {
411 WERROR result;
412 } out;
417 struct winreg_SaveKey {
418 struct {
419 struct policy_handle *handle;/* [ref] */
420 struct winreg_String *filename;/* [ref] */
421 struct KeySecurityAttribute *sec_attrib;/* [unique] */
422 } in;
424 struct {
425 WERROR result;
426 } out;
431 struct winreg_SetKeySecurity {
432 struct {
433 struct policy_handle *handle;/* [ref] */
434 uint32_t sec_info;
435 struct KeySecurityData *sd;/* [ref] */
436 } in;
438 struct {
439 WERROR result;
440 } out;
445 struct winreg_SetValue {
446 struct {
447 struct policy_handle *handle;/* [ref] */
448 struct winreg_String name;
449 enum winreg_Type type;
450 uint8_t *data;/* [ref,size_is(size)] */
451 uint32_t size;
452 } in;
454 struct {
455 WERROR result;
456 } out;
461 struct winreg_UnLoadKey {
462 struct {
463 struct policy_handle *handle;/* [ref] */
464 struct winreg_String *subkey;/* [ref] */
465 } in;
467 struct {
468 WERROR result;
469 } out;
474 struct winreg_InitiateSystemShutdown {
475 struct {
476 uint16_t *hostname;/* [unique] */
477 struct lsa_StringLarge *message;/* [unique] */
478 uint32_t timeout;
479 uint8_t force_apps;
480 uint8_t do_reboot;
481 } in;
483 struct {
484 WERROR result;
485 } out;
490 struct winreg_AbortSystemShutdown {
491 struct {
492 uint16_t *server;/* [unique] */
493 } in;
495 struct {
496 WERROR result;
497 } out;
502 struct winreg_GetVersion {
503 struct {
504 struct policy_handle *handle;/* [ref] */
505 } in;
507 struct {
508 uint32_t *version;/* [ref] */
509 WERROR result;
510 } out;
515 struct winreg_OpenHKCC {
516 struct {
517 uint16_t *system_name;/* [unique] */
518 uint32_t access_mask;
519 } in;
521 struct {
522 struct policy_handle *handle;/* [ref] */
523 WERROR result;
524 } out;
529 struct winreg_OpenHKDD {
530 struct {
531 uint16_t *system_name;/* [unique] */
532 uint32_t access_mask;
533 } in;
535 struct {
536 struct policy_handle *handle;/* [ref] */
537 WERROR result;
538 } out;
543 struct winreg_QueryMultipleValues {
544 struct {
545 struct policy_handle *key_handle;/* [ref] */
546 uint32_t num_values;
547 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
548 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
549 uint32_t *buffer_size;/* [ref] */
550 } in;
552 struct {
553 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
554 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
555 uint32_t *buffer_size;/* [ref] */
556 WERROR result;
557 } out;
562 struct winreg_InitiateSystemShutdownEx {
563 struct {
564 uint16_t *hostname;/* [unique] */
565 struct lsa_StringLarge *message;/* [unique] */
566 uint32_t timeout;
567 uint8_t force_apps;
568 uint8_t do_reboot;
569 uint32_t reason;
570 } in;
572 struct {
573 WERROR result;
574 } out;
579 struct winreg_SaveKeyEx {
580 struct {
581 struct policy_handle *handle;/* [ref] */
582 struct winreg_String *filename;/* [ref] */
583 struct KeySecurityAttribute *sec_attrib;/* [unique] */
584 uint32_t flags;
585 } in;
587 struct {
588 WERROR result;
589 } out;
594 struct winreg_OpenHKPT {
595 struct {
596 uint16_t *system_name;/* [unique] */
597 uint32_t access_mask;
598 } in;
600 struct {
601 struct policy_handle *handle;/* [ref] */
602 WERROR result;
603 } out;
608 struct winreg_OpenHKPN {
609 struct {
610 uint16_t *system_name;/* [unique] */
611 uint32_t access_mask;
612 } in;
614 struct {
615 struct policy_handle *handle;/* [ref] */
616 WERROR result;
617 } out;
622 struct winreg_QueryMultipleValues2 {
623 struct {
624 struct policy_handle *key_handle;/* [ref] */
625 uint32_t num_values;
626 uint32_t offered;
627 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
628 uint8_t *buffer;/* [unique,length_is(offered),size_is(offered)] */
629 } in;
631 struct {
632 uint32_t *needed;/* [ref] */
633 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
634 uint8_t *buffer;/* [unique,length_is(offered),size_is(offered)] */
635 WERROR result;
636 } out;
641 struct winreg_DeleteKeyEx {
642 struct {
643 struct policy_handle *handle;/* [ref] */
644 struct winreg_String *key;/* [ref] */
645 uint32_t access_mask;
646 uint32_t reserved;
647 } in;
649 struct {
650 WERROR result;
651 } out;
655 #endif /* _HEADER_winreg */