xtd 0.2.0
socket_error.h
Go to the documentation of this file.
1 #pragma once
5 #include "../../enum.h"
6 
8 #undef unix
9 
12 namespace xtd {
14  namespace net {
16  namespace sockets {
28  enum class socket_error {
30  sock_error = -1,
32  success = 0,
34  operation_aborted = 995,
36  io_pending = 997,
38  interrupted = 10004,
40  access_denied = 10013,
42  fault = 10014,
44  invalid_argument = 10022,
46  too_many_open_sockets = 10024,
48  would_block = 10035,
50  in_progress = 10036,
52  already_in_progress = 10037,
54  not_socket = 10038,
58  message_size = 10040,
60  protocol_type = 10041,
62  protocol_option = 10042,
64  protocol_not_supported = 10043,
66  socket_not_supported = 10044,
74  address_already_in_use = 10048,
76  address_not_available = 10049,
78  network_down = 10050,
80  network_unreachable = 10051,
82  network_reset = 10052,
84  connection_aborted = 10053,
86  connection_reset = 10054,
90  is_connected = 10056,
92  not_connected = 10057,
94  shutdown = 10058,
96  timed_out = 10060,
98  connection_refused = 10061,
100  host_down = 10064,
102  host_unreachable = 10065,
104  process_limit = 10067,
106  system_not_ready = 10091,
108  version_not_supported = 10092,
110  not_initialized = 10093,
112  disconnecting = 10101,
114  type_not_found = 10109,
116  host_not_found = 11001,
118  try_again = 11002,
120  no_recovery = 11003,
122  no_data = 11004,
123  };
124  }
125  }
126 }
127 
129 template<> struct xtd::enum_register<xtd::net::sockets::socket_error> {
130  explicit operator auto() const noexcept {return xtd::enum_collection<xtd::net::sockets::socket_error> {{xtd::net::sockets::socket_error::sock_error, "sock_error"}, {xtd::net::sockets::socket_error::success, "success"}, {xtd::net::sockets::socket_error::operation_aborted, "operation_aborted"}, {xtd::net::sockets::socket_error::io_pending, "io_pending"}, {xtd::net::sockets::socket_error::interrupted, "interrupted"}, {xtd::net::sockets::socket_error::access_denied, "access_denied"}, {xtd::net::sockets::socket_error::fault, "fault"}, {xtd::net::sockets::socket_error::invalid_argument, "invalid_argument"}, {xtd::net::sockets::socket_error::too_many_open_sockets, "too_many_open_sockets"}, {xtd::net::sockets::socket_error::would_block, "would_block"}, {xtd::net::sockets::socket_error::in_progress, "in_progress"}, {xtd::net::sockets::socket_error::already_in_progress, "already_in_progress"}, {xtd::net::sockets::socket_error::not_socket, "not_socket"}, {xtd::net::sockets::socket_error::destination_address_required, "destination_address_required"}, {xtd::net::sockets::socket_error::message_size, "message_size"}, {xtd::net::sockets::socket_error::protocol_type, "protocol_type"}, {xtd::net::sockets::socket_error::protocol_option, "protocol_option"}, {xtd::net::sockets::socket_error::protocol_not_supported, "protocol_not_supported"}, {xtd::net::sockets::socket_error::socket_not_supported, "socket_not_supported"}, {xtd::net::sockets::socket_error::operation_not_supported, "operation_not_supported"}, {xtd::net::sockets::socket_error::protocol_family_not_supported, "protocol_family_not_supported"}, {xtd::net::sockets::socket_error::address_family_not_supported, "address_family_not_supported"}, {xtd::net::sockets::socket_error::address_already_in_use, "address_already_in_use"}, {xtd::net::sockets::socket_error::address_not_available, "address_not_available"}, {xtd::net::sockets::socket_error::network_down, "network_down"}, {xtd::net::sockets::socket_error::network_unreachable, "network_unreachable"}, {xtd::net::sockets::socket_error::network_reset, "network_reset"}, {xtd::net::sockets::socket_error::connection_aborted, "connection_aborted"}, {xtd::net::sockets::socket_error::connection_reset, "connection_reset"}, {xtd::net::sockets::socket_error::no_buffer_space_available, "no_buffer_space_available"}, {xtd::net::sockets::socket_error::is_connected, "is_connected"}, {xtd::net::sockets::socket_error::not_connected, "not_connected"}, {xtd::net::sockets::socket_error::shutdown, "shutdown"}, {xtd::net::sockets::socket_error::timed_out, "timed_out"}, {xtd::net::sockets::socket_error::connection_refused, "connection_refused"}, {xtd::net::sockets::socket_error::host_down, "host_down"}, {xtd::net::sockets::socket_error::host_unreachable, "host_unreachable"}, {xtd::net::sockets::socket_error::process_limit, "process_limit"}, {xtd::net::sockets::socket_error::system_not_ready, "system_not_ready"}, {xtd::net::sockets::socket_error::version_not_supported, "version_not_supported"}, {xtd::net::sockets::socket_error::not_initialized, "not_initialized"}, {xtd::net::sockets::socket_error::disconnecting, "disconnecting"}, {xtd::net::sockets::socket_error::type_not_found, "type_not_found"}, {xtd::net::sockets::socket_error::host_not_found, "host_not_found"}, {xtd::net::sockets::socket_error::try_again, "try_again"}, {xtd::net::sockets::socket_error::no_recovery, "no_recovery"}, {xtd::net::sockets::socket_error::no_data, "no_data"}};}
131 };
protocol_type
Specifies the protocols that the xtd::net::sockets::socket class supports.
Definition: protocol_type.h:28
The requested name or IP address was not found on the name server.
The specified class was not found.
The connection attempt timed out, or the connected host has failed to respond.
The underlying socket provider has not been initialized.
A blocking call was canceled.
There is no network route to the specified host.
An unknown, invalid, or unsupported option or level was used.
Too many processes are using the underlying socket provider.
An operation on a nonblocking socket cannot be completed immediately.
The address family is not supported by the protocol family.
A request to send or receive data was disallowed because the socket is closed.
The selected IP address is not valid in this context.
The protocol family is not implemented or has not been configured.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
The application tried to set "keep alive" on a connection that timed out.
Connection reset by the remote peer.
std::vector< std::pair< enum_t, xtd::ustring > > enum_collection
Represents a pair of an enum_t value and a string of an enum of type enum_t.
Definition: enum_collection.h:19
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition: socket_error.h:28
No such host is known. The name is not an official host name or alias.
The protocol is not implemented or has not been configured.
The nonblocking socket has an operation in progress.
The network is not available.
A graceful shutdown is in progress.
The support for the specified socket type does not exist in this address family.
The operation failed because the remote host is down.
The remote host is actively refusing a connection.
The address family specified is not supported. This error is returned if the IPv6 address family was ...
Operation attempted on a non-socket object.
The protocol type is incorrect.
The name of the host could not be resolved. Try again later.
The version of the underlying socket provider is out of range.
The error is unrecoverable or the requested database cannot be located.
No route to the remote host exists.
The overlapped operation was aborted due to the closure of the socket.
The network subsystem is unavailable.
A blocking operation is in progress.
Datagram message is too long.
The application has initiated an overlapped operation that cannot be completed immediately.
Only one use of an address is normally permitted.
An unspecified error occurred.
Provides the registration struct for enumerations.
Definition: enum_register.h:36