Added GetComputerNameEx[AW] semi-stub.
[wine] / include / winreg.h
1 /*
2  *              Win32 registry defines (see also winnt.h)
3  */
4 #ifndef __WINE_WINREG_H
5 #define __WINE_WINREG_H
6
7 #include "winbase.h"
8 #include "winnt.h"
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif /* defined(__cplusplus) */
13
14 #define HKEY_CLASSES_ROOT       ((HKEY) 0x80000000)
15 #define HKEY_CURRENT_USER       ((HKEY) 0x80000001)
16 #define HKEY_LOCAL_MACHINE      ((HKEY) 0x80000002)
17 #define HKEY_USERS              ((HKEY) 0x80000003)
18 #define HKEY_PERFORMANCE_DATA   ((HKEY) 0x80000004)
19 #define HKEY_CURRENT_CONFIG     ((HKEY) 0x80000005)
20 #define HKEY_DYN_DATA           ((HKEY) 0x80000006)
21
22 /*
23  *      registry provider structs
24  */
25 typedef struct value_entA 
26 {   LPSTR       ve_valuename;
27     DWORD       ve_valuelen;
28     DWORD_PTR   ve_valueptr;
29     DWORD       ve_type;
30 } VALENTA, *PVALENTA;
31
32 typedef struct value_entW {
33     LPWSTR      ve_valuename;
34     DWORD       ve_valuelen;
35     DWORD_PTR   ve_valueptr;
36     DWORD       ve_type;
37 } VALENTW, *PVALENTW;
38
39 typedef ACCESS_MASK REGSAM;
40
41 DWORD       WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
42                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
43 DWORD       WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
44                                      LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
45 #define     RegCreateKeyEx WINELIB_NAME_AW(RegCreateKeyEx)
46 LONG        WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
47 LONG        WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
48 #define     RegSaveKey WINELIB_NAME_AW(RegSaveKey)
49 LONG        WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
50 LONG        WINAPI RegConnectRegistryA(LPCSTR,HKEY,LPHKEY);
51 LONG        WINAPI RegConnectRegistryW(LPCWSTR,HKEY,LPHKEY);
52 #define     RegConnectRegistry WINELIB_NAME_AW(RegConnectRegistry)
53 DWORD       WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
54                                    LPDWORD,LPFILETIME);
55 DWORD       WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
56                                    LPDWORD,LPFILETIME);
57 #define     RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
58 LONG        WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,LPDWORD);
59 LONG        WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
60 LONG        WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
61 #define     RegLoadKey WINELIB_NAME_AW(RegLoadKey)
62 LONG        WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
63 DWORD       WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
64 DWORD       WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
65 #define     RegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
66 DWORD       WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,
67                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
68                                       LPDWORD,LPFILETIME);
69 DWORD       WINAPI RegQueryInfoKeyA(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,
70                                       LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,
71                                       LPDWORD,LPFILETIME);
72 #define     RegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
73 LONG        WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
74 LONG        WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
75 #define     RegReplaceKey WINELIB_NAME_AW(RegReplaceKey)
76 LONG        WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
77 LONG        WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
78 #define     RegRestoreKey WINELIB_NAME_AW(RegRestoreKey)
79 LONG        WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
80 LONG        WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
81 #define     RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
82
83 /* Declarations for functions that are the same in Win16 and Win32 */
84
85 DWORD       WINAPI RegCloseKey(HKEY);
86 DWORD       WINAPI RegFlushKey(HKEY);
87
88 DWORD       WINAPI RegCreateKeyA(HKEY,LPCSTR,LPHKEY);
89 DWORD       WINAPI RegCreateKeyW(HKEY,LPCWSTR,LPHKEY);
90 #define     RegCreateKey WINELIB_NAME_AW(RegCreateKey)
91 DWORD       WINAPI RegDeleteKeyA(HKEY,LPCSTR);
92 DWORD       WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
93 #define     RegDeleteKey WINELIB_NAME_AW(RegDeleteKey)
94 DWORD       WINAPI RegDeleteValueA(HKEY,LPCSTR);
95 DWORD       WINAPI RegDeleteValueW(HKEY,LPCWSTR);
96 #define     RegDeleteValue WINELIB_NAME_AW(RegDeleteValue)
97 DWORD       WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
98 DWORD       WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
99 #define     RegEnumKey WINELIB_NAME_AW(RegEnumKey)
100 DWORD       WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
101 DWORD       WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
102 #define     RegEnumValue WINELIB_NAME_AW(RegEnumValue)
103 DWORD       WINAPI RegOpenKeyA(HKEY,LPCSTR,LPHKEY);
104 DWORD       WINAPI RegOpenKeyW(HKEY,LPCWSTR,LPHKEY);
105 #define     RegOpenKey WINELIB_NAME_AW(RegOpenKey)
106 DWORD       WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,LPLONG);
107 DWORD       WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,LPLONG);
108 #define     RegQueryValue WINELIB_NAME_AW(RegQueryValue)
109 DWORD       WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
110 DWORD       WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
111 #define     RegQueryValueEx WINELIB_NAME_AW(RegQueryValueEx)
112 DWORD       WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
113 DWORD       WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
114 #define     RegSetValue WINELIB_NAME_AW(RegSetValue)
115 DWORD       WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,CONST BYTE*,DWORD);
116 DWORD       WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,CONST BYTE*,DWORD);
117 #define     RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
118
119 #ifdef __cplusplus
120 } /* extern "C" */
121 #endif /* defined(__cplusplus) */
122
123 #endif  /* __WINE_WINREG_H */