libstdc++

error_constants.h
Go to the documentation of this file.
1 // Specific definitions for generic platforms -*- 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 1
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 enum class errc
41 {
42 address_family_not_supported = EAFNOSUPPORT,
43 address_in_use = EADDRINUSE,
44 address_not_available = EADDRNOTAVAIL,
45 already_connected = EISCONN,
46 argument_list_too_long = E2BIG,
47 argument_out_of_domain = EDOM,
48 bad_address = EFAULT,
49 bad_file_descriptor = EBADF,
50
51 #ifdef _GLIBCXX_HAVE_EBADMSG
52 bad_message = EBADMSG,
53 #endif
54
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
71 #ifdef _GLIBCXX_HAVE_EIDRM
72 identifier_removed = EIDRM,
73 #endif
74
75 illegal_byte_sequence = EILSEQ,
76 inappropriate_io_control_operation = ENOTTY,
77 interrupted = EINTR,
78 invalid_argument = EINVAL,
79 invalid_seek = ESPIPE,
80 io_error = EIO,
81 is_a_directory = EISDIR,
82 message_size = EMSGSIZE,
83 network_down = ENETDOWN,
84 network_reset = ENETRESET,
85 network_unreachable = ENETUNREACH,
86 no_buffer_space = ENOBUFS,
87 no_child_process = ECHILD,
88
89 #ifdef _GLIBCXX_HAVE_ENOLINK
90 no_link = ENOLINK,
91 #endif
92
93 no_lock_available = ENOLCK,
94
95 #ifdef _GLIBCXX_HAVE_ENODATA
96 no_message_available = ENODATA,
97 #endif
98
99 no_message = ENOMSG,
100 no_protocol_option = ENOPROTOOPT,
101 no_space_on_device = ENOSPC,
102
103 #ifdef _GLIBCXX_HAVE_ENOSR
104 no_stream_resources = ENOSR,
105 #endif
106
107 no_such_device_or_address = ENXIO,
108 no_such_device = ENODEV,
109 no_such_file_or_directory = ENOENT,
110 no_such_process = ESRCH,
111 not_a_directory = ENOTDIR,
112 not_a_socket = ENOTSOCK,
113
114 #ifdef _GLIBCXX_HAVE_ENOSTR
115 not_a_stream = ENOSTR,
116 #endif
117
118 not_connected = ENOTCONN,
119 not_enough_memory = ENOMEM,
120
121 #ifdef _GLIBCXX_HAVE_ENOTSUP
122 not_supported = ENOTSUP,
123 #endif
124
125 #ifdef _GLIBCXX_HAVE_ECANCELED
126 operation_canceled = ECANCELED,
127 #endif
128
129 operation_in_progress = EINPROGRESS,
130 operation_not_permitted = EPERM,
131 operation_not_supported = EOPNOTSUPP,
132 operation_would_block = EWOULDBLOCK,
133
134 #ifdef _GLIBCXX_HAVE_EOWNERDEAD
135 owner_dead = EOWNERDEAD,
136 #endif
137
138 permission_denied = EACCES,
139
140 #ifdef _GLIBCXX_HAVE_EPROTO
141 protocol_error = EPROTO,
142 #endif
143
144 protocol_not_supported = EPROTONOSUPPORT,
145 read_only_file_system = EROFS,
146 resource_deadlock_would_occur = EDEADLK,
147 resource_unavailable_try_again = EAGAIN,
148 result_out_of_range = ERANGE,
149
150 #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
151 state_not_recoverable = ENOTRECOVERABLE,
152 #endif
153
154 #ifdef _GLIBCXX_HAVE_ETIME
155 stream_timeout = ETIME,
156 #endif
157
158 #ifdef _GLIBCXX_HAVE_ETXTBSY
159 text_file_busy = ETXTBSY,
160 #endif
161
162 timed_out = ETIMEDOUT,
163 too_many_files_open_in_system = ENFILE,
164 too_many_files_open = EMFILE,
165 too_many_links = EMLINK,
166 too_many_symbolic_link_levels = ELOOP,
167
168 #ifdef _GLIBCXX_HAVE_EOVERFLOW
169 value_too_large = EOVERFLOW,
170 #endif
171
172 wrong_protocol_type = EPROTOTYPE
173 };
174
175 _GLIBCXX_END_NAMESPACE_VERSION
176 } // namespace
177
178 #endif