idl: we only need ndr_rap.[ch] and rap.h
[amitay/samba.git] / librpc / gen_ndr / winreg.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
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
12
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 )
27
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] */;
33
34 struct KeySecurityData {
35         uint8_t *data;/* [unique,length_is(len),size_is(size)] */
36         uint32_t size;
37         uint32_t len;
38 };
39
40 struct winreg_SecBuf {
41         uint32_t length;
42         struct KeySecurityData sd;
43         uint8_t inherit;
44 };
45
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 )
51
52 enum winreg_CreateAction
53 #ifndef USE_UINT_ENUMS
54  {
55         REG_ACTION_NONE=(int)(0),
56         REG_CREATED_NEW_KEY=(int)(1),
57         REG_OPENED_EXISTING_KEY=(int)(2)
58 }
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
65 ;
66
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)] */
71 };
72
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)] */
77 };
78
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 )
84
85 struct KeySecurityAttribute {
86         uint32_t data_size;
87         struct KeySecurityData sec_data;
88         uint8_t inherit;
89 };
90
91 struct QueryMultipleValue {
92         struct winreg_String *name;/* [unique] */
93         enum winreg_Type type;
94         uint32_t offset;
95         uint32_t length;
96 };
97
98
99 struct winreg_OpenHKCR {
100         struct {
101                 uint16_t *system_name;/* [unique] */
102                 uint32_t access_mask;
103         } in;
104
105         struct {
106                 struct policy_handle *handle;/* [ref] */
107                 WERROR result;
108         } out;
109
110 };
111
112
113 struct winreg_OpenHKCU {
114         struct {
115                 uint16_t *system_name;/* [unique] */
116                 uint32_t access_mask;
117         } in;
118
119         struct {
120                 struct policy_handle *handle;/* [ref] */
121                 WERROR result;
122         } out;
123
124 };
125
126
127 struct winreg_OpenHKLM {
128         struct {
129                 uint16_t *system_name;/* [unique] */
130                 uint32_t access_mask;
131         } in;
132
133         struct {
134                 struct policy_handle *handle;/* [ref] */
135                 WERROR result;
136         } out;
137
138 };
139
140
141 struct winreg_OpenHKPD {
142         struct {
143                 uint16_t *system_name;/* [unique] */
144                 uint32_t access_mask;
145         } in;
146
147         struct {
148                 struct policy_handle *handle;/* [ref] */
149                 WERROR result;
150         } out;
151
152 };
153
154
155 struct winreg_OpenHKU {
156         struct {
157                 uint16_t *system_name;/* [unique] */
158                 uint32_t access_mask;
159         } in;
160
161         struct {
162                 struct policy_handle *handle;/* [ref] */
163                 WERROR result;
164         } out;
165
166 };
167
168
169 struct winreg_CloseKey {
170         struct {
171                 struct policy_handle *handle;/* [ref] */
172         } in;
173
174         struct {
175                 struct policy_handle *handle;/* [ref] */
176                 WERROR result;
177         } out;
178
179 };
180
181
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;
192
193         struct {
194                 struct policy_handle *new_handle;/* [ref] */
195                 enum winreg_CreateAction *action_taken;/* [unique] */
196                 WERROR result;
197         } out;
198
199 };
200
201
202 struct winreg_DeleteKey {
203         struct {
204                 struct policy_handle *handle;/* [ref] */
205                 struct winreg_String key;
206         } in;
207
208         struct {
209                 WERROR result;
210         } out;
211
212 };
213
214
215 struct winreg_DeleteValue {
216         struct {
217                 struct policy_handle *handle;/* [ref] */
218                 struct winreg_String value;
219         } in;
220
221         struct {
222                 WERROR result;
223         } out;
224
225 };
226
227
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;
236
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;
243
244 };
245
246
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;
257
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;
266
267 };
268
269
270 struct winreg_FlushKey {
271         struct {
272                 struct policy_handle *handle;/* [ref] */
273         } in;
274
275         struct {
276                 WERROR result;
277         } out;
278
279 };
280
281
282 struct winreg_GetKeySecurity {
283         struct {
284                 struct policy_handle *handle;/* [ref] */
285                 uint32_t sec_info;
286                 struct KeySecurityData *sd;/* [ref] */
287         } in;
288
289         struct {
290                 struct KeySecurityData *sd;/* [ref] */
291                 WERROR result;
292         } out;
293
294 };
295
296
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;
303
304         struct {
305                 WERROR result;
306         } out;
307
308 };
309
310
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;
321
322         struct {
323                 WERROR result;
324         } out;
325
326 };
327
328
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;
336
337         struct {
338                 struct policy_handle *handle;/* [ref] */
339                 WERROR result;
340         } out;
341
342 };
343
344
345 struct winreg_QueryInfoKey {
346         struct {
347                 struct policy_handle *handle;/* [ref] */
348                 struct winreg_String *classname;/* [ref] */
349         } in;
350
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;
363
364 };
365
366
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;
376
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;
384
385 };
386
387
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;
395
396         struct {
397                 WERROR result;
398         } out;
399
400 };
401
402
403 struct winreg_RestoreKey {
404         struct {
405                 struct policy_handle *handle;/* [ref] */
406                 struct winreg_String *filename;/* [ref] */
407                 uint32_t flags;
408         } in;
409
410         struct {
411                 WERROR result;
412         } out;
413
414 };
415
416
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;
423
424         struct {
425                 WERROR result;
426         } out;
427
428 };
429
430
431 struct winreg_SetKeySecurity {
432         struct {
433                 struct policy_handle *handle;/* [ref] */
434                 uint32_t sec_info;
435                 struct KeySecurityData *sd;/* [ref] */
436         } in;
437
438         struct {
439                 WERROR result;
440         } out;
441
442 };
443
444
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;
453
454         struct {
455                 WERROR result;
456         } out;
457
458 };
459
460
461 struct winreg_UnLoadKey {
462         struct {
463                 struct policy_handle *handle;/* [ref] */
464                 struct winreg_String *subkey;/* [ref] */
465         } in;
466
467         struct {
468                 WERROR result;
469         } out;
470
471 };
472
473
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;
482
483         struct {
484                 WERROR result;
485         } out;
486
487 };
488
489
490 struct winreg_AbortSystemShutdown {
491         struct {
492                 uint16_t *server;/* [unique] */
493         } in;
494
495         struct {
496                 WERROR result;
497         } out;
498
499 };
500
501
502 struct winreg_GetVersion {
503         struct {
504                 struct policy_handle *handle;/* [ref] */
505         } in;
506
507         struct {
508                 uint32_t *version;/* [ref] */
509                 WERROR result;
510         } out;
511
512 };
513
514
515 struct winreg_OpenHKCC {
516         struct {
517                 uint16_t *system_name;/* [unique] */
518                 uint32_t access_mask;
519         } in;
520
521         struct {
522                 struct policy_handle *handle;/* [ref] */
523                 WERROR result;
524         } out;
525
526 };
527
528
529 struct winreg_OpenHKDD {
530         struct {
531                 uint16_t *system_name;/* [unique] */
532                 uint32_t access_mask;
533         } in;
534
535         struct {
536                 struct policy_handle *handle;/* [ref] */
537                 WERROR result;
538         } out;
539
540 };
541
542
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;
551
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;
558
559 };
560
561
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;
571
572         struct {
573                 WERROR result;
574         } out;
575
576 };
577
578
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;
586
587         struct {
588                 WERROR result;
589         } out;
590
591 };
592
593
594 struct winreg_OpenHKPT {
595         struct {
596                 uint16_t *system_name;/* [unique] */
597                 uint32_t access_mask;
598         } in;
599
600         struct {
601                 struct policy_handle *handle;/* [ref] */
602                 WERROR result;
603         } out;
604
605 };
606
607
608 struct winreg_OpenHKPN {
609         struct {
610                 uint16_t *system_name;/* [unique] */
611                 uint32_t access_mask;
612         } in;
613
614         struct {
615                 struct policy_handle *handle;/* [ref] */
616                 WERROR result;
617         } out;
618
619 };
620
621
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;
630
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;
637
638 };
639
640
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;
648
649         struct {
650                 WERROR result;
651         } out;
652
653 };
654
655 #endif /* _HEADER_winreg */