errc.hpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #ifndef BOOST_SYSTEM_DETAIL_ERRC_HPP_INCLUDED
  2. #define BOOST_SYSTEM_DETAIL_ERRC_HPP_INCLUDED
  3. // Copyright Beman Dawes 2006, 2007
  4. // Copyright Christoper Kohlhoff 2007
  5. // Copyright Peter Dimov 2017, 2018, 2020
  6. //
  7. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. //
  10. // See library home page at http://www.boost.org/libs/system
  11. #include <boost/system/is_error_condition_enum.hpp>
  12. #include <boost/system/detail/cerrno.hpp>
  13. namespace boost
  14. {
  15. namespace system
  16. {
  17. namespace errc
  18. {
  19. enum errc_t
  20. {
  21. success = 0,
  22. address_family_not_supported = EAFNOSUPPORT,
  23. address_in_use = EADDRINUSE,
  24. address_not_available = EADDRNOTAVAIL,
  25. already_connected = EISCONN,
  26. argument_list_too_long = E2BIG,
  27. argument_out_of_domain = EDOM,
  28. bad_address = EFAULT,
  29. bad_file_descriptor = EBADF,
  30. bad_message = EBADMSG,
  31. broken_pipe = EPIPE,
  32. connection_aborted = ECONNABORTED,
  33. connection_already_in_progress = EALREADY,
  34. connection_refused = ECONNREFUSED,
  35. connection_reset = ECONNRESET,
  36. cross_device_link = EXDEV,
  37. destination_address_required = EDESTADDRREQ,
  38. device_or_resource_busy = EBUSY,
  39. directory_not_empty = ENOTEMPTY,
  40. executable_format_error = ENOEXEC,
  41. file_exists = EEXIST,
  42. file_too_large = EFBIG,
  43. filename_too_long = ENAMETOOLONG,
  44. function_not_supported = ENOSYS,
  45. host_unreachable = EHOSTUNREACH,
  46. identifier_removed = EIDRM,
  47. illegal_byte_sequence = EILSEQ,
  48. inappropriate_io_control_operation = ENOTTY,
  49. interrupted = EINTR,
  50. invalid_argument = EINVAL,
  51. invalid_seek = ESPIPE,
  52. io_error = EIO,
  53. is_a_directory = EISDIR,
  54. message_size = EMSGSIZE,
  55. network_down = ENETDOWN,
  56. network_reset = ENETRESET,
  57. network_unreachable = ENETUNREACH,
  58. no_buffer_space = ENOBUFS,
  59. no_child_process = ECHILD,
  60. no_link = ENOLINK,
  61. no_lock_available = ENOLCK,
  62. no_message_available = ENODATA,
  63. no_message = ENOMSG,
  64. no_protocol_option = ENOPROTOOPT,
  65. no_space_on_device = ENOSPC,
  66. no_stream_resources = ENOSR,
  67. no_such_device_or_address = ENXIO,
  68. no_such_device = ENODEV,
  69. no_such_file_or_directory = ENOENT,
  70. no_such_process = ESRCH,
  71. not_a_directory = ENOTDIR,
  72. not_a_socket = ENOTSOCK,
  73. not_a_stream = ENOSTR,
  74. not_connected = ENOTCONN,
  75. not_enough_memory = ENOMEM,
  76. not_supported = ENOTSUP,
  77. operation_canceled = ECANCELED,
  78. operation_in_progress = EINPROGRESS,
  79. operation_not_permitted = EPERM,
  80. operation_not_supported = EOPNOTSUPP,
  81. operation_would_block = EWOULDBLOCK,
  82. owner_dead = EOWNERDEAD,
  83. permission_denied = EACCES,
  84. protocol_error = EPROTO,
  85. protocol_not_supported = EPROTONOSUPPORT,
  86. read_only_file_system = EROFS,
  87. resource_deadlock_would_occur = EDEADLK,
  88. resource_unavailable_try_again = EAGAIN,
  89. result_out_of_range = ERANGE,
  90. state_not_recoverable = ENOTRECOVERABLE,
  91. stream_timeout = ETIME,
  92. text_file_busy = ETXTBSY,
  93. timed_out = ETIMEDOUT,
  94. too_many_files_open_in_system = ENFILE,
  95. too_many_files_open = EMFILE,
  96. too_many_links = EMLINK,
  97. too_many_symbolic_link_levels = ELOOP,
  98. value_too_large = EOVERFLOW,
  99. wrong_protocol_type = EPROTOTYPE
  100. };
  101. } // namespace errc
  102. #ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
  103. namespace posix = errc;
  104. namespace posix_error = errc;
  105. #endif
  106. template<> struct is_error_condition_enum<errc::errc_t>
  107. {
  108. static const bool value = true;
  109. };
  110. } // namespace system
  111. } // namespace boost
  112. #endif // #ifndef BOOST_SYSTEM_DETAIL_ERRC_HPP_INCLUDED