WG14 result
Loading...
Searching...
No Matches
status_code_generic.h File Reference
#include "status_code_domain.h"
#include <errno.h>
Include dependency graph for status_code_generic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  status_code_generic_s
 A generic status code. More...
 
struct  status_code_domain_vtable_generic_code_args
 The arguments for status_code_domain_vtable.generic_code More...
 

Macros

#define status_code_equivalent(primary, secondary)    WG14_RESULT_PREFIX(status_code_equivalent)(&(primary).base, &(secondary).base)
 True if the status codes are semantically equivalent in any way (convenience macro). Guaranteed transitive. Firstly status_code_strictly_equivalent() is run in both directions. If neither succeeds, each domain is asked for the equivalent generic code, and those are compared.
 
#define status_code_equivalent_errc(primary, errc)    WG14_RESULT_PREFIX(status_code_equivalent_errc)(&(primary).base, (errc))
 True if the status code is semantically equivalent in any way to the generic enum value (convenience macro). Guaranteed transitive.
 

Typedefs

typedef struct status_code_generic_s status_code_generic
 A generic status code.
 

Enumerations

enum  status_code_errc {
  status_code_errc_success = 0 , status_code_errc_unknown = -1 , status_code_errc_address_family_not_supported , status_code_errc_address_in_use = EADDRINUSE ,
  status_code_errc_address_not_available = EADDRNOTAVAIL , status_code_errc_already_connected = EISCONN , status_code_errc_argument_list_too_long = E2BIG , status_code_errc_argument_out_of_domain = EDOM ,
  status_code_errc_bad_address = EFAULT , status_code_errc_bad_file_descriptor = EBADF , status_code_errc_bad_message = EBADMSG , status_code_errc_broken_pipe = EPIPE ,
  status_code_errc_connection_aborted = ECONNABORTED , status_code_errc_connection_already_in_progress , status_code_errc_connection_refused = ECONNREFUSED , status_code_errc_connection_reset = ECONNRESET ,
  status_code_errc_cross_device_link = EXDEV , status_code_errc_destination_address_required , status_code_errc_device_or_resource_busy = EBUSY , status_code_errc_directory_not_empty = ENOTEMPTY ,
  status_code_errc_executable_format_error = ENOEXEC , status_code_errc_file_exists = EEXIST , status_code_errc_file_too_large = EFBIG , status_code_errc_filename_too_long = ENAMETOOLONG ,
  status_code_errc_function_not_supported = ENOSYS , status_code_errc_host_unreachable = EHOSTUNREACH , status_code_errc_identifier_removed = EIDRM , status_code_errc_illegal_byte_sequence = EILSEQ ,
  status_code_errc_inappropriate_io_control_operation , status_code_errc_interrupted = EINTR , status_code_errc_invalid_argument = EINVAL , status_code_errc_invalid_seek = ESPIPE ,
  status_code_errc_io_error = EIO , status_code_errc_is_a_directory = EISDIR , status_code_errc_message_size = EMSGSIZE , status_code_errc_network_down = ENETDOWN ,
  status_code_errc_network_reset = ENETRESET , status_code_errc_network_unreachable = ENETUNREACH , status_code_errc_no_buffer_space = ENOBUFS , status_code_errc_no_child_process = ECHILD ,
  status_code_errc_no_link = ENOLINK , status_code_errc_no_lock_available = ENOLCK , status_code_errc_no_message = ENOMSG , status_code_errc_no_protocol_option = ENOPROTOOPT ,
  status_code_errc_no_space_on_device = ENOSPC , status_code_errc_no_stream_resources = ENOSR , status_code_errc_no_such_device_or_address = ENXIO , status_code_errc_no_such_device = ENODEV ,
  status_code_errc_no_such_file_or_directory = ENOENT , status_code_errc_no_such_process = ESRCH , status_code_errc_not_a_directory = ENOTDIR , status_code_errc_not_a_socket = ENOTSOCK ,
  status_code_errc_not_a_stream = ENOSTR , status_code_errc_not_connected = ENOTCONN , status_code_errc_not_enough_memory = ENOMEM , status_code_errc_not_supported = ENOTSUP ,
  status_code_errc_operation_canceled = ECANCELED , status_code_errc_operation_in_progress = EINPROGRESS , status_code_errc_operation_not_permitted = EPERM , status_code_errc_operation_not_supported = EOPNOTSUPP ,
  status_code_errc_operation_would_block = EWOULDBLOCK , status_code_errc_owner_dead = EOWNERDEAD , status_code_errc_permission_denied = EACCES , status_code_errc_protocol_error = EPROTO ,
  status_code_errc_protocol_not_supported , status_code_errc_read_only_file_system = EROFS , status_code_errc_resource_deadlock_would_occur , status_code_errc_resource_unavailable_try_again ,
  status_code_errc_result_out_of_range = ERANGE , status_code_errc_state_not_recoverable , status_code_errc_stream_timeout = ETIME , status_code_errc_text_file_busy = ETXTBSY ,
  status_code_errc_timed_out = ETIMEDOUT , status_code_errc_too_many_files_open_in_system = ENFILE , status_code_errc_too_many_files_open = EMFILE , status_code_errc_too_many_links = EMLINK ,
  status_code_errc_too_many_symbolic_link_levels = ELOOP , status_code_errc_value_too_large = EOVERFLOW , status_code_errc_wrong_protocol_type = EPROTOTYPE
}
 The generic error coding (POSIX) More...
 

