diff --git a/src/xtd.core.native.unix/src/xtd/native/unix/socket.cpp b/src/xtd.core.native.unix/src/xtd/native/unix/socket.cpp index cec62739a606..5cd4f81933d2 100644 --- a/src/xtd.core.native.unix/src/xtd/native/unix/socket.cpp +++ b/src/xtd.core.native.unix/src/xtd/native/unix/socket.cpp @@ -45,7 +45,7 @@ namespace { } static int_least32_t socket_option_name_to_native(int_least32_t socket_option_name) { - static map socket_option_names = {{SOCKET_OPTION_NAME_DEBUG, SO_DEBUG}, {SOCKET_OPTION_NAME_ACCEPT_CONNECTION, SO_ACCEPTCONN}, {SOCKET_OPTION_NAME_REUSE_ADDRESS, SO_REUSEADDR}, {SOCKET_OPTION_NAME_KEEP_ALIVE, SO_KEEPALIVE}, {SOCKET_OPTION_NAME_DONT_ROUTE, SO_DONTROUTE}, {SOCKET_OPTION_NAME_BROADCAST, SO_BROADCAST}, /*{SOCKET_OPTION_NAME_USE_LOOPBACK, SO_},*/ {SOCKET_OPTION_NAME_LINGER, SO_LINGER}, {SOCKET_OPTION_NAME_EXCLUSIVE_ADDRESS_USE, SO_REUSEADDR}, {SOCKET_OPTION_NAME_OUT_OF_BAND_INLINE, SO_OOBINLINE}, {SOCKET_OPTION_NAME_SEND_BUFFER, SO_SNDBUF}, {SOCKET_OPTION_NAME_RECEIVE_BUFFER, SO_RCVBUF}, {SOCKET_OPTION_NAME_SEND_LOW_WATER, SO_SNDLOWAT}, {SOCKET_OPTION_NAME_RECEIVE_LOW_WATER, SO_RCVLOWAT}, {SOCKET_OPTION_NAME_SEND_TIMEOUT, SO_SNDTIMEO}, {SOCKET_OPTION_NAME_RECEIVE_TIMEOUT, SO_RCVTIMEO}, {SOCKET_OPTION_NAME_ERROR, SO_ERROR}, {SOCKET_OPTION_NAME_TYPE, SO_TYPE}, /*{SOCKET_OPTION_NAME_MAX_CONNECTION, SO_},*/ {SOCKET_OPTION_NAME_IP_OPTIONS, IP_OPTIONS}, {SOCKET_OPTION_NAME_HEADER_INCLUDED, IP_HDRINCL}, {SOCKET_OPTION_NAME_TYPE_OF_SERVICE, IP_TOS}, {SOCKET_OPTION_NAME_IP_TIME_TO_LIVE, IP_TTL}, {SOCKET_OPTION_NAME_MULTICAST_INTERFACE, IP_MULTICAST_IF}, {SOCKET_OPTION_NAME_MULTICAST_TIME_TO_LIVE, IP_MULTICAST_TTL}, {SOCKET_OPTION_NAME_MULTICAST_LOOPBACK, IP_MULTICAST_LOOP}, {SOCKET_OPTION_NAME_ADD_MEMBERSHIP, IP_ADD_MEMBERSHIP}, {SOCKET_OPTION_NAME_DROP_MEMBERSHIP, IP_DROP_MEMBERSHIP}, {SOCKET_OPTION_NAME_DONT_FRAGMENT, IP_NODEFRAG}, {SOCKET_OPTION_NAME_ADD_SOURCE_MEMBERSHIP, IP_ADD_SOURCE_MEMBERSHIP}, {SOCKET_OPTION_NAME_DROP_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP}, {SOCKET_OPTION_NAME_BLOCK_SOURCE, IP_BLOCK_SOURCE}, {SOCKET_OPTION_NAME_UNBLOCK_SOURCE, IP_UNBLOCK_SOURCE}, {SOCKET_OPTION_NAME_PACKET_INFORMATION, IP_RECVPKTINFO}, {SOCKET_OPTION_NAME_HOP_LIMIT, IPV6_HOPLIMIT}, /*{SOCKET_OPTION_NAME_IP_PROTECT_LEVEL, IPV6_},*/ {SOCKET_OPTION_NAME_IP_V6_ONLY, IPV6_V6ONLY}, /*{SOCKET_OPTION_NAME_NO_DELAY, TCP_}, {SOCKET_OPTION_NAME_BSD_URGENT, TCP_}, {SOCKET_OPTION_NAME_EXPEDITED, TCP_}, {SOCKET_OPTION_NAME_NO_CHECKSUM, UDP_}, {SOCKET_OPTION_NAME_CHECKSUM_COVERAGE, ...}, {SOCKET_OPTION_NAME_UPDATE_ACCEPT_CONTEXT, ...}, {SOCKET_OPTION_NAME_UPDATE_CONNECT_CONTEXT, ...},*/}; + static map socket_option_names = {{SOCKET_OPTION_NAME_DEBUG, SO_DEBUG}, {SOCKET_OPTION_NAME_ACCEPT_CONNECTION, SO_ACCEPTCONN}, {SOCKET_OPTION_NAME_REUSE_ADDRESS, SO_REUSEADDR}, {SOCKET_OPTION_NAME_KEEP_ALIVE, SO_KEEPALIVE}, {SOCKET_OPTION_NAME_DONT_ROUTE, SO_DONTROUTE}, {SOCKET_OPTION_NAME_BROADCAST, SO_BROADCAST}, /*{SOCKET_OPTION_NAME_USE_LOOPBACK, SO_},*/ {SOCKET_OPTION_NAME_LINGER, SO_LINGER}, {SOCKET_OPTION_NAME_EXCLUSIVE_ADDRESS_USE, SO_REUSEADDR}, {SOCKET_OPTION_NAME_OUT_OF_BAND_INLINE, SO_OOBINLINE}, {SOCKET_OPTION_NAME_SEND_BUFFER, SO_SNDBUF}, {SOCKET_OPTION_NAME_RECEIVE_BUFFER, SO_RCVBUF}, {SOCKET_OPTION_NAME_SEND_LOW_WATER, SO_SNDLOWAT}, {SOCKET_OPTION_NAME_RECEIVE_LOW_WATER, SO_RCVLOWAT}, {SOCKET_OPTION_NAME_SEND_TIMEOUT, SO_SNDTIMEO}, {SOCKET_OPTION_NAME_RECEIVE_TIMEOUT, SO_RCVTIMEO}, {SOCKET_OPTION_NAME_ERROR, SO_ERROR}, {SOCKET_OPTION_NAME_TYPE, SO_TYPE}, /*{SOCKET_OPTION_NAME_MAX_CONNECTION, SO_},*/ {SOCKET_OPTION_NAME_IP_OPTIONS, IP_OPTIONS}, {SOCKET_OPTION_NAME_HEADER_INCLUDED, IP_HDRINCL}, {SOCKET_OPTION_NAME_TYPE_OF_SERVICE, IP_TOS}, {SOCKET_OPTION_NAME_IP_TIME_TO_LIVE, IP_TTL}, {SOCKET_OPTION_NAME_MULTICAST_INTERFACE, IP_MULTICAST_IF}, {SOCKET_OPTION_NAME_MULTICAST_TIME_TO_LIVE, IP_MULTICAST_TTL}, {SOCKET_OPTION_NAME_MULTICAST_LOOPBACK, IP_MULTICAST_LOOP}, {SOCKET_OPTION_NAME_ADD_MEMBERSHIP, IP_ADD_MEMBERSHIP}, {SOCKET_OPTION_NAME_DROP_MEMBERSHIP, IP_DROP_MEMBERSHIP}, {SOCKET_OPTION_NAME_DONT_FRAGMENT, IP_DONTFRAG}, {SOCKET_OPTION_NAME_ADD_SOURCE_MEMBERSHIP, IP_ADD_SOURCE_MEMBERSHIP}, {SOCKET_OPTION_NAME_DROP_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP}, {SOCKET_OPTION_NAME_BLOCK_SOURCE, IP_BLOCK_SOURCE}, {SOCKET_OPTION_NAME_UNBLOCK_SOURCE, IP_UNBLOCK_SOURCE}, {SOCKET_OPTION_NAME_PACKET_INFORMATION, IPV6_PKTINFO}, {SOCKET_OPTION_NAME_HOP_LIMIT, IPV6_HOPLIMIT}, /*{SOCKET_OPTION_NAME_IP_PROTECT_LEVEL, IPV6_},*/ {SOCKET_OPTION_NAME_IP_V6_ONLY, IPV6_V6ONLY}, /*{SOCKET_OPTION_NAME_NO_DELAY, TCP_}, {SOCKET_OPTION_NAME_BSD_URGENT, TCP_}, {SOCKET_OPTION_NAME_EXPEDITED, TCP_}, {SOCKET_OPTION_NAME_NO_CHECKSUM, UDP_}, {SOCKET_OPTION_NAME_CHECKSUM_COVERAGE, ...}, {SOCKET_OPTION_NAME_UPDATE_ACCEPT_CONTEXT, ...}, {SOCKET_OPTION_NAME_UPDATE_CONNECT_CONTEXT, ...},*/}; auto it = socket_option_names.find(socket_option_name); if (it == socket_option_names.end()) return -1; return it->second;