1
/* header auto-generated by pidl */
5
#include "libcli/util/ntstatus.h"
7
#include "librpc/gen_ndr/lsa.h"
8
#include "librpc/gen_ndr/security.h"
9
#include "librpc/gen_ndr/misc.h"
10
#ifndef _HEADER_winreg
11
#define _HEADER_winreg
13
#define REG_KEY_READ ( (STANDARD_RIGHTS_READ_ACCESS|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY) )
14
#define REG_KEY_EXECUTE ( REG_KEY_READ )
15
#define REG_KEY_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|KEY_SET_VALUE|KEY_CREATE_SUB_KEY) )
16
#define REG_KEY_ALL ( (STANDARD_RIGHTS_REQUIRED_ACCESS|REG_KEY_READ|REG_KEY_WRITE|KEY_CREATE_LINK) )
17
/* bitmap winreg_AccessMask */
18
#define KEY_QUERY_VALUE ( 0x00001 )
19
#define KEY_SET_VALUE ( 0x00002 )
20
#define KEY_CREATE_SUB_KEY ( 0x00004 )
21
#define KEY_ENUMERATE_SUB_KEYS ( 0x00008 )
22
#define KEY_NOTIFY ( 0x00010 )
23
#define KEY_CREATE_LINK ( 0x00020 )
24
#define KEY_WOW64_64KEY ( 0x00100 )
25
#define KEY_WOW64_32KEY ( 0x00200 )
27
struct winreg_String {
28
uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
29
uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
30
const char *name;/* [unique,charset(UTF16)] */
33
struct KeySecurityData {
34
uint8_t *data;/* [unique,length_is(len),size_is(size)] */
39
struct winreg_SecBuf {
41
struct KeySecurityData sd;
45
enum winreg_CreateAction
46
#ifndef USE_UINT_ENUMS
49
REG_CREATED_NEW_KEY=1,
50
REG_OPENED_EXISTING_KEY=2
53
{ __donnot_use_enum_winreg_CreateAction=0x7FFFFFFF}
54
#define REG_ACTION_NONE ( 0 )
55
#define REG_CREATED_NEW_KEY ( 1 )
56
#define REG_OPENED_EXISTING_KEY ( 2 )
60
struct winreg_StringBuf {
61
uint16_t length;/* [value(strlen_m_term_null(name)*2)] */
63
const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
66
struct winreg_ValNameBuf {
67
uint16_t length;/* [value(strlen_m_term(name)*2)] */
69
const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
72
/* bitmap winreg_NotifyChangeType */
73
#define REG_NOTIFY_CHANGE_NAME ( 0x00000001 )
74
#define REG_NOTIFY_CHANGE_ATTRIBUTES ( 0x00000002 )
75
#define REG_NOTIFY_CHANGE_LAST_SET ( 0x00000004 )
76
#define REG_NOTIFY_CHANGE_SECURITY ( 0x00000008 )
78
struct KeySecurityAttribute {
80
struct KeySecurityData sec_data;
84
struct QueryMultipleValue {
85
struct winreg_String *name;/* [unique] */
86
enum winreg_Type type;
92
struct winreg_OpenHKCR {
94
uint16_t *system_name;/* [unique] */
99
struct policy_handle *handle;/* [ref] */
106
struct winreg_OpenHKCU {
108
uint16_t *system_name;/* [unique] */
109
uint32_t access_mask;
113
struct policy_handle *handle;/* [ref] */
120
struct winreg_OpenHKLM {
122
uint16_t *system_name;/* [unique] */
123
uint32_t access_mask;
127
struct policy_handle *handle;/* [ref] */
134
struct winreg_OpenHKPD {
136
uint16_t *system_name;/* [unique] */
137
uint32_t access_mask;
141
struct policy_handle *handle;/* [ref] */
148
struct winreg_OpenHKU {
150
uint16_t *system_name;/* [unique] */
151
uint32_t access_mask;
155
struct policy_handle *handle;/* [ref] */
162
struct winreg_CloseKey {
164
struct policy_handle *handle;/* [ref] */
168
struct policy_handle *handle;/* [ref] */
175
struct winreg_CreateKey {
177
struct policy_handle *handle;/* [ref] */
178
struct winreg_String name;
179
struct winreg_String keyclass;
181
uint32_t access_mask;
182
struct winreg_SecBuf *secdesc;/* [unique] */
183
enum winreg_CreateAction *action_taken;/* [unique] */
187
struct policy_handle *new_handle;/* [ref] */
188
enum winreg_CreateAction *action_taken;/* [unique] */
195
struct winreg_DeleteKey {
197
struct policy_handle *handle;/* [ref] */
198
struct winreg_String key;
208
struct winreg_DeleteValue {
210
struct policy_handle *handle;/* [ref] */
211
struct winreg_String value;
221
struct winreg_EnumKey {
223
struct policy_handle *handle;/* [ref] */
225
struct winreg_StringBuf *name;/* [ref] */
226
struct winreg_StringBuf *keyclass;/* [unique] */
227
NTTIME *last_changed_time;/* [unique] */
231
struct winreg_StringBuf *name;/* [ref] */
232
struct winreg_StringBuf *keyclass;/* [unique] */
233
NTTIME *last_changed_time;/* [unique] */
240
struct winreg_EnumValue {
242
struct policy_handle *handle;/* [ref] */
244
struct winreg_ValNameBuf *name;/* [ref] */
245
enum winreg_Type *type;/* [unique] */
246
uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
247
uint32_t *size;/* [unique] */
248
uint32_t *length;/* [unique] */
252
struct winreg_ValNameBuf *name;/* [ref] */
253
enum winreg_Type *type;/* [unique] */
254
uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
255
uint32_t *size;/* [unique] */
256
uint32_t *length;/* [unique] */
263
struct winreg_FlushKey {
265
struct policy_handle *handle;/* [ref] */
275
struct winreg_GetKeySecurity {
277
struct policy_handle *handle;/* [ref] */
279
struct KeySecurityData *sd;/* [ref] */
283
struct KeySecurityData *sd;/* [ref] */
290
struct winreg_LoadKey {
292
struct policy_handle *handle;/* [ref] */
293
struct winreg_String *keyname;/* [unique] */
294
struct winreg_String *filename;/* [unique] */
304
struct winreg_NotifyChangeKeyValue {
306
struct policy_handle *handle;/* [ref] */
307
uint8_t watch_subtree;
308
uint32_t notify_filter;
310
struct winreg_String string1;
311
struct winreg_String string2;
322
struct winreg_OpenKey {
324
struct policy_handle *parent_handle;/* [ref] */
325
struct winreg_String keyname;
327
uint32_t access_mask;
331
struct policy_handle *handle;/* [ref] */
338
struct winreg_QueryInfoKey {
340
struct policy_handle *handle;/* [ref] */
341
struct winreg_String *classname;/* [ref] */
345
uint32_t *num_subkeys;/* [ref] */
346
uint32_t *max_subkeylen;/* [ref] */
347
uint32_t *max_classlen;/* [ref] */
348
uint32_t *num_values;/* [ref] */
349
uint32_t *max_valnamelen;/* [ref] */
350
uint32_t *max_valbufsize;/* [ref] */
351
uint32_t *secdescsize;/* [ref] */
352
NTTIME *last_changed_time;/* [ref] */
353
struct winreg_String *classname;/* [ref] */
360
struct winreg_QueryValue {
362
struct policy_handle *handle;/* [ref] */
363
struct winreg_String *value_name;/* [ref] */
364
enum winreg_Type *type;/* [unique] */
365
uint8_t *data;/* [unique,length_is(*data_length),size_is(*data_size)] */
366
uint32_t *data_size;/* [unique] */
367
uint32_t *data_length;/* [unique] */
371
enum winreg_Type *type;/* [unique] */
372
uint8_t *data;/* [unique,length_is(*data_length),size_is(*data_size)] */
373
uint32_t *data_size;/* [unique] */
374
uint32_t *data_length;/* [unique] */
381
struct winreg_ReplaceKey {
389
struct winreg_RestoreKey {
391
struct policy_handle *handle;/* [ref] */
392
struct winreg_String *filename;/* [ref] */
403
struct winreg_SaveKey {
405
struct policy_handle *handle;/* [ref] */
406
struct winreg_String *filename;/* [ref] */
407
struct KeySecurityAttribute *sec_attrib;/* [unique] */
417
struct winreg_SetKeySecurity {
419
struct policy_handle *handle;/* [ref] */
421
struct KeySecurityData *sd;/* [ref] */
431
struct winreg_SetValue {
433
struct policy_handle *handle;/* [ref] */
434
struct winreg_String name;
435
enum winreg_Type type;
436
uint8_t *data;/* [ref,size_is(size)] */
447
struct winreg_UnLoadKey {
455
struct winreg_InitiateSystemShutdown {
457
uint16_t *hostname;/* [unique] */
458
struct lsa_StringLarge *message;/* [unique] */
471
struct winreg_AbortSystemShutdown {
473
uint16_t *server;/* [unique] */
483
struct winreg_GetVersion {
485
struct policy_handle *handle;/* [ref] */
489
uint32_t *version;/* [ref] */
496
struct winreg_OpenHKCC {
498
uint16_t *system_name;/* [unique] */
499
uint32_t access_mask;
503
struct policy_handle *handle;/* [ref] */
510
struct winreg_OpenHKDD {
512
uint16_t *system_name;/* [unique] */
513
uint32_t access_mask;
517
struct policy_handle *handle;/* [ref] */
524
struct winreg_QueryMultipleValues {
526
struct policy_handle *key_handle;/* [ref] */
528
struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
529
uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
530
uint32_t *buffer_size;/* [ref] */
534
struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
535
uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
536
uint32_t *buffer_size;/* [ref] */
543
struct winreg_InitiateSystemShutdownEx {
545
uint16_t *hostname;/* [unique] */
546
struct lsa_StringLarge *message;/* [unique] */
560
struct winreg_SaveKeyEx {
568
struct winreg_OpenHKPT {
570
uint16_t *system_name;/* [unique] */
571
uint32_t access_mask;
575
struct policy_handle *handle;/* [ref] */
582
struct winreg_OpenHKPN {
584
uint16_t *system_name;/* [unique] */
585
uint32_t access_mask;
589
struct policy_handle *handle;/* [ref] */
596
struct winreg_QueryMultipleValues2 {
603
#endif /* _HEADER_winreg */