Functions

status_code_domainstatus_code_generic_domain (void)
 Retrieve the domain for status_code_generic
 

Macro Definition Documentation

◆ status_code_equivalent

#define status_code_equivalent (   primary,
  secondary 
)     WG14_RESULT_PREFIX(status_code_equivalent)(&(primary).base, &(secondary).base)

True if the status codes are semantically equivalent in any way (convenience macro). Guaranteed transitive. Firstly status_code_strictly_equivalent() is run in both directions. If neither succeeds, each domain is asked for the equivalent generic code, and those are compared.

Definition at line 226 of file status_code_generic.h.

◆ status_code_equivalent_errc

#define status_code_equivalent_errc (   primary,
  errc 
)     WG14_RESULT_PREFIX(status_code_equivalent_errc)(&(primary).base, (errc))

True if the status code is semantically equivalent in any way to the generic enum value (convenience macro). Guaranteed transitive.

Definition at line 230 of file status_code_generic.h.

Typedef Documentation

◆ status_code_generic

A generic status code.

Enumeration Type Documentation

◆ status_code_errc

The generic error coding (POSIX)

Enumerator
status_code_errc_success 
status_code_errc_unknown 
status_code_errc_address_family_not_supported 
status_code_errc_address_in_use 
status_code_errc_address_not_available 
status_code_errc_already_connected 
status_code_errc_argument_list_too_long 
status_code_errc_argument_out_of_domain 
status_code_errc_bad_address 
status_code_errc_bad_file_descriptor 
status_code_errc_bad_message 
status_code_errc_broken_pipe 
status_code_errc_connection_aborted 
status_code_errc_connection_already_in_progress 
status_code_errc_connection_refused 
status_code_errc_connection_reset 
status_code_errc_cross_device_link 
status_code_errc_destination_address_required 
status_code_errc_device_or_resource_busy 
status_code_errc_directory_not_empty 
status_code_errc_executable_format_error 
status_code_errc_file_exists 
status_code_errc_file_too_large 
status_code_errc_filename_too_long 
status_code_errc_function_not_supported 
status_code_errc_host_unreachable 
status_code_errc_identifier_removed 
status_code_errc_illegal_byte_sequence 
status_code_errc_inappropriate_io_control_operation 
status_code_errc_interrupted 
status_code_errc_invalid_argument 
status_code_errc_invalid_seek 
status_code_errc_io_error 
status_code_errc_is_a_directory 
status_code_errc_message_size 
status_code_errc_network_down 
status_code_errc_network_reset 
status_code_errc_network_unreachable 
status_code_errc_no_buffer_space 
status_code_errc_no_child_process 
status_code_errc_no_link 
status_code_errc_no_lock_available 
status_code_errc_no_message 
status_code_errc_no_protocol_option 
status_code_errc_no_space_on_device 
status_code_errc_no_stream_resources 
status_code_errc_no_such_device_or_address 
status_code_errc_no_such_device 
status_code_errc_no_such_file_or_directory 
status_code_errc_no_such_process 
status_code_errc_not_a_directory 
status_code_errc_not_a_socket 
status_code_errc_not_a_stream 
status_code_errc_not_connected 
status_code_errc_not_enough_memory 
status_code_errc_not_supported 
status_code_errc_operation_canceled 
status_code_errc_operation_in_progress 
status_code_errc_operation_not_permitted 
status_code_errc_operation_not_supported 
status_code_errc_operation_would_block 
status_code_errc_owner_dead 
status_code_errc_permission_denied 
status_code_errc_protocol_error 
status_code_errc_protocol_not_supported 
status_code_errc_read_only_file_system 
status_code_errc_resource_deadlock_would_occur 
status_code_errc_resource_unavailable_try_again 
status_code_errc_result_out_of_range 
status_code_errc_state_not_recoverable 
status_code_errc_stream_timeout 
status_code_errc_text_file_busy 
status_code_errc_timed_out 
status_code_errc_too_many_files_open_in_system 
status_code_errc_too_many_files_open 
status_code_errc_too_many_links 
status_code_errc_too_many_symbolic_link_levels 
status_code_errc_value_too_large 
status_code_errc_wrong_protocol_type 

Definition at line 33 of file status_code_generic.h.

Function Documentation

◆ status_code_generic_domain()

status_code_domain * status_code_generic_domain ( void  )
extern

Retrieve the domain for status_code_generic