Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.1 KiB

  1. /* Additional base types which the THOPS interpreter understands:
  2. HANDLE
  3. HWND
  4. HMENU
  5. HINSTANCE
  6. HICON
  7. HGLOBAL
  8. HDC
  9. HACCEL
  10. HOLEMENU
  11. HTASK
  12. HRESULT
  13. WPARAM
  14. LPARAM
  15. WCHAR
  16. SNB
  17. */
  18. /* Always compile for Win16 */
  19. #undef WIN32
  20. #define WINAPI
  21. #define FAR
  22. #define CDECL
  23. #define CALLBACK
  24. #define NONAMELESSUNION
  25. #define INITGUID
  26. #define _INC_STRING
  27. #define PASCAL __pascal
  28. #define DECLARE_HANDLE(type)
  29. typedef unsigned char BYTE;
  30. typedef unsigned short WORD;
  31. typedef unsigned long DWORD;
  32. typedef void *LPVOID;
  33. typedef int BOOL;
  34. typedef DWORD *LPDWORD;
  35. typedef WCHAR *LPWSTR;
  36. typedef WCHAR const *LPCWSTR;
  37. typedef void VOID;
  38. typedef unsigned int UINT;
  39. typedef long LONG;
  40. typedef WORD *LPWORD;
  41. typedef char *LPSTR;
  42. typedef char const *LPCSTR;
  43. /* This isn't called point to ensure that there are no legal uses of
  44. POINT in the headers */
  45. typedef struct _INT_POINT
  46. {
  47. int x;
  48. int y;
  49. } INT_POINT;
  50. typedef struct tagRECT
  51. {
  52. int top;
  53. int left;
  54. int right;
  55. int bottom;
  56. } RECT, *LPRECT;
  57. typedef struct tagSIZE
  58. {
  59. int x;
  60. int y;
  61. } SIZE, *LPSIZE;
  62. typedef struct tagMSG
  63. {
  64. HWND hwnd;
  65. UINT message;
  66. WPARAM wParam;
  67. LPARAM lParam;
  68. DWORD time;
  69. INT_POINT pt;
  70. } MSG, *LPMSG;
  71. typedef struct tagPALETTEENTRY
  72. {
  73. BYTE peRed;
  74. BYTE peGreen;
  75. BYTE peBlue;
  76. BYTE peFlags;
  77. } PALETTEENTRY, *LPPALETTEENTRY;
  78. typedef struct tagLOGPALETTE
  79. {
  80. WORD palVersion;
  81. WORD palNumEntries;
  82. PALETTEENTRY palPalEntry[1];
  83. } LOGPALETTE, *LPLOGPALETTE;
  84. /* To compile with this you must first delete this section from
  85. compobj.h */
  86. #define interface class
  87. #define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
  88. #define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
  89. #define PURE = 0
  90. #define THIS_
  91. #define THIS void
  92. #define DECLARE_INTERFACE(iface) interface iface
  93. #define DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface
  94. /* You must also delete the section defining REF* */