FreeRDP
registry_reg.h
1 
19 #ifndef REGISTRY_REG_H_
20 #define REGISTRY_REG_H_
21 
22 #include <winpr/registry.h>
23 
24 typedef struct s_reg Reg;
25 typedef struct s_reg_key RegKey;
26 typedef struct s_reg_val RegVal;
27 
28 struct s_reg
29 {
30  FILE* fp;
31  char* line;
32  char* next_line;
33  size_t line_length;
34  char* buffer;
35  char* filename;
36  BOOL read_only;
37  RegKey* root_key;
38  char* saveptr;
39 };
40 
41 struct s_reg_val
42 {
43  char* name;
44  DWORD type;
45  RegVal* prev;
46  RegVal* next;
47 
48  union reg_data
49  {
50  DWORD dword;
51  UINT64 qword;
52  char* string;
53  } data;
54 };
55 
56 struct s_reg_key
57 {
58  char* name;
59  DWORD type;
60  RegKey* prev;
61  RegKey* next;
62 
63  char* subname;
64  RegVal* values;
65  RegKey* subkeys;
66 };
67 
68 Reg* reg_open(BOOL read_only);
69 void reg_close(Reg* reg);
70 
71 const char* reg_type_string(DWORD type);
72 
73 #endif