libstdc++
error_constants.h
Go to the documentation of this file.
1 // Specific definitions for generic platforms -*- C++ -*-
2 
3 // Copyright (C) 2007-2014 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