in demo_example/asio/asio/detail/impl/socket_ops.ipp [3666:3703]
inline asio::error_code translate_addrinfo_error(int error)
{
switch (error)
{
case 0:
return asio::error_code();
case EAI_AGAIN:
return asio::error::host_not_found_try_again;
case EAI_BADFLAGS:
return asio::error::invalid_argument;
case EAI_FAIL:
return asio::error::no_recovery;
case EAI_FAMILY:
return asio::error::address_family_not_supported;
case EAI_MEMORY:
return asio::error::no_memory;
case EAI_NONAME:
#if defined(EAI_ADDRFAMILY)
case EAI_ADDRFAMILY:
#endif
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif
return asio::error::host_not_found;
case EAI_SERVICE:
return asio::error::service_not_found;
case EAI_SOCKTYPE:
return asio::error::socket_type_not_supported;
default: // Possibly the non-portable EAI_SYSTEM.
#if defined(ASIO_WINDOWS) || defined(__CYGWIN__)
return asio::error_code(
WSAGetLastError(), asio::error::get_system_category());
#else
return asio::error_code(
errno, asio::error::get_system_category());
#endif
}
}