OSDN Git Service

2002-06-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
[pf3gnuchains/pf3gnuchains4x.git] / winsup / w32api / include / winreg.h
1 #ifndef _WINREG_H
2 #define _WINREG_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
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_LITTLE_ENDIAN 4
26 #define REG_DWORD 4
27 #define REG_DWORD_BIG_ENDIAN 5
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_QWORD_LITTLE_ENDIAN 11
34 #define REG_QWORD 11
35 #define REG_NOTIFY_CHANGE_NAME 1
36 #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
37 #define REG_NOTIFY_CHANGE_LAST_SET 4
38 #define REG_NOTIFY_CHANGE_SECURITY 8
39
40 #ifndef RC_INVOKED
41 typedef ACCESS_MASK REGSAM;
42 typedef struct value_entA {
43         LPSTR ve_valuename;
44         DWORD ve_valuelen;
45         DWORD ve_valueptr;
46         DWORD ve_type;
47 } VALENTA,*PVALENTA;
48 typedef struct value_entW {
49         LPWSTR ve_valuename;
50         DWORD ve_valuelen;
51         DWORD ve_valueptr;
52         DWORD ve_type;
53 } VALENTW,*PVALENTW;
54 BOOL WINAPI AbortSystemShutdownA(LPCSTR);
55 BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
56 BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
57 BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
58 LONG WINAPI RegCloseKey(HKEY);
59 LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY);
60 LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY);
61 LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
62 LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
63 LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
64 LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
65 LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
66 LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
67 LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
68 LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
69 LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
70 LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
71 LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
72 LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
73 LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
74 LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
75 LONG WINAPI RegFlushKey(HKEY);
76 LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
77 LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
78 LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
79 LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
80 LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
81 LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
82 LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
83 LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
84 LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
85 LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
86 LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD);
87 LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
88 LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
89 LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
90 LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
91 LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
92 LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
93 LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
94 LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
95 LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
96 LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
97 LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
98 LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
99 LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
100 LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
101 LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
102 LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
103 LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
104 LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
105
106 #ifdef UNICODE
107 typedef VALENTW VALENT,*PVALENT;
108 #define AbortSystemShutdown AbortSystemShutdownW
109 #define InitiateSystemShutdown InitiateSystemShutdownW
110 #define RegConnectRegistry RegConnectRegistryW
111 #define RegCreateKey RegCreateKeyW
112 #define RegCreateKeyEx RegCreateKeyExW
113 #define RegDeleteKey RegDeleteKeyW
114 #define RegDeleteValue RegDeleteValueW
115 #define RegEnumKey RegEnumKeyW
116 #define RegEnumKeyEx RegEnumKeyExW
117 #define RegEnumValue RegEnumValueW
118 #define RegLoadKey RegLoadKeyW
119 #define RegOpenKey RegOpenKeyW
120 #define RegOpenKeyEx RegOpenKeyExW
121 #define RegQueryInfoKey RegQueryInfoKeyW
122 #define RegQueryMultipleValues RegQueryMultipleValuesW
123 #define RegQueryValue RegQueryValueW
124 #define RegQueryValueEx RegQueryValueExW
125 #define RegReplaceKey RegReplaceKeyW
126 #define RegRestoreKey RegRestoreKeyW
127 #define RegSaveKey RegSaveKeyW
128 #define RegSetValue RegSetValueW
129 #define RegSetValueEx RegSetValueExW
130 #define RegUnLoadKey RegUnLoadKeyW
131 #else
132 typedef VALENTA VALENT,*PVALENT;
133 #define AbortSystemShutdown AbortSystemShutdownA
134 #define InitiateSystemShutdown InitiateSystemShutdownA
135 #define RegConnectRegistry RegConnectRegistryA
136 #define RegCreateKey RegCreateKeyA
137 #define RegCreateKeyEx RegCreateKeyExA
138 #define RegDeleteKey RegDeleteKeyA
139 #define RegDeleteValue RegDeleteValueA
140 #define RegEnumKey RegEnumKeyA
141 #define RegEnumKeyEx RegEnumKeyExA
142 #define RegEnumValue RegEnumValueA
143 #define RegLoadKey RegLoadKeyA
144 #define RegOpenKey RegOpenKeyA
145 #define RegOpenKeyEx RegOpenKeyExA
146 #define RegQueryInfoKey RegQueryInfoKeyA
147 #define RegQueryMultipleValues RegQueryMultipleValuesA
148 #define RegQueryValue RegQueryValueA
149 #define RegQueryValueEx RegQueryValueExA
150 #define RegReplaceKey RegReplaceKeyA
151 #define RegRestoreKey RegRestoreKeyA
152 #define RegSaveKey RegSaveKeyA
153 #define RegSetValue RegSetValueA
154 #define RegSetValueEx RegSetValueExA
155 #define RegUnLoadKey RegUnLoadKeyA
156 #endif
157 #endif
158 #ifdef __cplusplus
159 }
160 #endif
161 #endif