Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost error codes reference

Does anyone know where to find a reference for boost error codes. In particular, error codes returned by asynchronous socket handlers?, Google and grepping the header files have tuned up empty.

like image 836
Gearoid Murphy Avatar asked Oct 04 '10 16:10

Gearoid Murphy


3 Answers

I extracted the error values from asio/error.hpp on Linux (I'm using header only asio not boost::asio by the way), here they are:

asio::error::access_denied 13
asio::error::address_family_not_supported 97
asio::error::address_in_use 98
asio::error::already_connected 106
asio::error::already_started 114
asio::error::broken_pipe 32
asio::error::connection_aborted 103
asio::error::connection_refused 111
asio::error::connection_reset 104
asio::error::bad_descriptor 9
asio::error::fault 14
asio::error::host_unreachable 113
asio::error::in_progress 115
asio::error::interrupted 4
asio::error::invalid_argument 22
asio::error::message_size 90
asio::error::name_too_long 36
asio::error::network_down 100
asio::error::network_reset 102
asio::error::network_unreachable 101
asio::error::no_descriptors 24
asio::error::no_buffer_space 105
asio::error::no_memory 12
asio::error::no_permission 1
asio::error::no_protocol_option 92
asio::error::not_connected 107
asio::error::not_socket 88
asio::error::operation_aborted 125
asio::error::operation_not_supported 95
asio::error::shut_down 108
asio::error::timed_out 110
asio::error::try_again 11
asio::error::would_block 11

If you want to generate your own list, this should save you a few mins of copying and pasting:

std::cout << "asio::error::access_denied " << asio::error::access_denied << std::endl;
std::cout << "asio::error::address_family_not_supported " << asio::error::address_family_not_supported << std::endl;
std::cout << "asio::error::address_in_use " << asio::error::address_in_use << std::endl;
std::cout << "asio::error::already_connected " << asio::error::already_connected << std::endl;
std::cout << "asio::error::already_started " << asio::error::already_started << std::endl;
std::cout << "asio::error::broken_pipe " << asio::error::broken_pipe << std::endl;
std::cout << "asio::error::connection_aborted " << asio::error::connection_aborted << std::endl;
std::cout << "asio::error::connection_refused " << asio::error::connection_refused << std::endl;
std::cout << "asio::error::connection_reset " << asio::error::connection_reset << std::endl;
std::cout << "asio::error::bad_descriptor " << asio::error::bad_descriptor << std::endl;
std::cout << "asio::error::fault " << asio::error::fault << std::endl;
std::cout << "asio::error::host_unreachable " << asio::error::host_unreachable << std::endl;
std::cout << "asio::error::in_progress " << asio::error::in_progress << std::endl;
std::cout << "asio::error::interrupted " << asio::error::interrupted << std::endl;
std::cout << "asio::error::invalid_argument " << asio::error::invalid_argument << std::endl;
std::cout << "asio::error::message_size " << asio::error::message_size << std::endl;
std::cout << "asio::error::name_too_long " << asio::error::name_too_long << std::endl;
std::cout << "asio::error::network_down " << asio::error::network_down << std::endl;
std::cout << "asio::error::network_reset " << asio::error::network_reset << std::endl;
std::cout << "asio::error::network_unreachable " << asio::error::network_unreachable << std::endl;
std::cout << "asio::error::no_descriptors " << asio::error::no_descriptors << std::endl;
std::cout << "asio::error::no_buffer_space " << asio::error::no_buffer_space << std::endl;
std::cout << "asio::error::no_memory " << asio::error::no_memory << std::endl;
std::cout << "asio::error::no_permission " << asio::error::no_permission << std::endl;
std::cout << "asio::error::no_protocol_option " << asio::error::no_protocol_option << std::endl;
std::cout << "asio::error::not_connected " << asio::error::not_connected << std::endl;
std::cout << "asio::error::not_socket " << asio::error::not_socket << std::endl;
std::cout << "asio::error::operation_aborted " << asio::error::operation_aborted << std::endl;
std::cout << "asio::error::operation_not_supported " << asio::error::operation_not_supported << std::endl;
std::cout << "asio::error::shut_down " << asio::error::shut_down << std::endl;
std::cout << "asio::error::timed_out " << asio::error::timed_out << std::endl;
std::cout << "asio::error::try_again " << asio::error::try_again << std::endl;
std::cout << "asio::error::would_block " << asio::error::would_block << std::endl;
like image 55
KnucklesTheDog Avatar answered Nov 03 '22 14:11

KnucklesTheDog


you most likely want

#include <boost/asio/errors.hpp>

it is included in the asio documentation.

like image 7
Sam Miller Avatar answered Nov 03 '22 13:11

Sam Miller


Are you using boost::system? This may provide some light: http://www.boost.org/doc/libs/release/libs/system/doc/index.html

like image 2
rturrado Avatar answered Oct 14 '22 21:10

rturrado