aa039df48444dcdf9119d792e79af4c1f6aa68dc
[kai/samba.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 /* bitmap winreg_NotifyChangeType */
100 #define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
101 #define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
102 #define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
103 #define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
104
105 struct KeySecurityAttribute {
106         uint32_t data_size;
107         struct KeySecurityData sec_data;
108         uint8_t inherit;
109 };
110
111 struct QueryMultipleValue {
112         struct winreg_String *name;/* [unique] */
113         enum winreg_Type type;
114         uint32_t offset;
115         uint32_t length;
116 };
117
118
119 struct winreg_OpenHKCR {
120         struct {
121                 uint16_t *system_name;/* [unique] */
122                 uint32_t access_mask;
123         } in;
124
125         struct {
126                 struct policy_handle *handle;/* [ref] */
127                 WERROR result;
128         } out;
129
130 };
131
132
133 struct winreg_OpenHKCU {
134         struct {
135                 uint16_t *system_name;/* [unique] */
136                 uint32_t access_mask;
137         } in;
138
139         struct {
140                 struct policy_handle *handle;/* [ref] */
141                 WERROR result;
142         } out;
143
144 };
145
146
147 struct winreg_OpenHKLM {
148         struct {
149                 uint16_t *system_name;/* [unique] */
150                 uint32_t access_mask;
151         } in;
152
153         struct {
154                 struct policy_handle *handle;/* [ref] */
155                 WERROR result;
156         } out;
157
158 };
159
160
161 struct winreg_OpenHKPD {
162         struct {
163                 uint16_t *system_name;/* [unique] */
164                 uint32_t access_mask;
165         } in;
166
167         struct {
168                 struct policy_handle *handle;/* [ref] */
169                 WERROR result;
170         } out;
171
172 };
173
174
175 struct winreg_OpenHKU {
176         struct {
177                 uint16_t *system_name;/* [unique] */
178                 uint32_t access_mask;
179         } in;
180
181         struct {
182                 struct policy_handle *handle;/* [ref] */
183                 WERROR result;
184         } out;
185
186 };
187
188
189 struct winreg_CloseKey {
190         struct {
191                 struct policy_handle *handle;/* [ref] */
192         } in;
193
194         struct {
195                 struct policy_handle *handle;/* [ref] */
196                 WERROR result;
197         } out;
198
199 };
200
201
202 struct winreg_CreateKey {
203         struct {
204                 struct policy_handle *handle;/* [ref] */
205                 struct winreg_String name;
206                 struct winreg_String keyclass;
207                 uint32_t options;
208                 uint32_t access_mask;
209                 struct winreg_SecBuf *secdesc;/* [unique] */
210                 enum winreg_CreateAction *action_taken;/* [unique] */
211         } in;
212
213         struct {
214                 struct policy_handle *new_handle;/* [ref] */
215                 enum winreg_CreateAction *action_taken;/* [unique] */
216                 WERROR result;
217         } out;
218
219 };
220
221
222 struct winreg_DeleteKey {
223         struct {
224                 struct policy_handle *handle;/* [ref] */
225                 struct winreg_String key;
226         } in;
227
228         struct {
229                 WERROR result;
230         } out;
231
232 };
233
234
235 struct winreg_DeleteValue {
236         struct {
237                 struct policy_handle *handle;/* [ref] */
238                 struct winreg_String value;
239         } in;
240
241         struct {
242                 WERROR result;
243         } out;
244
245 };
246
247
248 struct winreg_EnumKey {
249         struct {
250                 struct policy_handle *handle;/* [ref] */
251                 uint32_t enum_index;
252                 struct winreg_StringBuf *name;/* [ref] */
253                 struct winreg_StringBuf *keyclass;/* [unique] */
254                 NTTIME *last_changed_time;/* [unique] */
255         } in;
256
257         struct {
258                 struct winreg_StringBuf *name;/* [ref] */
259                 struct winreg_StringBuf *keyclass;/* [unique] */
260                 NTTIME *last_changed_time;/* [unique] */
261                 WERROR result;
262         } out;
263
264 };
265
266
267 struct winreg_EnumValue {
268         struct {
269                 struct policy_handle *handle;/* [ref] */
270                 uint32_t enum_index;
271                 struct winreg_ValNameBuf *name;/* [ref] */
272                 enum winreg_Type *type;/* [unique] */
273                 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
274                 uint32_t *size;/* [unique] */
275                 uint32_t *length;/* [unique] */
276         } in;
277
278         struct {
279                 struct winreg_ValNameBuf *name;/* [ref] */
280                 enum winreg_Type *type;/* [unique] */
281                 uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
282                 uint32_t *size;/* [unique] */
283                 uint32_t *length;/* [unique] */
284                 WERROR result;
285         } out;
286
287 };
288
289
290 struct winreg_FlushKey {
291         struct {
292                 struct policy_handle *handle;/* [ref] */
293         } in;
294
295         struct {
296                 WERROR result;
297         } out;
298
299 };
300
301
302 struct winreg_GetKeySecurity {
303         struct {
304                 struct policy_handle *handle;/* [ref] */
305                 uint32_t sec_info;
306                 struct KeySecurityData *sd;/* [ref] */
307         } in;
308
309         struct {
310                 struct KeySecurityData *sd;/* [ref] */
311                 WERROR result;
312         } out;
313
314 };
315
316
317 struct winreg_LoadKey {
318         struct {
319                 struct policy_handle *handle;/* [ref] */
320                 struct winreg_String *keyname;/* [unique] */
321                 struct winreg_String *filename;/* [unique] */
322         } in;
323
324         struct {
325                 WERROR result;
326         } out;
327
328 };
329
330
331 struct winreg_NotifyChangeKeyValue {
332         struct {
333                 struct policy_handle *handle;/* [ref] */
334                 uint8_t watch_subtree;
335                 uint32_t notify_filter;
336                 uint32_t unknown;
337                 struct winreg_String string1;
338                 struct winreg_String string2;
339                 uint32_t unknown2;
340         } in;
341
342         struct {
343                 WERROR result;
344         } out;
345
346 };
347
348
349 struct winreg_OpenKey {
350         struct {
351                 struct policy_handle *parent_handle;/* [ref] */
352                 struct winreg_String keyname;
353                 uint32_t unknown;
354                 uint32_t access_mask;
355         } in;
356
357         struct {
358                 struct policy_handle *handle;/* [ref] */
359                 WERROR result;
360         } out;
361
362 };
363
364
365 struct winreg_QueryInfoKey {
366         struct {
367                 struct policy_handle *handle;/* [ref] */
368                 struct winreg_String *classname;/* [ref] */
369         } in;
370
371         struct {
372                 uint32_t *num_subkeys;/* [ref] */
373                 uint32_t *max_subkeylen;/* [ref] */
374                 uint32_t *max_classlen;/* [ref] */
375                 uint32_t *num_values;/* [ref] */
376                 uint32_t *max_valnamelen;/* [ref] */
377                 uint32_t *max_valbufsize;/* [ref] */
378                 uint32_t *secdescsize;/* [ref] */
379                 NTTIME *last_changed_time;/* [ref] */
380                 struct winreg_String *classname;/* [ref] */
381                 WERROR result;
382         } out;
383
384 };
385
386
387 struct winreg_QueryValue {
388         struct {
389                 struct policy_handle *handle;/* [ref] */
390                 struct winreg_String *value_name;/* [ref] */
391                 enum winreg_Type *type;/* [unique] */
392                 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
393                 uint32_t *data_size;/* [unique] */
394                 uint32_t *value_length;/* [unique] */
395         } in;
396
397         struct {
398                 enum winreg_Type *type;/* [unique] */
399                 uint8_t *data;/* [unique,length_is(*value_length),size_is(*data_size)] */
400                 uint32_t *data_size;/* [unique] */
401                 uint32_t *value_length;/* [unique] */
402                 WERROR result;
403         } out;
404
405 };
406
407
408 struct winreg_ReplaceKey {
409         struct {
410                 WERROR result;
411         } out;
412
413 };
414
415
416 struct winreg_RestoreKey {
417         struct {
418                 struct policy_handle *handle;/* [ref] */
419                 struct winreg_String *filename;/* [ref] */
420                 uint32_t flags;
421         } in;
422
423         struct {
424                 WERROR result;
425         } out;
426
427 };
428
429
430 struct winreg_SaveKey {
431         struct {
432                 struct policy_handle *handle;/* [ref] */
433                 struct winreg_String *filename;/* [ref] */
434                 struct KeySecurityAttribute *sec_attrib;/* [unique] */
435         } in;
436
437         struct {
438                 WERROR result;
439         } out;
440
441 };
442
443
444 struct winreg_SetKeySecurity {
445         struct {
446                 struct policy_handle *handle;/* [ref] */
447                 uint32_t access_mask;
448                 struct KeySecurityData *sd;/* [ref] */
449         } in;
450
451         struct {
452                 WERROR result;
453         } out;
454
455 };
456
457
458 struct winreg_SetValue {
459         struct {
460                 struct policy_handle *handle;/* [ref] */
461                 struct winreg_String name;
462                 enum winreg_Type type;
463                 uint8_t *data;/* [ref,size_is(size)] */
464                 uint32_t size;
465         } in;
466
467         struct {
468                 WERROR result;
469         } out;
470
471 };
472
473
474 struct winreg_UnLoadKey {
475         struct {
476                 WERROR result;
477         } out;
478
479 };
480
481
482 struct winreg_InitiateSystemShutdown {
483         struct {
484                 uint16_t *hostname;/* [unique] */
485                 struct lsa_StringLarge *message;/* [unique] */
486                 uint32_t timeout;
487                 uint8_t force_apps;
488                 uint8_t do_reboot;
489         } in;
490
491         struct {
492                 WERROR result;
493         } out;
494
495 };
496
497
498 struct winreg_AbortSystemShutdown {
499         struct {
500                 uint16_t *server;/* [unique] */
501         } in;
502
503         struct {
504                 WERROR result;
505         } out;
506
507 };
508
509
510 struct winreg_GetVersion {
511         struct {
512                 struct policy_handle *handle;/* [ref] */
513         } in;
514
515         struct {
516                 uint32_t *version;/* [ref] */
517                 WERROR result;
518         } out;
519
520 };
521
522
523 struct winreg_OpenHKCC {
524         struct {
525                 uint16_t *system_name;/* [unique] */
526                 uint32_t access_mask;
527         } in;
528
529         struct {
530                 struct policy_handle *handle;/* [ref] */
531                 WERROR result;
532         } out;
533
534 };
535
536
537 struct winreg_OpenHKDD {
538         struct {
539                 uint16_t *system_name;/* [unique] */
540                 uint32_t access_mask;
541         } in;
542
543         struct {
544                 struct policy_handle *handle;/* [ref] */
545                 WERROR result;
546         } out;
547
548 };
549
550
551 struct winreg_QueryMultipleValues {
552         struct {
553                 struct policy_handle *key_handle;/* [ref] */
554                 uint32_t num_values;
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         } in;
559
560         struct {
561                 struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
562                 uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
563                 uint32_t *buffer_size;/* [ref] */
564                 WERROR result;
565         } out;
566
567 };
568
569
570 struct winreg_InitiateSystemShutdownEx {
571         struct {
572                 uint16_t *hostname;/* [unique] */
573                 struct lsa_StringLarge *message;/* [unique] */
574                 uint32_t timeout;
575                 uint8_t force_apps;
576                 uint8_t do_reboot;
577                 uint32_t reason;
578         } in;
579
580         struct {
581                 WERROR result;
582         } out;
583
584 };
585
586
587 struct winreg_SaveKeyEx {
588         struct {
589                 WERROR result;
590         } out;
591
592 };
593
594
595 struct winreg_OpenHKPT {
596         struct {
597                 uint16_t *system_name;/* [unique] */
598                 uint32_t access_mask;
599         } in;
600
601         struct {
602                 struct policy_handle *handle;/* [ref] */
603                 WERROR result;
604         } out;
605
606 };
607
608
609 struct winreg_OpenHKPN {
610         struct {
611                 uint16_t *system_name;/* [unique] */
612                 uint32_t access_mask;
613         } in;
614
615         struct {
616                 struct policy_handle *handle;/* [ref] */
617                 WERROR result;
618         } out;
619
620 };
621
622
623 struct winreg_QueryMultipleValues2 {
624         struct {
625                 WERROR result;
626         } out;
627
628 };
629
630 #endif /* _HEADER_winreg */