summaryrefslogtreecommitdiffstats
path: root/private/ole32/olethunk/thc/thpp/config.h
blob: cb25e420b3c2196b72ac8a97e9d20c192c3d847b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/* Additional base types which the THOPS interpreter understands:
   HANDLE
   HWND
   HMENU
   HINSTANCE
   HICON
   HGLOBAL
   HDC
   HACCEL
   HOLEMENU
   HTASK
   HRESULT
   WPARAM
   LPARAM
   WCHAR
   SNB
   */

/* Always compile for Win16 */
#undef WIN32

#define WINAPI
#define FAR
#define CDECL
#define CALLBACK
#define NONAMELESSUNION
#define INITGUID
#define _INC_STRING
#define PASCAL __pascal

#define DECLARE_HANDLE(type)

typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef void *LPVOID;
typedef int BOOL;
typedef DWORD *LPDWORD;
typedef WCHAR *LPWSTR;
typedef WCHAR const *LPCWSTR;
typedef void VOID;
typedef unsigned int UINT;
typedef long LONG;
typedef WORD *LPWORD;
typedef char *LPSTR;
typedef char const *LPCSTR;

/* This isn't called point to ensure that there are no legal uses of
   POINT in the headers */
typedef struct _INT_POINT
{
    int x;
    int y;
} INT_POINT;

typedef struct tagRECT
{
    int top;
    int left;
    int right;
    int bottom;
} RECT, *LPRECT;

typedef struct tagSIZE
{
    int x;
    int y;
} SIZE, *LPSIZE;

typedef struct tagMSG
{
    HWND        hwnd;
    UINT        message;
    WPARAM      wParam;
    LPARAM      lParam;
    DWORD       time;
    INT_POINT   pt;
} MSG, *LPMSG;

typedef struct tagPALETTEENTRY
{
    BYTE        peRed;
    BYTE        peGreen;
    BYTE        peBlue;
    BYTE        peFlags;
} PALETTEENTRY, *LPPALETTEENTRY;

typedef struct tagLOGPALETTE
{
    WORD        palVersion;
    WORD        palNumEntries;
    PALETTEENTRY        palPalEntry[1];
} LOGPALETTE, *LPLOGPALETTE;

/* To compile with this you must first delete this section from
   compobj.h */
#define interface class
#define STDMETHOD(method)       virtual HRESULT STDMETHODCALLTYPE method
#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
#define PURE                    = 0
#define THIS_
#define THIS                    void
#define DECLARE_INTERFACE(iface)    interface iface
#define DECLARE_INTERFACE_(iface, baseiface)    interface iface : public baseiface

/* You must also delete the section defining REF* */