%long

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

%ptr

FARPROC
INT *
LPDWORD
LPGUID
LPINT
LPVOID
LPWPUPOSTMESSAGE
LPWSABUF
LPWSADATA
LPWSAOVERLAPPED
LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPWSANETWORKEVENTS
LPWSAPROTOCOL_INFOA
LPWSAPROTOCOL_INFOW
WS_fd_set *
char *
int *
u_long *
struct WS_hostent *
struct WS_protoent *
struct WS_servent *
struct WS_sockaddr *
struct WS_timeval *

%str

LPCSTR
LPSTR

%unknown

struct WS_in_addr

%void

void

%wstr

LPCWSTR
