s3:ntlm_auth: free session key, as we don't use it (at least for now)
[Samba.git] / librpc / gen_ndr / winreg.h
blob53d9a35b626c28ed141292a8a8ddbae156e5cb6c
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 /* bitmap winreg_AccessMask */
18 #define KEY_QUERY_VALUE ( 0x00001 )
19 #define KEY_SET_VALUE ( 0x00002 )
20 #define KEY_CREATE_SUB_KEY ( 0x00004 )
21 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
22 #define KEY_NOTIFY ( 0x00010 )
23 #define KEY_CREATE_LINK ( 0x00020 )
24 #define KEY_WOW64_64KEY ( 0x00100 )
25 #define KEY_WOW64_32KEY ( 0x00200 )
27 struct winreg_String {
28 uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
29 uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
30 const char *name;/* [unique,charset(UTF16)] */
31 }/* [public] */;
33 struct KeySecurityData {
34 uint8_t *data;/* [unique,length_is(len),size_is(size)] */
35 uint32_t size;
36 uint32_t len;
39 struct winreg_SecBuf {
40 uint32_t length;
41 struct KeySecurityData sd;
42 uint8_t inherit;
45 enum winreg_CreateAction
46 #ifndef USE_UINT_ENUMS
48 REG_ACTION_NONE=(int)(0),
49 REG_CREATED_NEW_KEY=(int)(1),
50 REG_OPENED_EXISTING_KEY=(int)(2)
52 #else
53 { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
54 #define REG_ACTION_NONE ( 0 )
55 #define REG_CREATED_NEW_KEY ( 1 )
56 #define REG_OPENED_EXISTING_KEY ( 2 )
57 #endif
60 struct winreg_StringBuf {
61 uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
62 uint16_t size;
63 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
66 struct winreg_ValNameBuf {
67 uint16_t length;/* [value(strlen_m_term(name)*2)] */
68 uint16_t size;
69 const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
72 /* bitmap winreg_NotifyChangeType */
73 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
74 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
75 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
76 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
78 struct KeySecurityAttribute {
79 uint32_t data_size;
80 struct KeySecurityData sec_data;
81 uint8_t inherit;
84 struct QueryMultipleValue {
85 struct winreg_String *name;/* [unique] */
86 enum winreg_Type type;
87 uint32_t offset;
88 uint32_t length;
92 struct winreg_OpenHKCR {
93 struct {
94 uint16_t *system_name;/* [unique] */
95 uint32_t access_mask;
96 } in;
98 struct {
99 struct policy_handle *handle;/* [ref] */
100 WERROR result;
101 } out;
106 struct winreg_OpenHKCU {
107 struct {
108 uint16_t *system_name;/* [unique] */
109 uint32_t access_mask;
110 } in;
112 struct {
113 struct policy_handle *handle;/* [ref] */
114 WERROR result;
115 } out;
120 struct winreg_OpenHKLM {
121 struct {
122 uint16_t *system_name;/* [unique] */
123 uint32_t access_mask;
124 } in;
126 struct {
127 struct policy_handle *handle;/* [ref] */
128 WERROR result;
129 } out;
134 struct winreg_OpenHKPD {
135 struct {
136 uint16_t *system_name;/* [unique] */
137 uint32_t access_mask;
138 } in;
140 struct {
141 struct policy_handle *handle;/* [ref] */
142 WERROR result;
143 } out;
148 struct winreg_OpenHKU {
149 struct {
150 uint16_t *system_name;/* [unique] */
151 uint32_t access_mask;
152 } in;
154 struct {
155 struct policy_handle *handle;/* [ref] */
156 WERROR result;
157 } out;
162 struct winreg_CloseKey {
163 struct {
164 struct policy_handle *handle;/* [ref] */
165 } in;
167 struct {
168 struct policy_handle *handle;/* [ref] */
169 WERROR result;
170 } out;
175 struct winreg_CreateKey {
176 struct {
177 struct policy_handle *handle;/* [ref] */
178 struct winreg_String name;
179 struct winreg_String keyclass;
180 uint32_t options;
181 uint32_t access_mask;
182 struct winreg_SecBuf *secdesc;/* [unique] */
183 enum winreg_CreateAction *action_taken;/* [unique] */
184 } in;
186 struct {
187 struct policy_handle *new_handle;/* [ref] */
188 enum winreg_CreateAction *action_taken;/* [unique] */
189 WERROR result;
190 } out;
195 struct winreg_DeleteKey {
196 struct {
197 struct policy_handle *handle;/* [ref] */
198 struct winreg_String key;
199 } in;
201 struct {
202 WERROR result;
203 } out;
208 struct winreg_DeleteValue {
209 struct {
210 struct policy_handle *handle;/* [ref] */
211 struct winreg_String value;
212 } in;
214 struct {
215 WERROR result;
216 } out;
221 struct winreg_EnumKey {
222 struct {
223 struct policy_handle *handle;/* [ref] */
224 uint32_t enum_index;
225 struct winreg_StringBuf *name;/* [ref] */
226 struct winreg_StringBuf *keyclass;/* [unique] */
227 NTTIME *last_changed_time;/* [unique] */
228 } in;
230 struct {
231 struct winreg_StringBuf *name;/* [ref] */
232 struct winreg_StringBuf *keyclass;/* [unique] */
233 NTTIME *last_changed_time;/* [unique] */
234 WERROR result;
235 } out;
240 struct winreg_EnumValue {
241 struct {
242 struct policy_handle *handle;/* [ref] */
243 uint32_t enum_index;
244 struct winreg_ValNameBuf *name;/* [ref] */
245 enum winreg_Type *type;/* [unique] */
246 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
247 uint32_t *size;/* [unique] */
248 uint32_t *length;/* [unique] */
249 } in;
251 struct {
252 struct winreg_ValNameBuf *name;/* [ref] */
253 enum winreg_Type *type;/* [unique] */
254 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
255 uint32_t *size;/* [unique] */
256 uint32_t *length;/* [unique] */
257 WERROR result;
258 } out;
263 struct winreg_FlushKey {
264 struct {
265 struct policy_handle *handle;/* [ref] */
266 } in;
268 struct {
269 WERROR result;
270 } out;
275 struct winreg_GetKeySecurity {
276 struct {
277 struct policy_handle *handle;/* [ref] */
278 uint32_t sec_info;
279 struct KeySecurityData *sd;/* [ref] */
280 } in;
282 struct {
283 struct KeySecurityData *sd;/* [ref] */
284 WERROR result;
285 } out;
290 struct winreg_LoadKey {
291 struct {
292 struct policy_handle *handle;/* [ref] */
293 struct winreg_String *keyname;/* [unique] */
294 struct winreg_String *filename;/* [unique] */
295 } in;
297 struct {
298 WERROR result;
299 } out;
304 struct winreg_NotifyChangeKeyValue {
305 struct {
306 struct policy_handle *handle;/* [ref] */
307 uint8_t watch_subtree;
308 uint32_t notify_filter;
309 uint32_t unknown;
310 struct winreg_String string1;
311 struct winreg_String string2;
312 uint32_t unknown2;
313 } in;
315 struct {
316 WERROR result;
317 } out;
322 struct winreg_OpenKey {
323 struct {
324 struct policy_handle *parent_handle;/* [ref] */
325 struct winreg_String keyname;
326 uint32_t unknown;
327 uint32_t access_mask;
328 } in;
330 struct {
331 struct policy_handle *handle;/* [ref] */
332 WERROR result;
333 } out;
338 struct winreg_QueryInfoKey {
339 struct {
340 struct policy_handle *handle;/* [ref] */
341 struct winreg_String *classname;/* [ref] */
342 } in;
344 struct {
345 uint32_t *num_subkeys;/* [ref] */
346 uint32_t *max_subkeylen;/* [ref] */
347 uint32_t *max_classlen;/* [ref] */
348 uint32_t *num_values;/* [ref] */
349 uint32_t *max_valnamelen;/* [ref] */
350 uint32_t *max_valbufsize;/* [ref] */
351 uint32_t *secdescsize;/* [ref] */
352 NTTIME *last_changed_time;/* [ref] */
353 struct winreg_String *classname;/* [ref] */
354 WERROR result;
355 } out;
360 struct winreg_QueryValue {
361 struct {
362 struct policy_handle *handle;/* [ref] */
363 struct winreg_String *value_name;/* [ref] */
364 enum winreg_Type *type;/* [unique] */
365 uint8_t *data;/* [unique,range(0,0x4000000),length_is(data_length?*data_length:0),size_is(data_size?*data_size:0)] */
366 uint32_t *data_size;/* [unique] */
367 uint32_t *data_length;/* [unique] */
368 } in;
370 struct {
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 WERROR result;
376 } out;
381 struct winreg_ReplaceKey {
382 struct {
383 WERROR result;
384 } out;
389 struct winreg_RestoreKey {
390 struct {
391 struct policy_handle *handle;/* [ref] */
392 struct winreg_String *filename;/* [ref] */
393 uint32_t flags;
394 } in;
396 struct {
397 WERROR result;
398 } out;
403 struct winreg_SaveKey {
404 struct {
405 struct policy_handle *handle;/* [ref] */
406 struct winreg_String *filename;/* [ref] */
407 struct KeySecurityAttribute *sec_attrib;/* [unique] */
408 } in;
410 struct {
411 WERROR result;
412 } out;
417 struct winreg_SetKeySecurity {
418 struct {
419 struct policy_handle *handle;/* [ref] */
420 uint32_t sec_info;
421 struct KeySecurityData *sd;/* [ref] */
422 } in;
424 struct {
425 WERROR result;
426 } out;
431 struct winreg_SetValue {
432 struct {
433 struct policy_handle *handle;/* [ref] */
434 struct winreg_String name;
435 enum winreg_Type type;
436 uint8_t *data;/* [ref,size_is(size)] */
437 uint32_t size;
438 } in;
440 struct {
441 WERROR result;
442 } out;
447 struct winreg_UnLoadKey {
448 struct {
449 WERROR result;
450 } out;
455 struct winreg_InitiateSystemShutdown {
456 struct {
457 uint16_t *hostname;/* [unique] */
458 struct lsa_StringLarge *message;/* [unique] */
459 uint32_t timeout;
460 uint8_t force_apps;
461 uint8_t do_reboot;
462 } in;
464 struct {
465 WERROR result;
466 } out;
471 struct winreg_AbortSystemShutdown {
472 struct {
473 uint16_t *server;/* [unique] */
474 } in;
476 struct {
477 WERROR result;
478 } out;
483 struct winreg_GetVersion {
484 struct {
485 struct policy_handle *handle;/* [ref] */
486 } in;
488 struct {
489 uint32_t *version;/* [ref] */
490 WERROR result;
491 } out;
496 struct winreg_OpenHKCC {
497 struct {
498 uint16_t *system_name;/* [unique] */
499 uint32_t access_mask;
500 } in;
502 struct {
503 struct policy_handle *handle;/* [ref] */
504 WERROR result;
505 } out;
510 struct winreg_OpenHKDD {
511 struct {
512 uint16_t *system_name;/* [unique] */
513 uint32_t access_mask;
514 } in;
516 struct {
517 struct policy_handle *handle;/* [ref] */
518 WERROR result;
519 } out;
524 struct winreg_QueryMultipleValues {
525 struct {
526 struct policy_handle *key_handle;/* [ref] */
527 uint32_t num_values;
528 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
529 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
530 uint32_t *buffer_size;/* [ref] */
531 } in;
533 struct {
534 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
535 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
536 uint32_t *buffer_size;/* [ref] */
537 WERROR result;
538 } out;
543 struct winreg_InitiateSystemShutdownEx {
544 struct {
545 uint16_t *hostname;/* [unique] */
546 struct lsa_StringLarge *message;/* [unique] */
547 uint32_t timeout;
548 uint8_t force_apps;
549 uint8_t do_reboot;
550 uint32_t reason;
551 } in;
553 struct {
554 WERROR result;
555 } out;
560 struct winreg_SaveKeyEx {
561 struct {
562 WERROR result;
563 } out;
568 struct winreg_OpenHKPT {
569 struct {
570 uint16_t *system_name;/* [unique] */
571 uint32_t access_mask;
572 } in;
574 struct {
575 struct policy_handle *handle;/* [ref] */
576 WERROR result;
577 } out;
582 struct winreg_OpenHKPN {
583 struct {
584 uint16_t *system_name;/* [unique] */
585 uint32_t access_mask;
586 } in;
588 struct {
589 struct policy_handle *handle;/* [ref] */
590 WERROR result;
591 } out;
596 struct winreg_QueryMultipleValues2 {
597 struct {
598 WERROR result;
599 } out;
603 #endif /* _HEADER_winreg */