%long

BOOL
CHAR
COLORREF
DWORD
HANDLE
HBITMAP
HDC
HGDIOBJ
HICON
HRGN
HWND
INT
LONG
LPARAM
UINT
WPARAM
WORD

%long # --forbidden

int

%ptr

BITMAPINFO *
BYTE *
DC *
CURSORICONINFO *
CREATESTRUCTA *
DEVICEFONTENUMPROC
DEVMODEA *
DWORD *
HANDLE *
INT *
LPBYTE
LPCVOID
LPINT
LPLOGFONTW
LPPOINT
LPRECT
LPSIZE
LPVOID
LPVOID *
PIXELFORMATDESCRIPTOR *
POINT *
RECT *
TEXTMETRICW *
WINDOWPOS *
void *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%void

void
