Futher changes to casts
[tinycc/daniel.git] / win32 / include / winapi / winreg.h
blob21020b8333a7b537c9592ff331cd3336bd36fb2c
1 #ifndef _WINREG_H
2 #define _WINREG_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
11 #define HKEY_CURRENT_USER ((HKEY)0x80000001)
12 #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
13 #define HKEY_USERS ((HKEY)0x80000003)
14 #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
15 #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
16 #define HKEY_DYN_DATA ((HKEY)0x80000006)
17 #define REG_OPTION_VOLATILE 1
18 #define REG_OPTION_NON_VOLATILE 0
19 #define REG_CREATED_NEW_KEY 1
20 #define REG_OPENED_EXISTING_KEY 2
21 #define REG_NONE 0
22 #define REG_SZ 1
23 #define REG_EXPAND_SZ 2
24 #define REG_BINARY 3
25 #define REG_DWORD 4
26 #define REG_DWORD_BIG_ENDIAN 5
27 #define REG_DWORD_LITTLE_ENDIAN 4
28 #define REG_LINK 6
29 #define REG_MULTI_SZ 7
30 #define REG_RESOURCE_LIST 8
31 #define REG_FULL_RESOURCE_DESCRIPTOR 9
32 #define REG_RESOURCE_REQUIREMENTS_LIST 10
33 #define REG_NOTIFY_CHANGE_NAME 1
34 #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
35 #define REG_NOTIFY_CHANGE_LAST_SET 4
36 #define REG_NOTIFY_CHANGE_SECURITY 8
38 #ifndef RC_INVOKED
39 typedef ACCESS_MASK REGSAM;
40 typedef struct value_entA {
41 LPSTR ve_valuename;
42 DWORD ve_valuelen;
43 DWORD ve_valueptr;
44 DWORD ve_type;
45 } VALENTA,*PVALENTA;
46 typedef struct value_entW {
47 LPWSTR ve_valuename;
48 DWORD ve_valuelen;
49 DWORD ve_valueptr;
50 DWORD ve_type;
51 } VALENTW,*PVALENTW;
52 BOOL WINAPI AbortSystemShutdownA(LPCSTR);
53 BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
54 BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
55 BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
56 LONG WINAPI RegCloseKey(HKEY);
57 LONG WINAPI RegConnectRegistryA(LPSTR,HKEY,PHKEY);
58 LONG WINAPI RegConnectRegistryW(LPWSTR,HKEY,PHKEY);
59 LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
60 LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
61 LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
62 LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
63 LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
64 LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
65 LONG WINAPI RegDeleteValueA (HKEY,LPCSTR);
66 LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
67 LONG WINAPI RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD);
68 LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
69 LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
70 LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
71 LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
72 LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
73 LONG WINAPI RegFlushKey(HKEY);
74 LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
75 LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
76 LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
77 LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
78 LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
79 LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
80 LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
81 LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
82 LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
83 LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
84 LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD);
85 LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD);
86 LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
87 LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
88 LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
89 LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
90 LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
91 LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
92 LONG WINAPI RegRestoreKeyA (HKEY,LPCSTR,DWORD);
93 LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
94 LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
95 LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
96 LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
97 LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
98 LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
99 LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
100 LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
101 LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
102 LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
104 #ifdef UNICODE
105 typedef VALENTW VALENT,*PVALENT;
106 #define AbortSystemShutdown AbortSystemShutdownW
107 #define InitiateSystemShutdown InitiateSystemShutdownW
108 #define RegConnectRegistry RegConnectRegistryW
109 #define RegCreateKey RegCreateKeyW
110 #define RegCreateKeyEx RegCreateKeyExW
111 #define RegDeleteKey RegDeleteKeyW
112 #define RegDeleteValue RegDeleteValueW
113 #define RegEnumKey RegEnumKeyW
114 #define RegEnumKeyEx RegEnumKeyExW
115 #define RegEnumValue RegEnumValueW
116 #define RegLoadKey RegLoadKeyW
117 #define RegOpenKey RegOpenKeyW
118 #define RegOpenKeyEx RegOpenKeyExW
119 #define RegQueryInfoKey RegQueryInfoKeyW
120 #define RegQueryMultipleValues RegQueryMultipleValuesW
121 #define RegQueryValue RegQueryValueW
122 #define RegQueryValueEx RegQueryValueExW
123 #define RegReplaceKey RegReplaceKeyW
124 #define RegRestoreKey RegRestoreKeyW
125 #define RegSaveKey RegSaveKeyW
126 #define RegSetValue RegSetValueW
127 #define RegSetValueEx RegSetValueExW
128 #define RegUnLoadKey RegUnLoadKeyW
129 #else
130 typedef VALENTA VALENT,*PVALENT;
131 #define AbortSystemShutdown AbortSystemShutdownA
132 #define InitiateSystemShutdown InitiateSystemShutdownA
133 #define RegConnectRegistry RegConnectRegistryA
134 #define RegCreateKey RegCreateKeyA
135 #define RegCreateKeyEx RegCreateKeyExA
136 #define RegDeleteKey RegDeleteKeyA
137 #define RegDeleteValue RegDeleteValueA
138 #define RegEnumKey RegEnumKeyA
139 #define RegEnumKeyEx RegEnumKeyExA
140 #define RegEnumValue RegEnumValueA
141 #define RegLoadKey RegLoadKeyA
142 #define RegOpenKey RegOpenKeyA
143 #define RegOpenKeyEx RegOpenKeyExA
144 #define RegQueryInfoKey RegQueryInfoKeyA
145 #define RegQueryMultipleValues RegQueryMultipleValuesA
146 #define RegQueryValue RegQueryValueA
147 #define RegQueryValueEx RegQueryValueExA
148 #define RegReplaceKey RegReplaceKeyA
149 #define RegRestoreKey RegRestoreKeyA
150 #define RegSaveKey RegSaveKeyA
151 #define RegSetValue RegSetValueA
152 #define RegSetValueEx RegSetValueExA
153 #define RegUnLoadKey RegUnLoadKeyA
154 #endif
155 #endif
156 #ifdef __cplusplus
158 #endif
159 #endif