%long

BOOL
CHAR
DWORD
INT
HANDLE
LONG
UINT
WORD

%long # --forbidden

INT16
UINT16
int

%ptr

BYTE *
KEYBOARD_CONFIG *
LPBYTE
LPDIDEVICEOBJECTDATA
LPDWORD
LPMOUSE_EVENT_PROC
LPVOID
struct tagCURSORICONINFO *
struct tagWND *

%str

LPCSTR
LPSTR

%wstr

LPWSTR

%void

void
