Summary of New Socket Ioctl Opcodes

The new socket ioctl opcodes for Windows Sockets 2 are summarized in the following table. See WSAIoctl for detailed information on these opcodes. The WSAIoctl function also supports all the ioctl opcodes specified in ioctlsocket. Theother new protocol-specific ioctl opcodes can be found in the Protocol-specific Annex (a separate document included with the Platform SDK).

Opcode Input Type Output Type Meaning
SIO_ASSOCIATE
_HANDLE
companion API dependent <not used> Associate the socket with the specified handle of a companion interface.
SIO_ENABLE
_CIRCULAR_QUEUEING
<not used> <not used> Circular queuing is enabled.
SIO_FIND_ROUTE struct sockaddr <not used> Request the route to the specified address to be discovered.
SIO_FLUSH <not used> <not used> Discard current contents of the sending queue.
SIO_GET_BROADCAST
_ADDRESS
<not used> struct sockaddr Retrieve the protocol-specific broadcast address to be used in sendto/WSASendTo.
SIO_GET_QOS <not used> QOS Retrieve current flow specification(s) for the socket.
SIO_GET_GROUP_QOS <not used> QOS Reserved for future use with socket groups: Retrieve current group flow specification(s) for the group this socket belongs to.
SIO_MULTIPOINT
_LOOPBACK
BOOL <not used> Control whether data sent in a multipoint session will also be received by the same socket on the local host.
SIO_MULTICAST
_SCOPE
int <not used> Specify the scope over which multicast transmissions will occur.
SIO_SET_QOS QOS <not used> Establish new flow specification(s) for the socket.
SIO_SET_GROUP_QOS QOS <not used> Reserved for future use with socket groups: Establish new group flow specification(s) for the group this socket belongs to.
SIO_TRANSLATE
_HANDLE
int companion API dependent Obtain a corresponding handle for socket s that is valid in the context of a companion interface.
SIO_ROUTING
_INTERFACE_QUERY
SOCKADDR SOCKADDR Obtain the address of local interface which should be used to send to the specified address
SIO_ROUTING
_INTERFACE_CHANGE
SOCKADDR <not used> Request notification of changes in information reported via SIO_ROUTING_INTERFACE_QUERY for the specified address
SIO_ADDRESS
_LIST_QUERY
<not used> SOCKET
_ADDRESS
_LIST
Obtain the list of addresses to which application can bind.
SIO_ADDRESS
_LIST_CHANGE
<not used> <not used> Request notification of changes in information reported via SIO_ADDRESS_LIST_QUERY