5#include "../../enum.hpp" 
  106  explicit operator auto() 
const noexcept {
return xtd::enum_collection<xtd::net::sockets::io_control_code> {{
xtd::net::sockets::io_control_code::enable_circular_queuing, 
"enable_circular_queuing"}, {
xtd::net::sockets::io_control_code::flush, 
"flush"}, {
xtd::net::sockets::io_control_code::address_list_change, 
"address_list_change"}, {
xtd::net::sockets::io_control_code::data_to_read, 
"data_to_read"}, {
xtd::net::sockets::io_control_code::oob_data_read, 
"oob_data_read"}, {
xtd::net::sockets::io_control_code::get_broadcast_address, 
"get_broadcast_address"}, {
xtd::net::sockets::io_control_code::address_list_query, 
"address_list_query"}, {
xtd::net::sockets::io_control_code::query_target_pnp_handle, 
"query_target_pnp_handle"}, {
xtd::net::sockets::io_control_code::async_io, 
"async_io"}, {
xtd::net::sockets::io_control_code::non_blocking_io, 
"non_blocking_io"}, {
xtd::net::sockets::io_control_code::associate_handle, 
"associate_handle"}, {
xtd::net::sockets::io_control_code::multipoint_loopback, 
"multipoint_loopback"}, {
xtd::net::sockets::io_control_code::multicast_scope, 
"multicast_scope"}, {
xtd::net::sockets::io_control_code::set_qos, 
"set_qos"}, {
xtd::net::sockets::io_control_code::set_group_qos, 
"set_group_qos"}, {
xtd::net::sockets::io_control_code::routing_interface_change, 
"routing_interface_change"}, {
xtd::net::sockets::io_control_code::namespace_change, 
"namespace_change"}, {
xtd::net::sockets::io_control_code::receive_all, 
"receive_all"}, {
xtd::net::sockets::io_control_code::receive_all_multicast, 
"receive_all_multicast"}, {
xtd::net::sockets::io_control_code::receive_all_igmp_multicast, 
"receive_all_igmp_multicast"}, {
xtd::net::sockets::io_control_code::keep_alive_values, 
"keep_alive_values"}, {
xtd::net::sockets::io_control_code::absorb_router_alert, 
"absorb_router_alert"}, {
xtd::net::sockets::io_control_code::unicast_interface, 
"unicast_interface"}, {
xtd::net::sockets::io_control_code::limit_broadcasts, 
"limit_broadcasts"}, {
xtd::net::sockets::io_control_code::bind_to_interface, 
"bind_to_interface"}, {
xtd::net::sockets::io_control_code::multicast_interface, 
"multicast_interface"}, {
xtd::net::sockets::io_control_code::add_multicast_group_on_interface, 
"add_multicast_group_on_interface"}, {
xtd::net::sockets::io_control_code::delete_multicast_group_from_interface, 
"delete_multicast_group_from_interface"}, {
xtd::net::sockets::io_control_code::get_extension_function_pointer, 
"get_extension_function_pointer"}, {
xtd::net::sockets::io_control_code::get_qos, 
"get_qos"}, {
xtd::net::sockets::io_control_code::get_group_qos, 
"get_group_qos"}, {
xtd::net::sockets::io_control_code::translate_handle, 
"translate_handle"}, {
xtd::net::sockets::io_control_code::routing_interface_query, 
"routing_interface_query"}, {
xtd::net::sockets::io_control_code::address_list_sort, 
"address_list_sort"}};}
 
uint64_t uint64
Represents a 64-bit unsigned integer.
Definition uint64.hpp:23
 
std::vector< xtd::collections::generic::key_value_pair< enum_t, xtd::string > > enum_collection
Represents a pair of an enum_t value and a string of an enum of type enum_t.
Definition enum_collection.hpp:22
 
io_control_code
Specifies the IO control codes supported by the xtd::net::sockets::socket::io_control method.
Definition io_control_code.hpp:30
 
