Microsoft Windows-specific Extension Functions

The Windows Sockets specification provides a number of extensions to the standard set of Berkeley Sockets routines. Principally, these extended functions allow message or function-based, asynchronous access to network events, as well as enable overlapped I/O. While use of this extended API set is not mandatory for socket-based programming (with the exception of WSAStartup and WSACleanup), it is recommended for conformance with the Microsoft Windows programming paradigm. For features introduced in Windows Sockets 2, please see New Concepts, Additions and Changes for Windows Sockets 2.

WSAAccept1 An extended version of accept which allows for conditional acceptance and socket grouping.
WSAAsyncGetHostByAddr2 3

WSAAsyncGetHostByName2 3

WSAAsyncGetProtoByName2 3

WSAAsyncGetProtoByNumber2 3

WSAAsyncGetServByName2 3

WSAAsyncGetServByPort2 3

A set of functions which provide asynchronous versions of the standard Berkeley getXbyY functions. For example, the WSAAsyncGetHostByName function provides an asynchronous, message-based implementation of the standard Berkeley gethostbyname function.
WSAAsyncSelect 3 Perform asynchronous version of select
WSACancelAsyncRequest2 3 Cancel an outstanding instance of a WSAAsyncGetXByY function.
WSACleanup Sign off from the underlying Windows Sockets DLL.
WSACloseEvent Destroys an event object.
WSAConnect1 An extended version of connect which allows for exchange of connect data and QOS specification.
WSACreateEvent Creates an event object.
WSADuplicateSocket Allow an underlying socket to be shared by creating a virtual socket.
WSAEnumNetworkEvents Discover occurrences of network events.
WSAEnumProtocols Retrieve information about each available protocol.
WSAEventSelect Associate network events with an event object.
WSAGetLastError 3 Obtain details of last Windows Sockets error
WSAGetOverlappedResult Get completion status of overlapped operation.
WSAGetQOSByName Supply QOS parameters based on a well-known service name.
WSAHtonl Extended version of htonl
WSAHtons Extended version of htons
WSAIoctl1 Overlapped-capable version of ioctl
WSAJoinLeaf1 Add a multipoint leaf to a multipoint session
WSANtohl Extended version of ntohl
WSANtohs Extended version of ntohs
WSAProviderConfigChange Receive notifications of service providers being installed/removed.
WSARecv1 An extended version of recv which accommodates scatter/gather I/O, overlapped sockets and provides the flags parameter as IN OUT
WSARecvFrom1 An extended version of recvfrom which accommodates scatter/gather I/O, overlapped sockets and provides the flags parameter as IN OUT
WSAResetEvent Resets an event object.
WSASend1 An extended version of send which accommodates scatter/gather I/O and overlapped sockets
WSASendTo1 An extended version of sendto which accommodates scatter/gather I/O and overlapped sockets
WSASetEvent Sets an event object.
WSASetLastError 3 Set the error to be returned by a subsequent WSAGetLastError
WSASocket An extended version of socket which takes a WSAPROTOCOL_INFO struct as input and allows overlapped sockets to be created. Also allows socket groups to be formed.
WSAStartup 3 Initialize the underlying Windows Sockets DLL.
WSAWaitForMultipleEvents1 Blocks on multiple event objects.
1    The routine can block if acting on a blocking socket.

2    The routine is always realized by the name resolution provider associated with the default TCP/IP service provider, if any.

3    The routine was originally a Windows Sockets 1.1 function