1 | // Specific definitions for mingw32 platform -*- C++ -*-
|
---|
2 |
|
---|
3 | // Copyright (C) 2007-2021 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 | #ifdef EBADMSG
|
---|
53 | bad_message = EBADMSG,
|
---|
54 | #endif
|
---|
55 | broken_pipe = EPIPE,
|
---|
56 | connection_aborted = ECONNABORTED,
|
---|
57 | connection_already_in_progress = EALREADY,
|
---|
58 | connection_refused = ECONNREFUSED,
|
---|
59 | connection_reset = ECONNRESET,
|
---|
60 | cross_device_link = EXDEV,
|
---|
61 | destination_address_required = EDESTADDRREQ,
|
---|
62 | device_or_resource_busy = EBUSY,
|
---|
63 | directory_not_empty = ENOTEMPTY,
|
---|
64 | executable_format_error = ENOEXEC,
|
---|
65 | file_exists = EEXIST,
|
---|
66 | file_too_large = EFBIG,
|
---|
67 | filename_too_long = ENAMETOOLONG,
|
---|
68 | function_not_supported = ENOSYS,
|
---|
69 | host_unreachable = EHOSTUNREACH,
|
---|
70 | #ifdef EIDRM
|
---|
71 | identifier_removed = EIDRM,
|
---|
72 | #endif
|
---|
73 | illegal_byte_sequence = EILSEQ,
|
---|
74 | inappropriate_io_control_operation = ENOTTY,
|
---|
75 | interrupted = EINTR,
|
---|
76 | invalid_argument = EINVAL,
|
---|
77 | invalid_seek = ESPIPE,
|
---|
78 | io_error = EIO,
|
---|
79 | is_a_directory = EISDIR,
|
---|
80 | message_size = EMSGSIZE,
|
---|
81 | network_down = ENETDOWN,
|
---|
82 | network_reset = ENETRESET,
|
---|
83 | network_unreachable = ENETUNREACH,
|
---|
84 | no_buffer_space = ENOBUFS,
|
---|
85 | #ifdef ECHILD
|
---|
86 | no_child_process = ECHILD,
|
---|
87 | #endif
|
---|
88 | #ifdef ENOLINK
|
---|
89 | no_link = ENOLINK,
|
---|
90 | #endif
|
---|
91 | no_lock_available = ENOLCK,
|
---|
92 | #ifdef ENODATA
|
---|
93 | no_message_available = ENODATA,
|
---|
94 | #endif
|
---|
95 | #ifdef ENOMSG
|
---|
96 | no_message = ENOMSG,
|
---|
97 | #endif
|
---|
98 | no_protocol_option = ENOPROTOOPT,
|
---|
99 | #ifdef ENOSPC
|
---|
100 | no_space_on_device = ENOSPC,
|
---|
101 | #endif
|
---|
102 | #ifdef ENOSR
|
---|
103 | no_stream_resources = ENOSR,
|
---|
104 | #endif
|
---|
105 | no_such_device_or_address = ENXIO,
|
---|
106 | no_such_device = ENODEV,
|
---|
107 | no_such_file_or_directory = ENOENT,
|
---|
108 | no_such_process = ESRCH,
|
---|
109 | not_a_directory = ENOTDIR,
|
---|
110 | not_a_socket = ENOTSOCK,
|
---|
111 | #ifdef ENOSTR
|
---|
112 | not_a_stream = ENOSTR,
|
---|
113 | #endif
|
---|
114 | not_connected = ENOTCONN,
|
---|
115 | not_enough_memory = ENOMEM,
|
---|
116 | #ifdef ENOTSUP
|
---|
117 | not_supported = ENOTSUP,
|
---|
118 | #endif
|
---|
119 | operation_canceled = ECANCELED,
|
---|
120 | operation_in_progress = EINPROGRESS,
|
---|
121 | #ifdef EPERM
|
---|
122 | operation_not_permitted = EPERM,
|
---|
123 | #endif
|
---|
124 | operation_not_supported = EOPNOTSUPP,
|
---|
125 | #ifdef EWOULDBLOCK
|
---|
126 | operation_would_block = EWOULDBLOCK,
|
---|
127 | #endif
|
---|
128 | #ifdef EOWNERDEAD
|
---|
129 | owner_dead = EOWNERDEAD,
|
---|
130 | #endif
|
---|
131 | permission_denied = EACCES,
|
---|
132 | protocol_error = EPROTO,
|
---|
133 | protocol_not_supported = EPROTONOSUPPORT,
|
---|
134 | read_only_file_system = EROFS,
|
---|
135 | resource_deadlock_would_occur = EDEADLK,
|
---|
136 | resource_unavailable_try_again = EAGAIN,
|
---|
137 | result_out_of_range = ERANGE,
|
---|
138 | #ifdef ENOTRECOVERABLE
|
---|
139 | state_not_recoverable = ENOTRECOVERABLE,
|
---|
140 | #endif
|
---|
141 | #ifdef ETIME
|
---|
142 | stream_timeout = ETIME,
|
---|
143 | #endif
|
---|
144 | #ifdef ETXTBSY
|
---|
145 | text_file_busy = ETXTBSY,
|
---|
146 | #endif
|
---|
147 | #ifdef ETIMEDOUT
|
---|
148 | timed_out = ETIMEDOUT,
|
---|
149 | #endif
|
---|
150 | too_many_files_open_in_system = ENFILE,
|
---|
151 | too_many_files_open = EMFILE,
|
---|
152 | too_many_links = EMLINK,
|
---|
153 | too_many_symbolic_link_levels = ELOOP,
|
---|
154 | #ifdef EOVERFLOW
|
---|
155 | value_too_large = EOVERFLOW,
|
---|
156 | #endif
|
---|
157 | wrong_protocol_type = EPROTOTYPE
|
---|
158 | };
|
---|
159 |
|
---|
160 | _GLIBCXX_END_NAMESPACE_VERSION
|
---|
161 | } // namespace
|
---|
162 |
|
---|
163 | #endif
|
---|