home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 November / PCWorld_2000-11_cd.bin / Software / Topware / devc40 / _SETUP.5 / Group3 / windef.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  4KB  |  208 lines

  1. #ifndef _WINDEF_H
  2. #define _WINDEF_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7. #ifndef WINVER
  8. #define WINVER 0x0400
  9. #endif
  10. #ifndef _WIN32_WINNT
  11. #define _WIN32_WINNT WINVER
  12. #endif
  13. #ifndef WIN32
  14. #define WIN32
  15. #endif
  16. #ifndef _WIN32
  17. #define _WIN32
  18. #endif
  19. #define FAR
  20. #define far
  21. #define NEAR
  22. #define near
  23. #ifndef CONST
  24. #define CONST const
  25. #endif
  26. #undef MAX_PATH
  27. #define MAX_PATH 260
  28.  
  29. #ifndef NULL
  30. #ifdef __cplusplus
  31. #define NULL 0
  32. #else
  33. #define NULL ((void*)0)
  34. #endif
  35. #endif
  36. #ifndef FALSE
  37. #define FALSE 0
  38. #endif
  39. #ifndef TRUE
  40. #define TRUE 1
  41. #endif
  42. #define IN
  43. #define OUT
  44. #define OPTIONAL
  45.  
  46. #ifdef __GNUC__
  47. #define PACKED __attribute__((packed))
  48. #ifndef _stdcall
  49. #define _stdcall __attribute__((stdcall))
  50. #endif
  51. #ifndef __stdcall
  52. #define __stdcall __attribute__((stdcall))
  53. #endif
  54. #ifndef _cdecl
  55. #define _cdecl __attribute__((cdecl))
  56. #endif
  57. #ifndef __cdecl
  58. #define __cdecl __attribute__((cdecl))
  59. #endif
  60. #ifndef __declspec
  61. #define __declspec(e) __attribute__((e))
  62. #endif
  63. #ifndef _declspec
  64. #define _declspec(e) __attribute__((e))
  65. #endif
  66. #else
  67. #define PACKED
  68. #define _cdecl
  69. #define __cdecl
  70. #endif
  71.  
  72. #undef pascal
  73. #undef _pascal
  74. #undef __pascal
  75. #define pascal __stdcall
  76. #define _pascal __stdcall
  77. #define __pascal __stdcall
  78. #define PASCAL _pascal
  79. #define CDECL _cdecl
  80. #define STDCALL __stdcall
  81. #define WINAPI __stdcall
  82. #define WINAPIV __cdecl
  83. #define APIENTRY __stdcall
  84. #define CALLBACK __stdcall
  85. #define APIPRIVATE __stdcall
  86.  
  87. #define DECLSPEC_IMPORT __declspec(dllimport)
  88. #define DECLSPEC_EXPORT __declspec(dllexport)
  89. #define DECLSPEC_NORETURN __declspec(noreturn)
  90. #define MAKEWORD(a,b)    ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
  91. #define MAKELONG(a,b)    ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
  92. #define LOWORD(l)    ((WORD)((DWORD)(l)))
  93. #define HIWORD(l)    ((WORD)(((DWORD)(l)>>16)&0xFFFF))
  94. #define LOBYTE(w)    ((BYTE)(w))
  95. #define HIBYTE(w)    ((BYTE)(((WORD)(w)>>8)&0xFF))
  96.  
  97. #ifndef _export
  98. #define _export
  99. #endif
  100. #ifndef __export
  101. #define __export
  102. #endif
  103.  
  104. #ifndef NOMINMAX
  105. #ifndef max
  106. #define max(a,b) ((a)>(b)?(a):(b))
  107. #endif
  108. #ifndef min
  109. #define min(a,b) ((a)<(b)?(a):(b))
  110. #endif
  111. #endif
  112.  
  113. #define UNREFERENCED_PARAMETER(P) {(P)=(P);}
  114. #define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
  115. #define DBG_UNREFERENCED_PARAMETER(P)
  116. #define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
  117.  
  118. typedef unsigned long DWORD;
  119. typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
  120. /* FIXME: Is there a good solution to this? */
  121. #ifndef __OBJC__
  122. typedef WINBOOL BOOL;
  123. #else
  124. #define BOOL WINBOOL
  125. #endif
  126. typedef BOOL *PBOOL,*LPBOOL;
  127. typedef unsigned char BYTE;
  128. typedef unsigned short WORD;
  129. typedef float FLOAT;
  130. typedef FLOAT *PFLOAT;
  131. typedef BYTE *PBYTE,*LPBYTE;
  132. typedef int *PINT,*LPINT;
  133. typedef WORD *PWORD,*LPWORD;
  134. typedef long *LPLONG;
  135. typedef DWORD *PDWORD,*LPDWORD;
  136. typedef void *PVOID,*LPVOID;
  137. typedef CONST void *PCVOID,*LPCVOID;
  138. typedef int INT;
  139. typedef unsigned int UINT,*PUINT,*LPUINT;
  140.  
  141. #include <winnt.h>
  142.  
  143. typedef UINT WPARAM;
  144. typedef LONG LPARAM;
  145. typedef LONG LRESULT;
  146. typedef LONG HRESULT;
  147. typedef WORD ATOM;
  148. typedef HANDLE HGLOBAL;
  149. typedef HANDLE HLOCAL;
  150. typedef HANDLE GLOBALHANDLE;
  151. typedef HANDLE LOCALHANDLE;
  152. typedef void *HGDIOBJ;
  153. DECLARE_HANDLE(HACCEL);
  154. DECLARE_HANDLE(HBITMAP);
  155. DECLARE_HANDLE(HBRUSH);
  156. DECLARE_HANDLE(HCOLORSPACE);
  157. DECLARE_HANDLE(HDC);
  158. DECLARE_HANDLE(HGLRC);
  159. DECLARE_HANDLE(HDESK);
  160. DECLARE_HANDLE(HENHMETAFILE);
  161. DECLARE_HANDLE(HFONT);
  162. DECLARE_HANDLE(HICON);
  163. DECLARE_HANDLE(HKEY);
  164. typedef HKEY *PHKEY;
  165. DECLARE_HANDLE(HMENU);
  166. DECLARE_HANDLE(HMETAFILE);
  167. DECLARE_HANDLE(HINSTANCE);
  168. typedef HINSTANCE HMODULE;
  169. DECLARE_HANDLE(HPALETTE);
  170. DECLARE_HANDLE(HPEN);
  171. DECLARE_HANDLE(HRGN);
  172. DECLARE_HANDLE(HRSRC);
  173. DECLARE_HANDLE(HSTR);
  174. DECLARE_HANDLE(HTASK);
  175. DECLARE_HANDLE(HWND);
  176. DECLARE_HANDLE(HWINSTA);
  177. DECLARE_HANDLE(HKL);
  178. typedef int HFILE;
  179. typedef HICON HCURSOR;
  180. typedef DWORD COLORREF;
  181. typedef int (WINAPI *FARPROC)();
  182. typedef int (WINAPI *NEARPROC)();
  183. typedef int (WINAPI *PROC)();
  184. typedef struct tagRECT {
  185.     LONG left;
  186.     LONG top;
  187.     LONG right;
  188.     LONG bottom;
  189. } RECT,RECTL,*LPRECT,*LPRECTL;
  190. typedef const RECT *LPCRECT,*LPCRECTL;
  191. typedef struct tagPOINT {
  192.     LONG x;
  193.     LONG y;
  194. } POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
  195. typedef struct tagSIZE {
  196.     LONG cx;
  197.     LONG cy;
  198. } SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
  199. typedef struct tagPOINTS {
  200.     SHORT x;
  201.     SHORT y;
  202. } POINTS,*PPOINTS,*LPPOINTS;
  203.  
  204. #ifdef __cplusplus
  205. }
  206. #endif
  207. #endif
  208.