core.sys.windows.winsock2
var FD_SETSIZE FIONBIO IN6ADDR_ANY IN6ADDR_LOOPBACK INET6_ADDRSTRLEN INET_ADDRSTRLEN INVALID_SOCKET IOC_IN IOC_VENDOR IOCPARM_MASK NI_MAXHOST NI_MAXSERV SIO_KEEPALIVE_VALS SOCKET_ERROR WSABASEERR WSADESCRIPTION_LEN WSASYS_STATUS_LEN
alias fd_set LPWSADATA LPWSAOVERLAPPED LPWSAOVERLAPPED_COMPLETION_ROUTINE LPWSAPOLLFD PSOCKADDR PSOCKADDR_IN PSOCKADDR_STORAGE PWSAPOLLFD SOCKADDR SOCKADDR_IN SOCKADDR_STORAGE SOCKET socklen_t WSAPOLLFD
struct addrinfo fd_set_custom hostent linger pollfd protoent servent sockaddr sockaddr_in sockaddr_in6 sockaddr_storage tcp_keepalive timeval WSADATA WSAOVERLAPPED
fn accept bind closesocket connect FD_CLR FD_CREATE FD_ISSET FD_SET FD_ZERO freeaddrinfo getaddrinfo gethostbyaddr gethostbyname gethostname getnameinfo getpeername getprotobyname getprotobynumber getservbyname getservbyport getsockname getsockopt htonl htons inet_addr inet_ntoa ioctlsocket listen ntohl ntohs recv recvfrom select send sendto setsockopt shutdown socket WSACleanup WSAGetLastError WSAIoctl WSAPoll WSAStartup
Types 32
aliasSOCKET = size_t
aliassocklen_t = int
structWSADATA
Fields
ushort wVersionushort wHighVersionchar[WSADESCRIPTION_LEN + 1] szDescriptionchar[WSASYS_STATUS_LEN + 1] szSystemStatusushort iMaxSocketsushort iMaxUdpDgchar * lpVendorInfostructfd_set_custom(uint SETSIZE)
aliasfd_set = fd_set_custom!FD_SETSIZE
structlinger
Fields
ushort l_onoffushort l_lingerstructprotoent
Fields
char * p_namechar * * p_aliasesshort p_protostructservent
Fields
char * s_namechar * * s_aliasesstructtimeval
Fields
int tv_secint tv_usecunionin_addr
Fields
_S_un_t S_unuint s_addrNested Templates
unionin6_addr
Fields
_in6_u_t in6_uubyte[16] s6_addr8ushort[8] s6_addr16uint[4] s6_addr32structsockaddr
Fields
short sa_familyubyte[14] sa_dataaliasSOCKADDR = sockaddr
structsockaddr_storage
Fields
short ss_familychar[6] __ss_pad1long __ss_alignchar[112] __ss_pad2aliasSOCKADDR_STORAGE = sockaddr_storage
aliasPSOCKADDR_STORAGE = SOCKADDR_STORAGE *
structsockaddr_in
Fields
short sin_familyushort sin_portin_addr sin_addrubyte[8] sin_zeroaliasSOCKADDR_IN = sockaddr_in
aliasPSOCKADDR_IN = SOCKADDR_IN *
structsockaddr_in6
Fields
short sin6_familyushort sin6_portuint sin6_flowinfoin6_addr sin6_addruint sin6_scope_idstructaddrinfo
Fields
int ai_flagsint ai_familyint ai_socktypeint ai_protocolsize_t ai_addrlenchar * ai_canonnamesockaddr * ai_addraddrinfo * ai_nextstructhostent
Fields
char * h_namechar * * h_aliasesshort h_addrtypeshort h_lengthchar * * h_addr_listMethods
structWSAOVERLAPPED
aliasLPWSAOVERLAPPED = WSAOVERLAPPED *
aliasLPWSAOVERLAPPED_COMPLETION_ROUTINE = void function(uint, uint, LPWSAOVERLAPPED, uint) nothrow @nogc
structtcp_keepalive
Fields
uint onoffuint keepalivetimeuint keepaliveintervalstructpollfd
aliasWSAPOLLFD = pollfd
aliasPWSAPOLLFD = pollfd *
aliasLPWSAPOLLFD = pollfd *
Functions 43
fn
int WSAStartup(ushort wVersionRequested, LPWSADATA lpWSAData)fn
int ioctlsocket(SOCKET s, int cmd, uint * argp)fn
int getpeername(SOCKET s, sockaddr * name, socklen_t * namelen)fn
int getsockname(SOCKET s, sockaddr * name, socklen_t * namelen)fn
int sendto(SOCKET s, const(void) * buf, int len, int flags, const(sockaddr) * to, socklen_t tolen)fn
int getsockopt(SOCKET s, int level, int optname, void * optval, socklen_t * optlen)fn
int setsockopt(SOCKET s, int level, int optname, const(void) * optval, socklen_t optlen)fn
uint inet_addr(const char * cp)fn
int select(int nfds, fd_set * readfds, fd_set * writefds, fd_set * errorfds, const(timeval) * timeout)fn
char * inet_ntoa(in_addr ina)fn
hostent * gethostbyname(const char * name)fn
hostent * gethostbyaddr(const(void) * addr, int len, int type)fn
protoent * getprotobyname(const char * name)fn
protoent * getprotobynumber(int number)fn
servent * getservbyname(const char * name, const char * proto)fn
servent * getservbyport(int port, const char * proto)fn
int gethostname(const char * name, int namelen)fn
int getaddrinfo(const(char) * nodename, const(char) * servname, const(addrinfo) * hints, addrinfo * * res)fn
void freeaddrinfo(addrinfo * ai)fn
int getnameinfo(const(sockaddr) * sa, socklen_t salen, char * host, uint hostlen, char * serv, uint servlen, int flags)fn
ushort htons(ushort x)fn
uint htonl(uint x)fn
ushort ntohs(ushort x)fn
uint ntohl(uint x)fn
int WSAIoctl(SOCKET s, uint dwIoControlCode,
void * lpvInBuffer, uint cbInBuffer,
void * lpvOutBuffer, uint cbOutBuffer,
uint * lpcbBytesReturned,
LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine) @nogcVariables 17
enumvar
INVALID_SOCKET = cast(SOCKET) ~ 0enumvar
SOCKET_ERROR = - 1enumvar
WSADESCRIPTION_LEN = 256enumvar
WSASYS_STATUS_LEN = 128enumvar
IOCPARM_MASK = 0x7Fenumvar
IOC_IN = cast(int) 0x80000000enumvar
FIONBIO = cast(int)(IOC_IN | ((uint.sizeof & IOCPARM_MASK) << 16) | (102 << 8) | 126)enumvar
NI_MAXHOST = 1025enumvar
NI_MAXSERV = 32enumvar
WSABASEERR = 10000enumvar
FD_SETSIZE = 64Default FD_SETSIZE value. In C/C++, it is redefinable by #define-ing the macro before #include-ing winsock.h. In D, use the FD_CREATE function to allocate a fd_set of an arbitrary size.
enumvar
IN6ADDR_ANY = in6_addrenumvar
IN6ADDR_LOOPBACK = in6_addrenumvar
INET_ADDRSTRLEN = 16enumvar
INET6_ADDRSTRLEN = 46enumvar
IOC_VENDOR = 0x18000000enumvar
SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4