4a06e3bc833acac6331c46a27342133253d79050
[ira/wip.git] / source3 / librpc / gen_ndr / winreg.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/initshutdown.h"
7 #include "librpc/gen_ndr/security.h"
8 #ifndef _HEADER_winreg
9 #define _HEADER_winreg
10
11 /* bitmap winreg_AccessMask */
12 #define KEY_QUERY_VALUE ( 0x00001 )
13 #define KEY_SET_VALUE ( 0x00002 )
14 #define KEY_CREATE_SUB_KEY ( 0x00004 )
15 #define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
16 #define KEY_NOTIFY ( 0x00010 )
17 #define KEY_CREATE_LINK ( 0x00020 )
18 #define KEY_WOW64_64KEY ( 0x00100 )
19 #define KEY_WOW64_32KEY ( 0x00200 )
20
21 enum winreg_Type
22 #ifndef USE_UINT_ENUMS
23  {
24         REG_NONE=0,
25         REG_SZ=1,
26         REG_EXPAND_SZ=2,
27         REG_BINARY=3,
28         REG_DWORD=4,
29         REG_DWORD_BIG_ENDIAN=5,
30         REG_LINK=6,
31         REG_MULTI_SZ=7,
32         REG_RESOURCE_LIST=8,
33         REG_FULL_RESOURCE_DESCRIPTOR=9,
34         REG_RESOURCE_REQUIREMENTS_LIST=10,
35         REG_QWORD=11
36 }
37 #else
38  { __donnot_use_enum_winreg_Type=0x7FFFFFFF}
39 #define REG_NONE ( 0 )
40 #define REG_SZ ( 1 )
41 #define REG_EXPAND_SZ ( 2 )
42 #define REG_BINARY ( 3 )
43 #define REG_DWORD ( 4 )
44 #define REG_DWORD_BIG_ENDIAN ( 5 )
45 #define REG_LINK ( 6 )
46 #define REG_MULTI_SZ ( 7 )
47 #define REG_RESOURCE_LIST ( 8 )
48 #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
49 #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
50 #define REG_QWORD ( 11 )
51 #endif
52 ;
53
54 struct winreg_String {
55         uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
56         uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
57         const char *name;/* [unique,charset(UTF16)] */
58 }/* [public,noejs] */;
59
60 struct KeySecurityData {
61         uint8_t *data;/* [unique,length_is(len),size_is(size)] */
62         uint32_t size;
63         uint32_t len;
64 };
65
66 struct winreg_SecBuf {
67         uint32_t length;
68         struct KeySecurityData sd;
69         uint8_t inherit;
70 };
71
72 enum winreg_CreateAction
73 #ifndef USE_UINT_ENUMS
74  {
75         REG_ACTION_NONE=0,
76         REG_CREATED_NEW_KEY=1,
77         REG_OPENED_EXISTING_KEY=2
78 }
79 #else
80  { __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
81 #define REG_ACTION_NONE ( 0 )
82 #define REG_CREATED_NEW_KEY ( 1 )
83 #define REG_OPENED_EXISTING_KEY ( 2 )
84 #endif
85 ;
86
87 struct winreg_StringBuf {
88         uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
89         uint16_t size;
90         const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
91 };
92
93 struct winreg_ValNameBuf {
94         uint16_t length;/* [value(strlen_m_term(name)*2)] */
95         uint16_t size;
96         const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
97 };
98
99 struct KeySecurityAttribute {
100         uint32_t data_size;
101         struct KeySecurityData sec_data;
102         uint8_t inherit;
103 };
104
105 struct QueryMultipleValue {
106         struct winreg_String *name;/* [unique] */
107         enum winreg_Type type;
108         uint32_t offset;
109         uint32_t length;
110 };
111
112
113 struct winreg_OpenHKCR {
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_OpenHKCU {
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_OpenHKLM {
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_OpenHKPD {
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_OpenHKU {
170         struct {
171                 uint16_t *system_name;/* [unique] */
172                 uint32_t access_mask;
173         } in;
174
175         struct {
176                 struct policy_handle *handle;/* [ref] */
177                 WERROR result;
178         } out;
179
180 };
181
182
183 struct winreg_CloseKey {
184         struct {
185                 struct policy_handle *handle;/* [ref] */
186         } in;
187
188         struct {
189                 struct policy_handle *handle;/* [ref] */
190                 WERROR result;
191         } out;
192
193 };
194
195
196 struct winreg_CreateKey {
197         struct {
198                 struct policy_handle *handle;/* [ref] */
199                 struct winreg_String name;
200                 struct winreg_String keyclass;
201                 uint32_t options;
202                 uint32_t access_mask;
203                 struct winreg_SecBuf *secdesc;/* [unique] */
204                 enum winreg_CreateAction *action_taken;/* [unique] */
205         } in;
206
207         struct {
208                 struct policy_handle *new_handle;/* [ref] */
209                 enum winreg_CreateAction *action_taken;/* [unique] */
210                 WERROR result;
211         } out;
212
213 };
214
215
216 struct winreg_DeleteKey {
217         struct {
218                 struct policy_handle *handle;/* [ref] */
219                 struct winreg_String key;
220         } in;
221
222         struct {
223                 WERROR result;
224         } out;
225
226 };
227
228
229 struct winreg_DeleteValue {
230         struct {
231                 struct policy_handle *handle;/* [ref] */
232                 struct winreg_String value;
233         } in;
234
235         struct {
236                 WERROR result;
237         } out;
238
239 };
240
241
242 struct winreg_EnumKey {
243         struct {
244                 struct policy_handle *handle;/* [ref] */
245                 uint32_t enum_index;
246                 struct winreg_StringBuf *name;/* [ref] */
247                 struct winreg_StringBuf *keyclass;/* [unique] */
248                 NTTIME *last_changed_time;/* [unique] */
249         } in;
250
251         struct {
252                 struct winreg_StringBuf *name;/* [ref] */
253                 struct winreg_StringBuf *keyclass;/* [unique] */
254                 NTTIME *last_changed_time;/* [unique] */
255                 WERROR result;
256         } out;
257
258 };
259
260
261 struct winreg_EnumValue {
262         struct {
263                 struct policy_handle *handle;/* [ref] */
264                 uint32_t enum_index;
265                 struct winreg_ValNameBuf *name;/* [ref] */
266                 enum winreg_Type *type;/* [unique] */
267                 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
268                 uint32_t *size;/* [unique] */
269                 uint32_t *length;/* [unique] */
270         } in;
271
272         struct {
273                 struct winreg_ValNameBuf *name;/* [ref] */
274                 enum winreg_Type *type;/* [unique] */
275                 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
276                 uint32_t *size;/* [unique] */
277                 uint32_t *length;/* [unique] */
278                 WERROR result;
279         } out;
280
281 };
282
283
284 struct winreg_FlushKey {
285         struct {
286                 struct policy_handle *handle;/* [ref] */
287         } in;
288
289         struct {
290                 WERROR result;
291         } out;
292
293 };
294
295
296 struct winreg_GetKeySecurity {
297         struct {
298                 struct policy_handle *handle;/* [ref] */
299                 uint32_t sec_info;
300                 struct KeySecurityData *sd;/* [ref] */
301         } in;
302
303         struct {
304                 struct KeySecurityData *sd;/* [ref] */
305                 WERROR result;
306         } out;
307
308 };
309
310
311 struct winreg_LoadKey {
312         struct {
313                 struct policy_handle *handle;/* [ref] */
314                 struct winreg_String *keyname;/* [unique] */
315                 struct winreg_String *filename;/* [unique] */
316         } in;
317
318         struct {
319                 WERROR result;
320         } out;
321
322 };
323
324
325 struct winreg_NotifyChangeKeyValue {
326         struct {
327                 struct policy_handle *handle;/* [ref] */
328                 uint8_t watch_subtree;
329                 uint32_t notify_filter;
330                 uint32_t unknown;
331                 struct winreg_String string1;
332                 struct winreg_String string2;
333                 uint32_t unknown2;
334         } in;
335
336         struct {
337                 WERROR result;
338         } out;
339
340 };
341
342
343 struct winreg_OpenKey {
344         struct {
345                 struct policy_handle *parent_handle;/* [ref] */
346                 struct winreg_String keyname;
347                 uint32_t unknown;
348                 uint32_t access_mask;
349         } in;
350
351         struct {
352                 struct policy_handle *handle;/* [ref] */
353                 WERROR result;
354         } out;
355
356 };
357
358
359 struct winreg_QueryInfoKey {
360         struct {
361                 struct policy_handle *handle;/* [ref] */
362                 struct winreg_String *classname;/* [ref] */
363         } in;
364
365         struct {
366                 uint32_t *num_subkeys;/* [ref] */
367                 uint32_t *max_subkeylen;/* [ref] */
368                 uint32_t *max_classlen;/* [ref] */
369                 uint32_t *num_values;/* [ref] */
370                 uint32_t *max_valnamelen;/* [ref] */
371                 uint32_t *max_valbufsize;/* [ref] */
372                 uint32_t *secdescsize;/* [ref] */
373                 NTTIME *last_changed_time;/* [ref] */
374                 struct winreg_String *classname;/* [ref] */
375                 WERROR result;
376         } out;
377
378 };
379
380
381 struct winreg_QueryValue {
382         struct {
383                 struct policy_handle *handle;/* [ref] */
384                 struct winreg_String *value_name;/* [ref] */
385                 enum winreg_Type *type;/* [unique] */
386                 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
387                 uint32_t *data_size;/* [unique] */
388                 uint32_t *value_length;/* [unique] */
389         } in;
390
391         struct {
392                 enum winreg_Type *type;/* [unique] */
393                 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
394                 uint32_t *data_size;/* [unique] */
395                 uint32_t *value_length;/* [unique] */
396                 WERROR result;
397         } out;
398
399 };
400
401
402 struct winreg_ReplaceKey {
403         struct {
404                 WERROR result;
405         } out;
406
407 };
408
409
410 struct winreg_RestoreKey {
411         struct {
412                 struct policy_handle *handle;/* [ref] */
413                 struct winreg_String *filename;/* [ref] */
414                 uint32_t flags;
415         } in;
416
417         struct {
418                 WERROR result;
419         } out;
420
421 };
422
423
424 struct winreg_SaveKey {
425         struct {
426                 struct policy_handle *handle;/* [ref] */
427                 struct winreg_String *filename;/* [ref] */
428                 struct KeySecurityAttribute *sec_attrib;/* [unique] */
429         } in;
430
431         struct {
432                 WERROR result;
433         } out;
434
435 };
436
437
438 struct winreg_SetKeySecurity {
439         struct {
440                 struct policy_handle *handle;/* [ref] */
441                 uint32_t access_mask;
442                 struct KeySecurityData *sd;/* [ref] */
443         } in;
444
445         struct {
446                 WERROR result;
447         } out;
448
449 };
450
451
452 struct winreg_SetValue {
453         struct {
454                 struct policy_handle *handle;/* [ref] */
455                 struct winreg_String name;
456                 enum winreg_Type type;
457                 uint8_t *data;/* [ref,size_is(size)] */
458                 uint32_t size;
459         } in;
460
461         struct {
462                 WERROR result;
463         } out;
464
465 };
466
467
468 struct winreg_UnLoadKey {
469         struct {
470                 WERROR result;
471         } out;
472
473 };
474
475
476 struct winreg_InitiateSystemShutdown {
477         struct {
478                 uint16_t *hostname;/* [unique] */
479                 struct initshutdown_String *message;/* [unique] */
480                 uint32_t timeout;
481                 uint8_t force_apps;
482                 uint8_t do_reboot;
483         } in;
484
485         struct {
486                 WERROR result;
487         } out;
488
489 };
490
491
492 struct winreg_AbortSystemShutdown {
493         struct {
494                 uint16_t *server;/* [unique] */
495         } in;
496
497         struct {
498                 WERROR result;
499         } out;
500
501 };
502
503
504 struct winreg_GetVersion {
505         struct {
506                 struct policy_handle *handle;/* [ref] */
507         } in;
508
509         struct {
510                 uint32_t *version;/* [ref] */
511                 WERROR result;
512         } out;
513
514 };
515
516
517 struct winreg_OpenHKCC {
518         struct {
519                 uint16_t *system_name;/* [unique] */
520                 uint32_t access_mask;
521         } in;
522
523         struct {
524                 struct policy_handle *handle;/* [ref] */
525                 WERROR result;
526         } out;
527
528 };
529
530
531 struct winreg_OpenHKDD {
532         struct {
533                 uint16_t *system_name;/* [unique] */
534                 uint32_t access_mask;
535         } in;
536
537         struct {
538                 struct policy_handle *handle;/* [ref] */
539                 WERROR result;
540         } out;
541
542 };
543
544
545 struct winreg_QueryMultipleValues {
546         struct {
547                 struct policy_handle *key_handle;/* [ref] */
548                 uint32_t num_values;
549                 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
550                 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
551                 uint32_t *buffer_size;/* [ref] */
552         } in;
553
554         struct {
555                 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
556                 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
557                 uint32_t *buffer_size;/* [ref] */
558                 WERROR result;
559         } out;
560
561 };
562
563
564 struct winreg_InitiateSystemShutdownEx {
565         struct {
566                 uint16_t *hostname;/* [unique] */
567                 struct initshutdown_String *message;/* [unique] */
568                 uint32_t timeout;
569                 uint8_t force_apps;
570                 uint8_t do_reboot;
571                 uint32_t reason;
572         } in;
573
574         struct {
575                 WERROR result;
576         } out;
577
578 };
579
580
581 struct winreg_SaveKeyEx {
582         struct {
583                 WERROR result;
584         } out;
585
586 };
587
588
589 struct winreg_OpenHKPT {
590         struct {
591                 uint16_t *system_name;/* [unique] */
592                 uint32_t access_mask;
593         } in;
594
595         struct {
596                 struct policy_handle *handle;/* [ref] */
597                 WERROR result;
598         } out;
599
600 };
601
602
603 struct winreg_OpenHKPN {
604         struct {
605                 uint16_t *system_name;/* [unique] */
606                 uint32_t access_mask;
607         } in;
608
609         struct {
610                 struct policy_handle *handle;/* [ref] */
611                 WERROR result;
612         } out;
613
614 };
615
616
617 struct winreg_QueryMultipleValues2 {
618         struct {
619                 WERROR result;
620         } out;
621
622 };
623
624 #endif /* _HEADER_winreg */