%double

double

%long

BOOL
CHAR
DWORD
HANDLE
INT
USHORT
LONG
ULONG
UINT
WCHAR
UCHAR
clock_t
size_t
time_t

%long # --forbidden

int
unsigned int
unsigned long

%longlong
 
LONGLONG
ULONGLONG

%ptr

CHAR *
CRTDLL_FILE *
LPCVOID
LPDWORD
LPDWORD *
LPINT
LPUINT
LPSTR *
LPSTR **
LPCSTR *
LPVOID
PCONTEXT
PEXCEPTION_FRAME
PEXCEPTION_FRAME *
PEXCEPTION_RECORD
VOID *
WCHAR *
_INITTERMFUN *
char *
jmp_buf
find_t *
struct _stat *
struct _timeb *
time_t *
struct _heapinfo *
struct _utimbuf *
struct _exception *
CRTDLL_fpos_t *
diskfree_t *
unsigned char *
va_list
void *

%str

LPSTR
LPCSTR

%void

void
VOID

%wstr

LPCWSTR
LPWSTR

%unknown

new_handler_type
sig_handler_type
comp_func
struct complex
atexit_function
div_t
ldiv_t

