%double

CY
DATE
double

%long

BOOL
BYTE
CHAR
DWORD
FLOAT
HCURSOR
HICON
HINSTANCE
HPALETTE
HRESULT
HWND
INT
LCID
LONG
OLE_COLOR
REGKIND
SYSKIND
UINT
ULONG
USHORT
VARIANT_BOOL
VARTYPE
WORD

%long # --forbidden

int
short
unsigned int

%ptr

BSTR *
BYTE *
CHAR *
COLORREF *
CY *
DATE *
FLOAT *
ITypeLib *
ITypeLib **
IUnknown **
LONG *
LPBSTR
LPCLSID
LPDWORD
LPFONTDESC
LPOCPFIPARAMS
LPPICTDESC
LPSTREAM
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
OLECHAR *
REFCLSID
REFGUID
REFIID
SAFEARRAY *
SAFEARRAY **
SAFEARRAYBOUND *
ULONG *
USHORT *
VARIANT *
VARIANTARG *
VARIANT_BOOL *
VARTYPE *
char *
double *
short *
void *
void **

%str # ???

LPCOLESTR
LPCSTR
LPOLESTR

%void

void

%wstr # ???

BSTR

