%long

ACCESS_MASK
ATOM
BOOL
BOOLEAN
BYTE
CHAR
DWORD
FLOAT
HANDLE
HFILE
HGLOBAL
HINSTANCE
HKEY
HKL
HMODULE
HRESULT
HTASK
INT
LANGID
LCID
LONG
LPARAM
LRESULT
MMRESULT
NTSTATUS
OLESTATUS
PHANDLE
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
UINT
ULONG
WCHAR
WORD
WPARAM

%longlong

POINT
ULARGE_INTEGER

%ptr

BOOL *
BYTE *
CHAR *
CLSID *
CONTEXT *
CONTEXT86 *
CRITICAL_SECTION *
DLLVERSIONINFO *
DWORD *
FILETIME *
HANDLE *
HICON *
INT *
IStream *
IUnknown *
LONG *
LPBITMAPINFOHEADER
LPBOOL
LPBYTE
LPCLSID
LPCSTR *
LPCVOID
LPDEVMODEA
LPDEVMODEW
LPDWORD
LPFILETIME
LPFORMATETC
LPGUID
LPHKEY
LPINT
LPITEMIDLIST
LPLOGFONTA
LPLOGFONTW
LPLONG
LPMALLOC *
LPMSG
LPOLECLIENTSITE
LPOLEOBJECT
LPPOINT
LPRECT
LPSCROLLINFO
LPSECURITY_ATTRIBUTES
LPSTORAGE
LPSTR *
LPSTRRET
LPSYSTEMTIME
LPTPMPARAMS
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
LPWORD
LPWSTR *
PACL
PACL *
PCHAR
PDWORD
PEXCEPTION_FRAME
PEXCEPTION_RECORD
PGENERIC_MAPPING
PLARGE_INTEGER
PLUID
POINT *
PPRIVILEGE_SET
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR_CONTROL
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PTIMERAPCROUTINE
PULONG
PVOID
PVOID *
RECT *
REFCLSID
REFGUID
REFIID
SECURITY_ATTRIBUTES *
UINT *
ULONG *
WCHAR *
WORD *
char *
va_list
void *
void **

%str

LPCSTR
LPSTR
OLECHAR *

%void

void
VOID

%wstr

LPCOLESTR
LPCWSTR
LPWSTR

%long # --forbidden

HMODULE16
UINT16
int
long
short
unsigned
