%long

BOOL
DWORD
GROUP
HANDLE
HWND
INT
LONG
SOCKET
UINT
WSAEVENT
int
u_long
u_short

%long # --forbidden

SOCKET16

%ptr

FARPROC
INT *
LPDWORD
LPVOID
LPWSADATA
LPWSAOVERLAPPED
LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPWSANETWORKEVENTS
LPWSAPROTOCOL_INFOA
ULONG *
WIN_hostent *
WIN_protoent *
WIN_servent *
char *
struct sockaddr *
struct timeval *
ws_fd_set32 *

%str

LPCSTR
LPSTR

%unknown

struct in_addr

%void

void