%double

CY
double

%long

BOOL
BYTE
CHAR
DATE
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 *
ICreateErrorInfo **
IErrorInfo *
IErrorInfo **
ITypeLib *
ITypeLib **
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 *
char *
double *
short *
void *
void **

%str # ???

LPCOLESTR
LPOLESTR

%void

void

%wstr # ???

BSTR

