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