@ multicast_interface
Sets the interface used for outgoing multicast packets. The interface is identified by its index....
 
@ multipoint_loopback
Control whether multicast data sent by the socket appears as incoming data in the sockets receive que...
 
@ receive_all
Enable receiving all IPv4 packets on the network. The socket must have address family xtd::net::socke...
 
@ async_io
Enable notification for when data is waiting to be received. This value is equal to the Winsock†2 FIO...
 
@ keep_alive_values
Control sending TCP keep-alive packets and the interval at which they are sent. This control code is ...
 
@ unicast_interface
Sets the interface used for outgoing unicast packets. This value is equal to the Winsock†2 SIO_UCAST_...
 
@ get_extension_function_pointer
Obtain provider-specific functions that are not part of the Winsock specification....
 
@ associate_handle
Associate this socket with the specified handle of a companion interface. Refer to the appropriate pr...
 
@ translate_handle
Return a handle for the socket that is valid in the context of a companion interface....
 
@ get_qos
Retrieve the QOS structure associated with the socket. This control is only supported on platforms th...
 
@ address_list_sort
Sort the structure returned by the xtd::net::sockets::io_control_code::address_list_query field and a...
 
@ routing_interface_query
Return the interface addresses that can be used to connect to the specified remote address....
 
@ address_list_query
Return the list of local interfaces that the socket can bind to. This control code is supported on Wi...
 
@ data_to_read
Return the number of bytes available for reading. This value is equal to the Winsock†2 FIONREAD const...
 
@ receive_all_igmp_multicast
Enable receiving all Internet Group Management Protocol (IGMP) packets on the network....
 
@ absorb_router_alert
This value is equal to the Winsock†2 SIO_ABSORB_RTRALERT constant.
 
@ non_blocking_io
Control the blocking behavior of the socket. If the argument specified with this control code is zero...
 
@ flush
Discard the contents of the sending queue. This value is equal to the Winsock†2 SIO_FLUSH constant.
 
@ bind_to_interface
Bind the socket to a specified interface index. This control code is supported on Windows 2000 and la...
 
@ multicast_scope
Control the number of times a multicast packet can be forwarded by a router, also known as the Time t...
 
@ get_group_qos
Return the Quality of Service (QOS) attributes for the socket group. This value is reserved for futur...
 
@ receive_all_multicast
Enable receiving all multicast IPv4 packets on the network. These are packets with destination addres...
 
@ limit_broadcasts
This value is equal to the Winsock†2 SIO_LIMIT_BROADCASTS constant.
 
@ enable_circular_queuing
Replace the oldest queued datagram with an incoming datagram when the incoming message queues are ful...
 
@ oob_data_read
Return information about out-of-band data waiting to be received. When using this control code on str...
 
@ set_qos
Sets the Quality of Service (QOS) attributes for the socket. QOS defines the bandwidth requirements f...
 
@ routing_interface_change
Enable receiving notification when the local interface used to access a remote endpoint changes....
 
@ query_target_pnp_handle
Retrieve the underlying provider's SOCKET handle. This handle can be used to receive plug-and-play ev...
 
@ address_list_change
Enable receiving notification when the list of local interfaces for the socket's protocol family chan...
 
@ set_group_qos
Sets the Quality of Service (QOS) attributes for the socket group. This value is reserved for future ...
 
@ namespace_change
Control whether the socket receives notification when a namespace query becomes invalid....
 
@ get_broadcast_address
Return a SOCKADDR structure that contains the broadcast address for the address family of the current...
 
@ delete_multicast_group_from_interface
Remove the socket from a multicast group. This control code is supported on Windows 2000 and later op...
 
@ add_multicast_group_on_interface
Join a multicast group using an interface identified by its index. This control code is supported on ...
 
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
 
Provides the registration struct for enumerations.
Definition enum_register.hpp:38