xtd 0.2.0
Loading...
Searching...
No Matches
socket_error.h
Go to the documentation of this file.
1
4#pragma once
5#include "../../enum.h"
6
8#undef unix
10
12namespace xtd {
14 namespace net {
16 namespace sockets {
28 enum class socket_error {
30 sock_error = -1,
32 success = 0,
36 io_pending = 997,
38 interrupted = 10004,
40 access_denied = 10013,
42 fault = 10014,
44 invalid_argument = 10022,
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,
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
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};
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition socket_error.h:28
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
protocol_type
Specifies the protocols that the xtd::net::sockets::socket class supports.
Definition protocol_type.h:28
@ 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 xtd_about_box.h:10
Provides the registration struct for enumerations.
Definition enum_register.h:36