1 // Specific definitions for mingw32 platform -*- C++ -*- 2 3 // Copyright (C) 2007-2013 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 // <http://www.gnu.org/licenses/>. 24 25 /** @file bits/error_constants.h 26 * This is an internal header file, included by other library headers. 27 * Do not attempt to use it directly. @headername{system_error} 28 */ 29 30 #ifndef _GLIBCXX_ERROR_CONSTANTS 31 # define _GLIBCXX_ERROR_CONSTANTS 32 33 #include <bits/c++config.h> 34 #include <cerrno> 35 36 namespace std _GLIBCXX_VISIBILITY(default) 37 { 38 _GLIBCXX_BEGIN_NAMESPACE_VERSION 39 40 // Most of the commented-out error codes are socket-related and could be 41 // replaced by Winsock WSA-prefixed equivalents. 42 enum class errc 43 { 44 // address_family_not_supported = EAFNOSUPPORT, 45 // address_in_use = EADDRINUSE, 46 // address_not_available = EADDRNOTAVAIL, 47 // already_connected = EISCONN, 48 argument_list_too_long = E2BIG, 49 argument_out_of_domain = EDOM, 50 bad_address = EFAULT, 51 bad_file_descriptor = EBADF, 52 // bad_message = EBADMSG, 53 broken_pipe = EPIPE, 54 // connection_aborted = ECONNABORTED, 55 // connection_already_in_progress = EALREADY, 56 // connection_refused = ECONNREFUSED, 57 // connection_reset = ECONNRESET, 58 // cross_device_link = EXDEV, 59 // destination_address_required = EDESTADDRREQ, 60 device_or_resource_busy = EBUSY, 61 directory_not_empty = ENOTEMPTY, 62 executable_format_error = ENOEXEC, 63 file_exists = EEXIST, 64 file_too_large = EFBIG, 65 filename_too_long = ENAMETOOLONG, 66 function_not_supported = ENOSYS, 67 // host_unreachable = EHOSTUNREACH, 68 // identifier_removed = EIDRM, 69 illegal_byte_sequence = EILSEQ, 70 inappropriate_io_control_operation = ENOTTY, 71 interrupted = EINTR, 72 invalid_argument = EINVAL, 73 invalid_seek = ESPIPE, 74 io_error = EIO, 75 is_a_directory = EISDIR, 76 // message_size = EMSGSIZE, 77 // network_down = ENETDOWN, 78 // network_reset = ENETRESET, 79 // network_unreachable = ENETUNREACH, 80 // no_buffer_space = ENOBUFS, 81 #ifdef _GLIBCXX_HAVE_ECHILD 82 no_child_process = ECHILD, 83 #endif 84 // no_link = ENOLINK, 85 no_lock_available = ENOLCK, 86 // no_message_available = ENODATA, 87 // no_message = ENOMSG, 88 // no_protocol_option = ENOPROTOOPT, 89 #ifdef _GLIBCXX_HAVE_ENOSPC 90 no_space_on_device = ENOSPC, 91 #endif 92 // no_stream_resources = ENOSR, 93 no_such_device_or_address = ENXIO, 94 no_such_device = ENODEV, 95 no_such_file_or_directory = ENOENT, 96 no_such_process = ESRCH, 97 not_a_directory = ENOTDIR, 98 // not_a_socket = ENOTSOCK, 99 // not_a_stream = ENOSTR, 100 // not_connected = ENOTCONN, 101 not_enough_memory = ENOMEM, 102 #ifdef _GLIBCXX_HAVE_ENOTSUP 103 not_supported = ENOTSUP, 104 #endif 105 // operation_canceled = ECANCELED, 106 // operation_in_progress = EINPROGRESS, 107 #ifdef _GLIBCXX_HAVE_EPERM 108 operation_not_permitted = EPERM, 109 #endif 110 // operation_not_supported = EOPNOTSUPP, 111 #ifdef _GLIBCXX_HAVE_EWOULDBLOCK 112 operation_would_block = EWOULDBLOCK, 113 #endif 114 // owner_dead = EOWNERDEAD, 115 permission_denied = EACCES, 116 // protocol_error = EPROTO, 117 // protocol_not_supported = EPROTONOSUPPORT, 118 read_only_file_system = EROFS, 119 resource_deadlock_would_occur = EDEADLK, 120 resource_unavailable_try_again = EAGAIN, 121 result_out_of_range = ERANGE, 122 // state_not_recoverable = ENOTRECOVERABLE, 123 // stream_timeout = ETIME, 124 // text_file_busy = ETXTBSY, 125 #ifdef _GLIBCXX_HAVE_ETIMEDOUT 126 timed_out = ETIMEDOUT, 127 #endif 128 too_many_files_open_in_system = ENFILE, 129 too_many_files_open = EMFILE, 130 too_many_links = EMLINK 131 // too_many_symbolic_link_levels = ELOOP, 132 #ifdef _GLIBCXX_HAVE_EOVERFLOW 133 , 134 value_too_large = EOVERFLOW 135 #endif 136 // wrong_protocol_type = EPROTOTYPE 137 }; 138 139 _GLIBCXX_END_NAMESPACE_VERSION 140 } // namespace 141 142 #endif 143