Winsock Structures

The following list provides concise descriptions of each Winsock structure and typedef. For additional information on any structure or typedef, click the structure or typedef name.

Structure Description
addrinfo Used by the getaddrinfo function to hold host address information.
addrinfoW Used by the GetAddrInfoW function to hold host address information.
ADDRINFO_DNS_SERVER Represents a custom Domain Name System (DNS) server, used in the Winsock APIs.
addrinfoex Used by the GetAddrInfoEx function to hold host address information.
addrinfoex2 Used by the GetAddrInfoEx function to hold host address information when both a canonical name and a fully qualified domain name have been requested.
addrinfoex3 Used by the GetAddrInfoEx function to hold host address information when a specific network interface has been requested.
addrinfoex4 Used by the GetAddrInfoEx function to hold host address information when a handle to the fully qualified domain name has been requested.
addrinfoex5 Used by the GetAddrInfoEx function to hold host address information when a handle to the fully qualified domain name has been requested.
addrinfoex6 Used by the GetAddrInfoEx function to hold host address information when a handle to the fully qualified domain name has been requested.
AFPROTOCOLS Supplies a list of protocols to which application programmers can constrain queries. Used for query purposes only.
BLOB Contains information about a block of data. Derived from Binary Large Object.
CSADDR_INFO Contains Winsock address information for a network service or namespace provider.
fd_set Used by various Winsock functions and service providers, such as select, to place sockets into a "set" for various purposes, such as testing a given socket for readability.
GROUP_FILTER Provides multicast filtering parameters for multicast IPv6 or IPv4 addresses.
GROUP_REQ Provides multicast group information for IPv6 or IPv4 addresses.
GROUP_SOURCE_REQ Provides multicast group information for IPv6 or IPv4 addresses that includes the source IP address.
hostent Stores information about a given host, such as host name, IP address, and so forth.
in_addr Represents an IPv4 Internet address.
in_pktinfo Stores received packet address information, and is used by Windows to return information about received packets.
in6_addr Represents an IPv6 Internet address.
in6_pktinfo Stores received IPv6 packet address information, and is used by Windows to return information about received packets.
INET_PORT_RANGE Provides input data used by the SIO_ACQUIRE_PORT_RESERVATION Ioctl to acquire a runtime reservation for a block of TCP or UDP ports.
INET_PORT_RESERVATION_INSTANCE Contains a port reservation and a token for a block of TCP or UDP ports.
INET_PORT_RESERVATION_TOKEN Contains a port reservation token for a block of TCP or UDP ports.
ip_mreq Provides multicast group information for IPv4 addresses.
ip_mreq_source Provides multicast group and source information for IPv4 addresses.
ip_msfilter Provides multicast filtering parameters for IPv4 addresses.
ipv6_mreq Provides multicast group information for IPv6 addresses.
linger Maintains information about a specific socket that specifies how that socket should behave when data is queued to be sent and the closesocket function is called on the socket.
NAPI_DOMAIN_DESCRIPTION_BLOB Describes a domain handled by a namespace provider for the NS_EMAIL namespace.
NAPI_PROVIDER_INSTALLATION_BLOB Contains the information required to install a namespace provider for the NS_EMAIL namespace.
NS_SERVICE_INFO Contains information about a network service or a network service type in the context of a specified namespace, or a set of default namespaces.
PROTOCOL_INFO Contains information about a protocol.
protoent Contains the name and protocol numbers that correspond to a given protocol name.
REAL_TIME_NOTIFICATION_SETTING_INPUT Contains input settings to apply for the REAL_TIME_NOTIFICATION_CAPABILITY transport setting for a TCP socket that is used with ControlChannelTrigger to receive background network notifications in a Windows Store app
REAL_TIME_NOTIFICATION_SETTING_OUTPUT Contains the output settings from a query for the REAL_TIME_NOTIFICATION_CAPABILITY transport setting for a TCP socket that is used with ControlChannelTrigger to receive background network notifications in a Windows Store app.
RIO_EXTENSION_FUNCTION_TABLE Contains information on the functions that implement the Winsock registered I/O extensions.
RIO_BUF Specifies a portion of a registered buffer used for sending or receiving network data with the Winsock registered I/O extensions.
RIO_BUFFERID Specifies a registered buffer descriptor used with the Winsock registered I/O extensions.
RIO_CQ Specifies a completion queue descriptor used for I/O completion notification by send and receive requests with the Winsock registered I/O extensions.
RIO_NOTIFICATION_COMPLETION Specifies the method for I/O completion to be used with a RIONotify function for sending or receiving network data with the Winsock registered I/O extensions.
RIO_RQ Specifies a socket descriptor used by send and receive requests with the Winsock registered I/O extensions.
RIORESULT Contains data used to indicate request completion results used with the Winsock registered I/O extensions.
RM_FEC_INFO Specifies settings for using forward error correction (FEC) with Reliable Multicast.
RM_RECEIVER_STATS Provides statistical information for a Reliable Multicast receiver session.
RM_SEND_WINDOW Specifies the Reliable Multicast send window.
RM_SENDER_STATS Provides statistical information for a Reliable Multicast sender session.
servent Stores or returns the name and service number for a given service name.
SERVICE_ADDRESS Contains address information for a service.
SERVICE_ADDRESSES Contains an array of SERVICE_ADDRESS data structures.
SERVICE_INFO Contains information about a network service or a network service type.
SERVICE_TYPE_INFO_ABS Contains information about a network service type.
SERVICE_TYPE_VALUE_ABS Contains information about a network-service type value. The information may be specific to a namespace.
sockaddr Contains socket address information. The sockaddr structure varies depending on the protocol selected. Limited to IPv4; use SOCKADDR_STORAGE instead.
SOCKADDR_IRDA Used with IrDA socket operations, defined by address family AF_IRDA.
SOCKADDR_STORAGE Stores socket address information, and is sufficiently large to store IPv4 or IPv6 address information, promoting protocol-family and protocol-version independence. Use this structure in place of the sockaddr structure.
SOCKET_ADDRESS Stores protocol-specific address information.
SOCKET_ADDRESS_LIST Stores an array of SOCKET_ADDRESS structures that contain protocol-specific address information.
SOCKET_PEER_TARGET_NAME Contains the IP address and name for a peer target and the type of security protocol to be used on a socket.
SOCKET_SECURITY_QUERY_INFO Contains security information returned by the WSAQuerySocketSecurity function.
SOCKET_SECURITY_QUERY_TEMPLATE Contains the security template used by the WSAQuerySocketSecurity function.
SOCKET_SECURITY_SETTINGS Specifies generic security requirements for a socket.
SOCKET_SECURITY_SETTINGS_IPSEC Specifies various security requirements and settings that are specific to IPsec.
timeval Used to specify time values. Associated with the Berkeley Software Distribution (BSD) file Time.h.
TRANSMIT_FILE_BUFFERS Specifies data to be transmitted before and after file data during a TransmitFile transfer operation.
TRANSMIT_PACKETS_ELEMENT Specifies a single data element to be transmitted by the TransmitPackets function.
TRANSPORT_SETTING_ID Specifies the transport setting ID used by the SIO_APPLY_TRANSPORT_SETTING and SIO_QUERY_TRANSPORT_SETTING IOCTLs to apply or query the transport setting for a socket.
WSABUF Enables the creation or manipulation of a data buffer.
WSACOMPLETION Specifies completion notification settings for I/O control calls made to a registered namespace.
WSADATA Contains information about the Windows Sockets implementation.
WSAMSG Stores address and optional control information about connected and unconnected sockets. Used with the LPFN_WSARECVMSG (WSARecvMsg) function.
WSANAMESPACE_INFO Contains registration information for a namespace provider.
WSANAMESPACE_INFOEX Contains enhanced registration information for a namespace provider.
WSANETWORKEVENTS Stores a socket's internal information about network events.
WSANSCLASSINFO Provides individual parameter information for a specific Winsock namespace.
WSAOVERLAPPED Provides a communication medium between the initiation of an overlapped I/O operation and its subsequent completion.
WSAPOLLFD Stores socket information used by the WSAPoll function.
WSAPROTOCOL_INFO Stores or retrieves complete information for a given protocol.
WSAPROTOCOL_INFOW Store or retrieves complete information for a given protocol. The protocol name is represented as an array of Unicode characters.
WSAPROTOCOLCHAIN Contains a counted list of Catalog Entry identifiers that comprise a protocol chain.
WSAQUERYSET Provides relevant information about a given service.
WSAQUERYSET2 Provides relevant information about a given service.
WSASERVICECLASSINFO Contains information about a specified service class.
WSAVERSION Provides version comparison in Winsock.