xtd - Reference Guide  0.1.1
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
socket_error.h
Go to the documentation of this file.
1 #pragma once
5 
6 #include "../../ustring.h"
7 
9 #undef unix
11 
13 namespace xtd {
15  namespace net {
17  namespace sockets {
24  enum class socket_error {
26  sock_error = -1,
28  success = 0,
30  operation_aborted = 995,
32  io_pending = 997,
34  interrupted = 10004,
36  access_denied = 10013,
38  fault = 10014,
40  invalid_argument = 10022,
42  too_many_open_sockets = 10024,
44  would_block = 10035,
46  in_progress = 10036,
48  already_in_progress = 10037,
50  not_socket = 10038,
54  message_size = 10040,
56  protocol_type = 10041,
58  protocol_option = 10042,
60  protocol_not_supported = 10043,
62  socket_not_supported = 10044,
70  address_already_in_use = 10048,
72  address_not_available = 10049,
74  network_down = 10050,
76  network_unreachable = 10051,
78  network_reset = 10052,
80  connection_aborted = 10053,
82  connection_reset = 10054,
86  is_connected = 10056,
88  not_connected = 10057,
90  shutdown = 10058,
92  timed_out = 10060,
94  connection_refused = 10061,
96  host_down = 10064,
98  host_unreachable = 10065,
100  process_limit = 10067,
102  system_not_ready = 10091,
104  version_not_supported = 10092,
106  not_initialized = 10093,
108  disconnecting = 10101,
110  type_not_found = 10109,
112  host_not_found = 11001,
114  try_again = 11002,
116  no_recovery = 11003,
118  no_data = 11004,
119  };
120 
122  inline std::ostream& operator<<(std::ostream& os, socket_error value) {return os << to_string(value, {{socket_error::sock_error, "sock_error"}, {socket_error::success, "success"}, {socket_error::operation_aborted, "operation_aborted"}, {socket_error::io_pending, "io_pending"}, {socket_error::interrupted, "interrupted"}, {socket_error::access_denied, "access_denied"}, {socket_error::fault, "fault"}, {socket_error::invalid_argument, "invalid_argument"}, {socket_error::too_many_open_sockets, "too_many_open_sockets"}, {socket_error::would_block, "would_block"}, {socket_error::in_progress, "in_progress"}, {socket_error::already_in_progress, "already_in_progress"}, {socket_error::not_socket, "not_socket"}, {socket_error::destination_address_required, "destination_address_required"}, {socket_error::message_size, "message_size"}, {socket_error::protocol_type, "protocol_type"}, {socket_error::protocol_option, "protocol_option"}, {socket_error::protocol_not_supported, "protocol_not_supported"}, {socket_error::socket_not_supported, "socket_not_supported"}, {socket_error::operation_not_supported, "operation_not_supported"}, {socket_error::protocol_family_not_supported, "protocol_family_not_supported"}, {socket_error::address_family_not_supported, "address_family_not_supported"}, {socket_error::address_already_in_use, "address_already_in_use"}, {socket_error::address_not_available, "address_not_available"}, {socket_error::network_down, "network_down"}, {socket_error::network_unreachable, "network_unreachable"}, {socket_error::network_reset, "network_reset"}, {socket_error::connection_aborted, "connection_aborted"}, {socket_error::connection_reset, "connection_reset"}, {socket_error::no_buffer_space_available, "no_buffer_space_available"}, {socket_error::is_connected, "is_connected"}, {socket_error::not_connected, "not_connected"}, {socket_error::shutdown, "shutdown"}, {socket_error::timed_out, "timed_out"}, {socket_error::connection_refused, "connection_refused"}, {socket_error::host_down, "host_down"}, {socket_error::host_unreachable, "host_unreachable"}, {socket_error::process_limit, "process_limit"}, {socket_error::system_not_ready, "system_not_ready"}, {socket_error::version_not_supported, "version_not_supported"}, {socket_error::not_initialized, "not_initialized"}, {socket_error::disconnecting, "disconnecting"}, {socket_error::type_not_found, "type_not_found"}, {socket_error::host_not_found, "host_not_found"}, {socket_error::try_again, "try_again"}, {socket_error::no_recovery, "no_recovery"}, {socket_error::no_data, "no_data"}});}
123  inline std::wostream& operator<<(std::wostream& os, socket_error value) {return os << to_string(value, {{socket_error::sock_error, L"sock_error"}, {socket_error::success, L"success"}, {socket_error::operation_aborted, L"operation_aborted"}, {socket_error::io_pending, L"io_pending"}, {socket_error::interrupted, L"interrupted"}, {socket_error::access_denied, L"access_denied"}, {socket_error::fault, L"fault"}, {socket_error::invalid_argument, L"invalid_argument"}, {socket_error::too_many_open_sockets, L"too_many_open_sockets"}, {socket_error::would_block, L"would_block"}, {socket_error::in_progress, L"in_progress"}, {socket_error::already_in_progress, L"already_in_progress"}, {socket_error::not_socket, L"not_socket"}, {socket_error::destination_address_required, L"destination_address_required"}, {socket_error::message_size, L"message_size"}, {socket_error::protocol_type, L"protocol_type"}, {socket_error::protocol_option, L"protocol_option"}, {socket_error::protocol_not_supported, L"protocol_not_supported"}, {socket_error::socket_not_supported, L"socket_not_supported"}, {socket_error::operation_not_supported, L"operation_not_supported"}, {socket_error::protocol_family_not_supported, L"protocol_family_not_supported"}, {socket_error::address_family_not_supported, L"address_family_not_supported"}, {socket_error::address_already_in_use, L"address_already_in_use"}, {socket_error::address_not_available, L"address_not_available"}, {socket_error::network_down, L"network_down"}, {socket_error::network_unreachable, L"network_unreachable"}, {socket_error::network_reset, L"network_reset"}, {socket_error::connection_aborted, L"connection_aborted"}, {socket_error::connection_reset, L"connection_reset"}, {socket_error::no_buffer_space_available, L"no_buffer_space_available"}, {socket_error::is_connected, L"is_connected"}, {socket_error::not_connected, L"not_connected"}, {socket_error::shutdown, L"shutdown"}, {socket_error::timed_out, L"timed_out"}, {socket_error::connection_refused, L"connection_refused"}, {socket_error::host_down, L"host_down"}, {socket_error::host_unreachable, L"host_unreachable"}, {socket_error::process_limit, L"process_limit"}, {socket_error::system_not_ready, L"system_not_ready"}, {socket_error::version_not_supported, L"version_not_supported"}, {socket_error::not_initialized, L"not_initialized"}, {socket_error::disconnecting, L"disconnecting"}, {socket_error::type_not_found, L"type_not_found"}, {socket_error::host_not_found, L"host_not_found"}, {socket_error::try_again, L"try_again"}, {socket_error::no_recovery, L"no_recovery"}, {socket_error::no_data, L"no_data"}});}
125  }
126  }
127 }
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition: socket_error.h:24
protocol_type
Specifies the protocols that the xtd::net::sockets::socket class supports.
Definition: protocol_type.h:24
std::string to_string(const value_t &value, const std::string &fmt, const std::locale &loc)
Convert a specified value into a string with specified format and locale.
Definition: to_string.h:37
@ protocol_option
An unknown, invalid, or unsupported option or level was used.
@ not_socket
Operation attempted on a non-socket object.
@ network_reset
The application tried to set "keep alive" on a connection that timed out.
@ host_not_found
No such host is known. The name is not an official host name or alias.
@ disconnecting
A graceful shutdown is in progress.
@ system_not_ready
The network subsystem is unavailable.
@ address_not_available
The selected IP address is not valid in this context.
@ no_recovery
The error is unrecoverable or the requested database cannot be located.
@ not_initialized
The underlying socket provider has not been initialized.
@ success
Operation successful.
@ host_down
The operation failed because the remote host is down.
@ too_many_open_sockets
Too many sockets opened.
@ connection_aborted
Connection aborted.
@ destination_address_required
Required destination missing.
@ fault
Invalid pointer address.
@ protocol_family_not_supported
The protocol family is not implemented or has not been configured.
@ connection_refused
The remote host is actively refusing a connection.
@ is_connected
Already connected.
@ no_data
The requested name or IP address was not found on the name server.
@ timed_out
The connection attempt timed out, or the connected host has failed to respond.
@ shutdown
A request to send or receive data was disallowed because the socket is closed.
@ network_unreachable
No route to the remote host exists.
@ operation_not_supported
The address family is not supported by the protocol family.
@ not_connected
The socket is not connected.
@ protocol_type
The protocol type is incorrect.
@ address_family_not_supported
The address family specified is not supported. This error is returned if the IPv6 address family was ...
@ try_again
The name of the host could not be resolved. Try again later.
@ network_down
The network is not available.
@ operation_aborted
The overlapped operation was aborted due to the closure of the socket.
@ io_pending
The application has initiated an overlapped operation that cannot be completed immediately.
@ protocol_not_supported
The protocol is not implemented or has not been configured.
@ already_in_progress
The nonblocking socket has an operation in progress.
@ process_limit
Too many processes are using the underlying socket provider.
@ would_block
An operation on a nonblocking socket cannot be completed immediately.
@ connection_reset
Connection reset by the remote peer.
@ type_not_found
The specified class was not found.
@ socket_not_supported
The support for the specified socket type does not exist in this address family.
@ version_not_supported
The version of the underlying socket provider is out of range.
@ message_size
Datagram message is too long.
@ invalid_argument
Invalid argument.
@ address_already_in_use
Only one use of an address is normally permitted.
@ no_buffer_space_available
No free buffer space available.
@ in_progress
A blocking operation is in progress.
@ interrupted
A blocking call was canceled.
@ sock_error
An unspecified error occurred.
@ host_unreachable
There is no network route to the specified host.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17