1 #ifndef __FAKE__WINDOWS_H__
2 #define __FAKE__WINDOWS_H__
3 
4 #include <stdio.h>
5 
6 typedef unsigned char BYTE;
7 typedef unsigned short WORD;
8 typedef unsigned int UINT;
9 typedef long LONG;
10 typedef unsigned long DWORD, ULONG, LRESULT, LPARAM, WPARAM;
11 
12 typedef int BOOL;
13 enum { FALSE, TRUE };
14 
15 typedef struct _HANDLE {} *HANDLE;
16 typedef struct _HBRUSH {} *HBRUSH;
17 typedef struct _HCURSOR {} *HCURSOR;
18 typedef struct _HEAP {} *HEAP;
19 typedef struct _HICON {} *HICON;
20 typedef struct _HINSTANCE {} *HINSTANCE;
21 typedef struct _HMENU {} *HMENU;
22 typedef struct _HMODULE {} *HMODULE;
23 typedef struct _HWND {} *HWND;
24 
25 enum { INFINITE, CS_HREDRAW, CS_VREDRAW, COLOR_WINDOW, GWL_USERDATA, HWND_TOP, SPI_GETWORKAREA,
26        WS_CHILD, WS_VISIBLE, SM_CYCAPTION, SM_CYFRAME, SM_CXSCREEN, SM_CYSCREEN,
27        SW_SHOWNORMAL, SW_MINIMIZE, WM_SIZE, WM_SETICON, ICON_BIG, WS_OVERLAPPEDWINDOW,
28        WM_CREATE, WM_TIMER, WM_CLOSE, WM_DESTROY, WM_QUIT
29      };
30 
31 typedef void *LPVOID;
32 
33 #ifdef UNICODE
34 typedef wchar_t TCHAR;
35 #define TEXT(x) L##x
36 #else
37 typedef char TCHAR;
38 #define TEXT(x) x
39 #endif
40 
41 typedef const TCHAR *LPCTSTR;
42 
43 typedef char *LPSTR;
44 typedef const char *LPCSTR;
45 #define IDI_INFORMATION TEXT("IDI_INFORMATION")
46 #define IDI_WARNING TEXT("IDI_WARNING")
47 #define IDI_ERROR TEXT("IDI_ERROR")
48 
49 typedef void (*LPPROC)(void);
50 
51 #define WINAPI
52 #define CALLBACK
53 
54 struct WNDCLASSEX
55 {
56     int cbSize;
57     int style;
58     LRESULT CALLBACK(*lpfnWndProc)(HWND, UINT, WPARAM, LPARAM);
59     int cbClsExtra;
60     int cbWndExtra;
61     HINSTANCE hInstance;
62     HICON hIcon;
63     HCURSOR hCursor;
64     HBRUSH hbrBackground;
65     LPCTSTR lpszMenuName;
66     LPCTSTR lpszClassName;
67     HICON hIconSm;
68 };
69 
70 struct RECT
71 {
72     LONG left, right, top, bottom;
73 };
74 
75 struct MSG
76 {
77 };
78 
79 typedef struct
80 {
81     LPVOID lpCreateParams;
82 } CREATESTRUCT, *LPCREATESTRUCT;
83 
CreateEvent(LPVOID,BOOL,BOOL,LPVOID)84 inline HANDLE CreateEvent(LPVOID, BOOL, BOOL, LPVOID) { return 0; }
CreateThread(LPVOID,int,DWORD WINAPI (*)(LPVOID),LPVOID,int,LPVOID)85 inline HANDLE CreateThread(LPVOID, int, DWORD WINAPI(*)(LPVOID), LPVOID, int, LPVOID) { return 0; }
WaitForSingleObject(HANDLE,int)86 inline int WaitForSingleObject(HANDLE, int) { return 0; }
RegisterClassEx(WNDCLASSEX *)87 inline int RegisterClassEx(WNDCLASSEX *) { return 0; }
SetWindowLong(HWND,int,LONG)88 inline int SetWindowLong(HWND, int, LONG) { return 0; }
MAKELPARAM(unsigned short,unsigned short)89 inline LPARAM MAKELPARAM(unsigned short, unsigned short) { return 0; }
CreateWindow(LPCTSTR,LPVOID,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID)90 inline HWND CreateWindow(LPCTSTR, LPVOID, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID) { return 0; }
SendMessage(HWND,UINT,WPARAM,LPARAM)91 inline LRESULT SendMessage(HWND, UINT, WPARAM, LPARAM) { return 0; }
GetSystemMetrics(int)92 inline LONG GetSystemMetrics(int) { return 0; }
SetWindowPos(HWND,int,LONG,LONG,LONG,LONG,int)93 inline int SetWindowPos(HWND, int, LONG, LONG, LONG, LONG, int) { return 0; }
SystemParametersInfo(int,int,LPVOID,int)94 inline int SystemParametersInfo(int, int, LPVOID, int) { return 0; }
ShowWindow(HWND,int)95 inline int ShowWindow(HWND, int) { return 0; }
UpdateWindow(HWND)96 inline int UpdateWindow(HWND) { return 0; }
SetEvent(HANDLE)97 inline int SetEvent(HANDLE) { return 0; }
GetMessage(MSG *,LPVOID,int,int)98 inline BOOL GetMessage(MSG *, LPVOID, int, int) { return FALSE; }
DispatchMessage(MSG *)99 inline int DispatchMessage(MSG *) { return 0; }
GetClientRect(HWND,RECT *)100 inline int GetClientRect(HWND, RECT *) { return 0; }
LoadIcon(HINSTANCE,LPCTSTR)101 inline HICON LoadIcon(HINSTANCE, LPCTSTR) { return 0; }
lstrlenA(LPCSTR)102 inline unsigned lstrlenA(LPCSTR) { return 0; }
lstrcmpA(LPCSTR,LPCSTR)103 inline int lstrcmpA(LPCSTR, LPCSTR) { return 0; }
lstrcpyA(LPSTR,LPCSTR)104 inline int lstrcpyA(LPSTR, LPCSTR) { return 0; }
lstrcatA(LPSTR,LPCSTR)105 inline int lstrcatA(LPSTR, LPCSTR) { return 0; }
106 #define wsprintfA sprintf
SetWindowTextA(HWND,LPCSTR)107 inline int SetWindowTextA(HWND, LPCSTR) { return 0; }
HeapAlloc(HEAP,int,ULONG)108 inline LPVOID HeapAlloc(HEAP, int, ULONG) { return 0; }
GetProcessHeap()109 inline HEAP GetProcessHeap() { return 0; }
HeapFree(HEAP,int,LPVOID)110 inline int HeapFree(HEAP, int, LPVOID) { return 0; }
DestroyWindow(HWND)111 inline int DestroyWindow(HWND) { return 0; }
GetWindowLong(HWND,int)112 inline LONG GetWindowLong(HWND, int) { return 0; }
DefWindowProc(HWND,UINT,WPARAM,LPARAM)113 inline LRESULT CALLBACK DefWindowProc(HWND, UINT, WPARAM, LPARAM) { return 0; }
LoadLibraryA(LPCSTR)114 inline HMODULE LoadLibraryA(LPCSTR) { return 0; }
GetProcAddress(HMODULE,LPCSTR)115 inline LPPROC GetProcAddress(HMODULE, LPCSTR) { return 0; }
SetTimer(HWND,unsigned,unsigned,unsigned)116 inline int SetTimer(HWND, unsigned, unsigned, unsigned) { return 0; }
KillTimer(HWND,unsigned)117 inline int KillTimer(HWND, unsigned) { return 0; }
GetTickCount()118 inline DWORD GetTickCount() { return 0; }
ExitProcess(int)119 inline int ExitProcess(int) { return 0; }
IsIconic(HWND)120 inline bool IsIconic(HWND) { return 0; }
GetForegroundWindow()121 inline HWND GetForegroundWindow() { return 0; }
122 
123 #endif // __FAKE__WINDOWS_H__
124