home *** CD-ROM | disk | FTP | other *** search
- #ifndef _WINDEF_H
- #define _WINDEF_H
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #ifndef WINVER
- #define WINVER 0x0400
- #endif
- #ifndef _WIN32_WINNT
- #define _WIN32_WINNT WINVER
- #endif
- #ifndef WIN32
- #define WIN32
- #endif
- #ifndef _WIN32
- #define _WIN32
- #endif
- #define FAR
- #define far
- #define NEAR
- #define near
- #ifndef CONST
- #define CONST const
- #endif
- #undef MAX_PATH
- #define MAX_PATH 260
-
- #ifndef NULL
- #ifdef __cplusplus
- #define NULL 0
- #else
- #define NULL ((void*)0)
- #endif
- #endif
- #ifndef FALSE
- #define FALSE 0
- #endif
- #ifndef TRUE
- #define TRUE 1
- #endif
- #define IN
- #define OUT
- #define OPTIONAL
-
- #ifdef __GNUC__
- #define PACKED __attribute__((packed))
- #ifndef _stdcall
- #define _stdcall __attribute__((stdcall))
- #endif
- #ifndef __stdcall
- #define __stdcall __attribute__((stdcall))
- #endif
- #ifndef _cdecl
- #define _cdecl __attribute__((cdecl))
- #endif
- #ifndef __cdecl
- #define __cdecl __attribute__((cdecl))
- #endif
- #ifndef __declspec
- #define __declspec(e) __attribute__((e))
- #endif
- #ifndef _declspec
- #define _declspec(e) __attribute__((e))
- #endif
- #else
- #define PACKED
- #define _cdecl
- #define __cdecl
- #endif
-
- #undef pascal
- #undef _pascal
- #undef __pascal
- #define pascal __stdcall
- #define _pascal __stdcall
- #define __pascal __stdcall
- #define PASCAL _pascal
- #define CDECL _cdecl
- #define STDCALL __stdcall
- #define WINAPI __stdcall
- #define WINAPIV __cdecl
- #define APIENTRY __stdcall
- #define CALLBACK __stdcall
- #define APIPRIVATE __stdcall
-
- #define DECLSPEC_IMPORT __declspec(dllimport)
- #define DECLSPEC_EXPORT __declspec(dllexport)
- #define DECLSPEC_NORETURN __declspec(noreturn)
- #define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
- #define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
- #define LOWORD(l) ((WORD)((DWORD)(l)))
- #define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
- #define LOBYTE(w) ((BYTE)(w))
- #define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
-
- #ifndef _export
- #define _export
- #endif
- #ifndef __export
- #define __export
- #endif
-
- #ifndef NOMINMAX
- #ifndef max
- #define max(a,b) ((a)>(b)?(a):(b))
- #endif
- #ifndef min
- #define min(a,b) ((a)<(b)?(a):(b))
- #endif
- #endif
-
- #define UNREFERENCED_PARAMETER(P) {(P)=(P);}
- #define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
- #define DBG_UNREFERENCED_PARAMETER(P)
- #define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
-
- typedef unsigned long DWORD;
- typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
- /* FIXME: Is there a good solution to this? */
- #ifndef __OBJC__
- typedef WINBOOL BOOL;
- #else
- #define BOOL WINBOOL
- #endif
- typedef BOOL *PBOOL,*LPBOOL;
- typedef unsigned char BYTE;
- typedef unsigned short WORD;
- typedef float FLOAT;
- typedef FLOAT *PFLOAT;
- typedef BYTE *PBYTE,*LPBYTE;
- typedef int *PINT,*LPINT;
- typedef WORD *PWORD,*LPWORD;
- typedef long *LPLONG;
- typedef DWORD *PDWORD,*LPDWORD;
- typedef void *PVOID,*LPVOID;
- typedef CONST void *PCVOID,*LPCVOID;
- typedef int INT;
- typedef unsigned int UINT,*PUINT,*LPUINT;
-
- #include <winnt.h>
-
- typedef UINT WPARAM;
- typedef LONG LPARAM;
- typedef LONG LRESULT;
- typedef LONG HRESULT;
- typedef WORD ATOM;
- typedef HANDLE HGLOBAL;
- typedef HANDLE HLOCAL;
- typedef HANDLE GLOBALHANDLE;
- typedef HANDLE LOCALHANDLE;
- typedef void *HGDIOBJ;
- DECLARE_HANDLE(HACCEL);
- DECLARE_HANDLE(HBITMAP);
- DECLARE_HANDLE(HBRUSH);
- DECLARE_HANDLE(HCOLORSPACE);
- DECLARE_HANDLE(HDC);
- DECLARE_HANDLE(HGLRC);
- DECLARE_HANDLE(HDESK);
- DECLARE_HANDLE(HENHMETAFILE);
- DECLARE_HANDLE(HFONT);
- DECLARE_HANDLE(HICON);
- DECLARE_HANDLE(HKEY);
- typedef HKEY *PHKEY;
- DECLARE_HANDLE(HMENU);
- DECLARE_HANDLE(HMETAFILE);
- DECLARE_HANDLE(HINSTANCE);
- typedef HINSTANCE HMODULE;
- DECLARE_HANDLE(HPALETTE);
- DECLARE_HANDLE(HPEN);
- DECLARE_HANDLE(HRGN);
- DECLARE_HANDLE(HRSRC);
- DECLARE_HANDLE(HSTR);
- DECLARE_HANDLE(HTASK);
- DECLARE_HANDLE(HWND);
- DECLARE_HANDLE(HWINSTA);
- DECLARE_HANDLE(HKL);
- typedef int HFILE;
- typedef HICON HCURSOR;
- typedef DWORD COLORREF;
- typedef int (WINAPI *FARPROC)();
- typedef int (WINAPI *NEARPROC)();
- typedef int (WINAPI *PROC)();
- typedef struct tagRECT {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
- } RECT,RECTL,*LPRECT,*LPRECTL;
- typedef const RECT *LPCRECT,*LPCRECTL;
- typedef struct tagPOINT {
- LONG x;
- LONG y;
- } POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
- typedef struct tagSIZE {
- LONG cx;
- LONG cy;
- } SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
- typedef struct tagPOINTS {
- SHORT x;
- SHORT y;
- } POINTS,*PPOINTS,*LPPOINTS;
-
- #ifdef __cplusplus
- }
- #endif
- #endif
-