home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / ib / setups / intrabld / data.z / WINDEF.H < prev    next >
C/C++ Source or Header  |  1996-12-11  |  7KB  |  246 lines

  1. /****************************************************************************
  2. *                                                                           *
  3. * windef.h -- Basic Windows Type Definitions                                *
  4. *                                                                           *
  5. * Copyright (c) 1985-1995, Microsoft Corp. All rights reserved.             *
  6. *                                                                           *
  7. ****************************************************************************/
  8.  
  9. /****************************************************************************
  10. *                                                                           *
  11. * This file has been modified for IntraBuilder. It has been adjusted due    *
  12. * to differences in language syntax. This file contains the data type       *
  13. * declarations from WINDEF.H and WINNT.H. Constant declarations appear in   *
  14. * another file. (not included in this Field Test)                           *
  15. *                                                                           *
  16. ****************************************************************************/
  17.  
  18. #ifndef _WINDEF_
  19. #define _WINDEF_
  20.  
  21. #define ULONG               unsigned long
  22. #define PULONG              unsigned long *
  23. #define USHORT              unsigned short
  24. #define PUSHORT             unsigned short *
  25. #define UCHAR               unsigned char
  26. #define PUCHAR              unsigned char *
  27. #define PSZ                 char *
  28.  
  29. #define MAX_PATH          260
  30.  
  31. #define CFALSE               0
  32. #define CTRUE                1
  33.  
  34. #define DWORD               unsigned long
  35. #define BOOL                boolean
  36. #define BYTE                unsigned char
  37. #define WORD                unsigned short
  38. #define FLOAT               float
  39. #define PFLOAT              float *
  40. #define PBOOL               BOOL *
  41. #define LPBOOL              BOOL *
  42. #define PBYTE               char *
  43. #define LPBYTE              char *
  44. #define PINT                int *
  45. #define LPINT               int *
  46. #define PWORD               WORD *
  47. #define LPWORD              WORD *
  48. #define LPLONG              long *
  49. #define PDWORD              DWORD *
  50. #define LPDWORD             DWORD *
  51. #define LPVOID              unsigned long
  52. #define LPCVOID             unsigned long
  53.  
  54. #define INT                 int
  55. #define UINT                unsigned int
  56. #define PUINT               unsigned int *
  57.  
  58.  
  59. /*++ BUILD Version: 0093     Increment this if a change has global effects
  60.  
  61. Copyright (c) 1990-1995  Microsoft Corporation
  62.  
  63. Module Name:
  64.  
  65.     winnt.h
  66.  
  67. Abstract:
  68.  
  69.     This module defines the 32-Bit Windows types and constants that are
  70.     defined by NT, but exposed through the Win32 API.
  71. --*/
  72.  
  73. //
  74. // Basics
  75. //
  76.  
  77. #define VOID       void
  78. #define CHAR       char
  79. #define SHORT      short
  80. #define LONG       long
  81.  
  82. #define WCHAR      short
  83. #define PWCHAR     WCHAR *
  84. #define LPWCH      WCHAR *
  85. #define PWCH       WCHAR *
  86. #define LPCWCH     WCHAR *
  87. #define PCWCH      WCHAR *
  88. #define NWPSTR     WCHAR *
  89. #define LPWSTR     WCHAR *
  90. #define PWSTR      WCHAR *
  91. #define LPCWSTR    WCHAR *
  92. #define PCWSTR     WCHAR *
  93.  
  94. //
  95. // ANSI (Multi-byte Character) types
  96. //
  97. #define PCHAR      CHAR *
  98. #define LPCH       CHAR *
  99. #define PCH        CHAR *
  100. #define LPCCH      CHAR *
  101. #define PCCH       CHAR *
  102. #define NPSTR      CHAR *
  103. #define LPSTR      CHAR *
  104. #define PSTR       CHAR *
  105. #define LPCSTR     CHAR *
  106. #define PCSTR      CHAR *
  107.  
  108. //
  109. // Neutral ANSI/UNICODE types and macros
  110. //
  111.  
  112. #define TCHAR        char
  113. #define PTCHAR       char*
  114. #define TBYTE        unsigned char
  115. #define PTBYTE       unsigned char*
  116. #define LPTCH        LPSTR
  117. #define PTCH         LPSTR
  118. #define PTSTR        LPSTR
  119. #define LPTSTR       LPSTR
  120. #define LPCTSTR      LPCSTR
  121.  
  122. #define PSHORT       SHORT *
  123. #define PLONG        LONG *
  124.  
  125. #define HANDLE       unsigned long
  126. #define PHANDLE      unsigned long *
  127.  
  128. #define CCHAR        char
  129. #define LCID         DWORD
  130. #define PLCID        PDWORD
  131. #define LANGID       WORD
  132.  
  133. #define LONGLONG     double
  134. #define DWORDLONG    double
  135.  
  136. #define PLONGLONG    LONGLONG *
  137. #define PDWORDLONG   PDWORDLONG *
  138.  
  139. #define USN          LONGLONG
  140.  
  141. // This is added for IntraBuilder
  142. #define STRUCTURE        unsigned long
  143. #define PSTRUCTURE       unsigned long
  144. #define LPSTRUCTURE      unsigned long
  145. // end IntraBuilder addition
  146.  
  147. #define LARGE_INTEGER    STRUCTURE
  148. #define PLARGE_INTEGER   PSTRUCTURE
  149. #define ULARGE_INTEGER   STRUCTURE
  150. #define PULARGE_INTEGER  PSTRUCTURE
  151.  
  152. #define LUID             LARGE_INTEGER
  153. #define PLUID            PLARGE_INTEGER
  154.  
  155. #define UNICODE_NULL     0
  156. #define BOOLEAN          BYTE
  157. #define PBOOLEAN         BOOLEAN *
  158. // End winnt.h
  159.  
  160. /* Types use for passing & returning polymorphic values */
  161. #define WPARAM              UINT
  162. #define LPARAM              LONG
  163. #define LRESULT             LONG
  164.  
  165. //
  166. //  Cast macros added for IntraBuilder
  167. //
  168. #define CASTBYTE(a)         (a%256)
  169. #define CASTWORD(a)         (a%65536)
  170. #define CASTLONG(a)         (a%4294967296)
  171.  
  172. #ifndef max
  173. #define max(a,b)            (((a) > (b)) ? (a) : (b))
  174. #endif
  175.  
  176. #ifndef min
  177. #define min(a,b)            (((a) < (b)) ? (a) : (b))
  178. #endif
  179.  
  180. #define MAKEWORD(a, b)      ( CASTBYTE(a) | ( CASTBYTE(b) << 8 ) )
  181. #define MAKELONG(a, b)      ( CASTWORD(a) | ( CASTWORD(b) << 16 ) )
  182. #define LOWORD(l)           ( CASTWORD(l) )
  183. #define HIWORD(l)           ( ( CASTLONG(l) >> 16) & 0xFFFF )
  184. #define LOBYTE(w)           ( CASTBYTE(w) )
  185. #define HIBYTE(w)           ( ( CASTWORD(w) >> 8 ) & 0xFF )
  186.  
  187. #define HWND                HANDLE
  188. #define HHOOK               HANDLE
  189.  
  190. #define ATOM                WORD
  191.  
  192. #define SPHANDLE            PHANDLE
  193. #define LPHANDLE            PHANDLE
  194.  
  195. #define HGLOBAL             HANDLE
  196. #define HLOCAL              HANDLE
  197. #define GLOBALHANDLE        HANDLE
  198. #define LOCALHANDLE         HANDLE
  199.  
  200. #define FARPROC             unsigned long 
  201. #define NEARPROC            unsigned long
  202.  
  203. #define HGDIOBJ             HANDLE
  204.  
  205. #define HACCEL              HANDLE
  206. #define HBITMAP             HANDLE
  207. #define HBRUSH              HANDLE
  208. #define HCOLORSPACE         HANDLE
  209. #define HDC                 HANDLE
  210. #define HGLRC               HANDLE
  211. #define HDESK               HANDLE
  212. #define HENHMETAFILE        HANDLE
  213. #define HFONT               HANDLE
  214. #define HICON               HANDLE
  215. #define HMENU               HANDLE
  216. #define HMETAFILE           HANDLE
  217. #define HINSTANCE           HANDLE
  218. #define HMODULE             HINSTANCE   /* HMODULEs can be used in place of HINSTANCEs */
  219. #define HPALETTE            HANDLE
  220. #define HPEN                HANDLE
  221. #define HRGN                HANDLE
  222. #define HRSRC               HANDLE
  223. #define HSTR                HANDLE
  224. #define HTASK               HANDLE
  225. #define HWINSTA             HANDLE
  226. #define HKL                 HANDLE
  227.  
  228. #define HFILE               int
  229. #define HCURSOR             HICON   /* HICONs & HCURSORs are polymorphic */
  230.  
  231. #define COLORREF            DWORD
  232. #define LPCOLORREF          DWORD *
  233.  
  234. //
  235. //  Added for IntraBuilder
  236. //
  237. #define ENUM                SHORT
  238. #define POINTER             unsigned long
  239. #define LPOINTER            unsigned long
  240. #define ADVAPI32            "ADVAPI32"
  241. #define GDI32               "GDI32"
  242. #define KERNEL32            "KERNEL32"
  243. #define USER32              "USER32"
  244.  
  245. #endif /* _WINDEF_ */
  246.