source: vendor/current/source3/librpc/gen_ndr/winreg.h@ 740

Last change on this file since 740 was 740, checked in by Silvan Scherrer, 12 years ago

Samba Server: update vendor to 3.6.0

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