%long

DWORD
HRESULT
ULONG

%long # --forbidden

BOOL
INT

%ptr

CLSID *
FILETIME *
GUID *
HTASK16 *
IMalloc16 *
LPCLSID
LPDWORD
LPFILETIME
LPMALLOC16 *
LPMESSAGEFILTER
LPMESSAGEFILTER *
LPOLESTR16 *
LPUNKNOWN
LPVOID
LPVOID *
LPWORD
REFCLSID
REFGUID
REFIID

%segptr

SEGPTR

%str

LPCOLESTR16

%str # --forbidden

LPOLESTR

%void

void
VOID

%word

BOOL16
HINSTANCE16
HTASK16
INT16
WORD
