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