source: branches/gcc-kmk/include/win32api.h@ 21702

Last change on this file since 21702 was 21702, checked in by dmik, 14 years ago

Force extern "C" for API declarations.

Seems that IBM VAC implied that for stdcall ones. GCC doesn't do that.

File size: 11.7 KB
Line 
1/*
2 *
3 * Win32 api include file for sources that include OS/2 headers
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 */
8#ifndef __WIN32API_H__
9#define __WIN32API_H__
10
11#include <win32type.h>
12#include <winconst.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18void WIN32API SetLastError(DWORD dwError);
19DWORD WIN32API GetLastError(void);
20
21LONG WIN32API RegCloseKey(HKEY);
22LONG WIN32API RegFlushKey(HKEY);
23LONG WIN32API RegCreateKeyA(HKEY,LPCSTR,LPHKEY);
24LONG WIN32API RegCreateKeyW(HKEY,LPCWSTR,LPHKEY);
25LONG WIN32API RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,
26 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
27LONG WIN32API RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
28 LPSECURITY_ATTRIBUTES,LPHKEY,LPDWORD);
29LONG WIN32API RegDeleteKeyA(HKEY,LPCSTR);
30LONG WIN32API RegDeleteKeyW(HKEY,LPWSTR);
31LONG WIN32API RegDeleteValueA(HKEY,LPSTR);
32LONG WIN32API RegDeleteValueW(HKEY,LPWSTR);
33LONG WIN32API RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
34LONG WIN32API RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
35LONG WIN32API RegEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
36LONG WIN32API RegEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
37LONG WIN32API RegOpenKeyA(HKEY,LPCSTR,LPHKEY);
38LONG WIN32API RegOpenKeyW(HKEY,LPCWSTR,LPHKEY);
39LONG WIN32API RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,LPHKEY);
40LONG WIN32API RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,LPHKEY);
41LONG WIN32API RegQueryValueA(HKEY,LPCSTR,LPSTR,LPLONG);
42LONG WIN32API RegQueryValueW(HKEY,LPCWSTR,LPWSTR,LPLONG);
43LONG WIN32API RegQueryValueExA(HKEY,LPSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
44LONG WIN32API RegQueryValueExW(HKEY,LPWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
45LONG WIN32API RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
46LONG WIN32API RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
47LONG WIN32API RegSetValueExA(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
48LONG WIN32API RegSetValueExW(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
49
50DWORD WIN32API GetModuleFileNameA(HMODULE,LPSTR,DWORD);
51
52VOID WIN32API ExitProcess(DWORD exitcode);
53
54BOOL WIN32API PostMessageA(HWND,UINT,WPARAM,LPARAM);
55BOOL WIN32API PostMessageW(HWND,UINT,WPARAM,LPARAM);
56LRESULT WIN32API SendMessageA(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
57LRESULT WIN32API SendMessageW(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
58
59BOOL WIN32API IsWindow(HWND);
60
61DWORD WIN32API GetTickCount(void);
62
63HWND WIN32API WindowFromDC(HDC hdc);
64BOOL WIN32API UnmapViewOfFile(LPVOID addr);
65LPVOID WIN32API MapViewOfFile(HANDLE mapping, DWORD access, DWORD offset_high,
66 DWORD offset_low, DWORD count);
67
68HANDLE WIN32API GetCurrentProcess(void);
69DWORD WIN32API GetCurrentProcessId(void);
70HANDLE WIN32API GetCurrentThread(void);
71DWORD WIN32API GetCurrentThreadId(void);
72HANDLE WIN32API GetProcessHeap(void);
73
74LPVOID WIN32API HeapAlloc(HANDLE,DWORD,DWORD);
75DWORD WIN32API HeapCompact(HANDLE,DWORD);
76HANDLE WIN32API HeapCreate(DWORD,DWORD,DWORD);
77BOOL WIN32API HeapDestroy(HANDLE);
78BOOL WIN32API HeapFree(HANDLE,DWORD,LPVOID);
79BOOL WIN32API HeapLock(HANDLE);
80LPVOID WIN32API HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
81DWORD WIN32API HeapSize(HANDLE,DWORD,LPVOID);
82BOOL WIN32API HeapUnlock(HANDLE);
83BOOL WIN32API HeapValidate(HANDLE,DWORD,LPCVOID);
84
85BOOL WIN32API DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
86BOOL WIN32API LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
87BOOL WIN32API FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
88BOOL WIN32API FileTimeToLocalFileTime(FILETIME*,LPFILETIME);
89
90HWND WIN32API GetDesktopWindow(void);
91INT WIN32API GetUpdateRgn(HWND, HRGN, BOOL);
92BOOL WIN32API HideCaret(HWND hwnd);
93BOOL WIN32API ShowCaret(HWND hwnd);
94HDC WIN32API GetDCEx(HWND hwnd, HRGN hrgn, ULONG flags);
95int WIN32API ReleaseDC(HWND hwnd, HDC hdc);
96int WIN32API ExtSelectClipRgn(HDC hdc, HRGN hrgn, int fnMode);
97int WIN32API SelectClipRgn( HDC hdc, HRGN hRgn);
98BOOL WIN32API GetWindowRect( HWND hwnd, RECT *pRect);
99BOOL WIN32API GetClientRect( HWND hwnd, RECT *pRect);
100int WIN32API GetStretchBltMode( HDC hdc);
101
102HRSRC WIN32API FindResourceA(HINSTANCE hModule, LPCSTR lpszName, LPCSTR lpszType);
103HRSRC WIN32API FindResourceW(HINSTANCE hModule, LPCSTR lpszName, LPCSTR lpszType);
104HGLOBAL WIN32API LoadResource(HINSTANCE hModule, HRSRC hRes);
105DWORD WIN32API SizeofResource(HINSTANCE hModule, HRSRC hRes);
106PVOID WIN32API LockResource(HGLOBAL hRes);
107
108BOOL WIN32API SetWindowOrgEx(HDC hdc, int X, int Y, LPPOINT lpPoint);
109BOOL WIN32API SetWindowExtEx(HDC hdc, int nXExtent, int nYExtent, LPSIZE lpSize);
110int WIN32API GetDeviceCaps(HDC hdc, int nIndex);
111int WIN32API GetMapMode(HDC hdc);
112BOOL WIN32API DPtoLP(HDC,LPPOINT,INT);
113BOOL WIN32API LPtoDP(HDC,LPPOINT,INT);
114BOOL WIN32API RedrawWindow(HWND,const RECT*,HRGN, DWORD);
115HGDIOBJ WIN32API SelectObject(HDC,HGDIOBJ);
116BOOL WIN32API DeleteObject(HANDLE hObj);
117DWORD WIN32API GetRegionData(HRGN,DWORD,LPRGNDATA);
118BOOL WIN32API SetRectRgn(HRGN,INT,INT,INT,INT);
119HRGN WIN32API CreateRectRgn(INT,INT,INT,INT);
120HRGN WIN32API CreateRectRgnIndirect(const RECT*);
121HRGN WIN32API CreateRoundRectRgn(INT,INT,INT,INT,INT,INT);
122INT WIN32API CombineRgn(HRGN,HRGN,HRGN,INT);
123BOOL WIN32API SetRectRgn(HRGN,INT,INT,INT,INT);
124BOOL WIN32API EnumChildWindows(HWND hwnd, WNDENUMPROC lpfn, LPARAM lParam);
125BOOL WIN32API UpdateWindow (HWND hwnd);
126BOOL WIN32API GetViewportOrgEx(HDC hdc, LPPOINT pPoint);
127BOOL WIN32API SetViewportOrgEx(HDC hdc, int xOrg, int yOrg, LPPOINT pPoint);
128BOOL WIN32API GetWindowOrgEx(HDC,LPPOINT);
129
130LPCSTR WIN32API GetCommandLineA(VOID);
131LPCWSTR WIN32API GetCommandLineW(VOID);
132
133BOOL WIN32API SetCurrentDirectoryA(LPCSTR lpstrDirectory);
134UINT WIN32API GetCurrentDirectoryA(UINT nBufferLength, LPSTR lpBuffer);
135
136HANDLE WIN32API GetStdHandle(DWORD a);
137DWORD WIN32API GetFileType(HANDLE hFile);
138
139BOOL WIN32API SetWindowPos(HWND,HWND,INT,INT,INT,INT,UINT);
140HWND WIN32API GetWindow(HWND hwnd, UINT uCmd);
141BOOL WIN32API IntersectRect( PRECT lprcDst, const RECT * lprcSrc1, const RECT * lprcSrc2);
142BOOL WIN32API OffsetRect( PRECT lprc, int x, int y);
143
144DWORD WIN32API GetTickCount(void);
145DWORD WIN32API GetCurrentThreadId();
146
147INT WIN32API ShowCursor(BOOL);
148
149BOOL WIN32API PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
150BOOL WIN32API PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
151
152UINT WIN32API RegisterWindowMessageA(LPCSTR);
153UINT WIN32API RegisterWindowMessageW(LPCWSTR);
154
155DWORD WIN32API GetWindowThreadProcessId(HWND,LPDWORD);
156int WIN32API GetWindowTextA( HWND hwnd, LPSTR lpsz, int cch);
157
158BOOL WIN32API ResetEvent(HANDLE);
159BOOL WIN32API SetEvent(HANDLE);
160BOOL WIN32API PulseEvent (HANDLE hEvent);
161
162HANDLE WIN32API CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
163BOOL WIN32API SetThreadPriority(HANDLE,INT);
164INT WIN32API GetThreadPriority(HANDLE);
165VOID WIN32API ExitThread(DWORD dwExitCode);
166BOOL WIN32API TerminateThread(HANDLE hThread, DWORD dwExitCode);
167
168HWND WIN32API WindowFromPoint(POINT);
169INT WIN32API MapWindowPoints(HWND,HWND,LPPOINT,UINT);
170HWND WIN32API GetCapture(void);
171HWND WIN32API SetCapture(HWND);
172BOOL WIN32API IsWindowEnabled(HWND);
173HWND WIN32API SetActiveWindow( HWND hwnd);
174BOOL WIN32API IsWindowVisible(HWND);
175HWND WIN32API GetParent(HWND);
176BOOL WIN32API ShowWindow(HWND hwnd, INT nCmdShow);
177
178HMODULE WIN32API LoadLibraryA(LPCSTR);
179BOOL WIN32API FreeLibrary(HMODULE);
180FARPROC WIN32API GetProcAddress(HMODULE,LPCSTR);
181VOID WIN32API DeleteCriticalSection(CRITICAL_SECTION *);
182VOID WIN32API EnterCriticalSection(CRITICAL_SECTION *);
183VOID WIN32API InitializeCriticalSection(CRITICAL_SECTION *);
184VOID WIN32API LeaveCriticalSection(CRITICAL_SECTION *);
185VOID WIN32API MakeCriticalSectionGlobal(CRITICAL_SECTION *);
186LONG WIN32API InterlockedCompareExchange(PLONG dest, LONG xchg, LONG compare);
187LONG WIN32API InterlockedDecrement(LPLONG);
188LONG WIN32API InterlockedExchange(LPLONG,LONG);
189LONG WIN32API InterlockedExchangeAdd(PLONG dest, LONG incr);
190LONG WIN32API InterlockedIncrement(LPLONG);
191
192UINT WIN32API GetSystemDirectoryA(LPSTR,UINT);
193UINT WIN32API GetWindowsDirectoryA(LPSTR,UINT);
194
195BOOL WIN32API IsIconic( HWND hwnd);
196INT WIN32API GetSystemMetrics(INT);
197UINT WIN32API GetDoubleClickTime(void);
198
199UINT WIN32API SetErrorMode(UINT);
200
201UINT WIN32API GetDriveTypeA(LPCSTR);
202
203BOOL WIN32API SetProcessAffinityMask( HANDLE hProcess, DWORD affmask );
204BOOL WIN32API GetProcessAffinityMask(HANDLE hProcess,
205 LPDWORD lpProcessAffinityMask,
206 LPDWORD lpSystemAffinityMask);
207
208HANDLE WIN32API CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
209BOOL WIN32API CloseHandle(HANDLE);
210
211BOOL WIN32API OemToCharA(LPCSTR s, LPSTR d);
212BOOL WIN32API OemToCharBuffA(LPCSTR s, LPSTR d, DWORD len);
213BOOL WIN32API CharToOemA(LPCSTR s, LPSTR d);
214BOOL WIN32API CharToOemBuffA(LPCSTR s, LPSTR d, DWORD len);
215LPSTR WIN32API CharPrevA(LPCSTR start, LPCSTR ptr);
216
217LONG WIN32API GetWindowLongA(HWND,INT);
218LONG WIN32API GetWindowLongW(HWND,INT);
219
220INT WIN32API MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
221INT WIN32API MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
222
223UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
224UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
225INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
226INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
227DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
228DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
229INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
230INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
231BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
232BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
233BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
234BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
235BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
236BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
237BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
238BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
239BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
240BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
241BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
242BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
243
244BOOL WINAPI GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupID);
245
246BOOL WINAPI IsWindowUnicode(HWND);
247INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,BOOL*);
248INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
249
250HDC WIN32API CreateCompatibleDC( HDC hdc);
251BOOL WIN32API DeleteDC(HDC hdc);
252
253HANDLE WINAPI GetCurrentObject(HDC,UINT);
254BOOL WIN32API ValidateRgn( HWND hwnd, HRGN hrgn);
255BOOL WIN32API ValidateRect( HWND hwnd, const RECT * lprc);
256int WIN32API GetRgnBox( HRGN hrgn, PRECT pRect);
257DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,INT,LPWORD,DWORD);
258BOOL WINAPI GetTextExtentPoint32W(HDC,LPCWSTR,INT,LPSIZE);
259BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
260
261BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
262BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
263
264DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
265BOOL WINAPI SetTimeZoneInformation(const LPTIME_ZONE_INFORMATION);
266
267BOOL WINAPI IsDBCSLeadByte(BYTE);
268
269#ifdef __cplusplus
270} // extern "C"
271#endif
272
273#endif
Note: See TracBrowser for help on using the repository browser.