]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/config/os/generic/error_constants.h
error_constants.h (posix_errno): Guard not_supported use of ENOTSUP.
[thirdparty/gcc.git] / libstdc++-v3 / config / os / generic / error_constants.h
1 // Specific definitions for generic platforms -*- C++ -*-
2
3 // Copyright (C) 2007, 2008 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 2, 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 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19 // USA.
20
21 // As a special exception, you may use this file as part of a free software
22 // library without restriction. Specifically, if other files instantiate
23 // templates or use macros or inline functions from this file, or you compile
24 // this file and link it with other files to produce an executable, this
25 // file does not by itself cause the resulting executable to be covered by
26 // the GNU General Public License. This exception does not however
27 // invalidate any other reasons why the executable file might be covered by
28 // the GNU General Public License.
29
30 /** @file error_constants.h
31 * This is an internal header file, included by other library headers.
32 * You should not attempt to use it directly.
33 */
34
35 #ifndef _GLIBCXX_ERROR_CONSTANTS
36 #define _GLIBCXX_ERROR_CONSTANTS 1
37
38 #include <bits/c++config.h>
39 #include <cerrno>
40
41 _GLIBCXX_BEGIN_NAMESPACE(std)
42
43 namespace posix_error
44 {
45 enum posix_errno
46 {
47 address_family_not_supported = EAFNOSUPPORT,
48 address_in_use = EADDRINUSE,
49 address_not_available = EADDRNOTAVAIL,
50 already_connected = EISCONN,
51 argument_list_too_long = E2BIG,
52 argument_out_of_domain = EDOM,
53 bad_address = EFAULT,
54 bad_file_descriptor = EBADF,
55
56 #ifdef _GLIBCXX_HAVE_EBADMSG
57 bad_message = EBADMSG,
58 #endif
59
60 broken_pipe = EPIPE,
61 connection_aborted = ECONNABORTED,
62 connection_already_in_progress = EALREADY,
63 connection_refused = ECONNREFUSED,
64 connection_reset = ECONNRESET,
65 cross_device_link = EXDEV,
66 destination_address_required = EDESTADDRREQ,
67 device_or_resource_busy = EBUSY,
68 directory_not_empty = ENOTEMPTY,
69 executable_format_error = ENOEXEC,
70 file_exists = EEXIST,
71 file_too_large = EFBIG,
72 filename_too_long = ENAMETOOLONG,
73 function_not_supported = ENOSYS,
74 host_unreachable = EHOSTUNREACH,
75 identifier_removed = EIDRM,
76 illegal_byte_sequence = EILSEQ,
77 inappropriate_io_control_operation = ENOTTY,
78 interrupted = EINTR,
79 invalid_argument = EINVAL,
80 invalid_seek = ESPIPE,
81 io_error = EIO,
82 is_a_directory = EISDIR,
83 message_size = EMSGSIZE,
84 network_down = ENETDOWN,
85 network_reset = ENETRESET,
86 network_unreachable = ENETUNREACH,
87 no_buffer_space = ENOBUFS,
88 no_child_process = ECHILD,
89
90 #ifdef _GLIBCXX_HAVE_ENOLINK
91 no_link = ENOLINK,
92 #endif
93
94 no_lock_available = ENOLCK,
95
96 #ifdef _GLIBCXX_HAVE_ENODATA
97 no_message_available = ENODATA,
98 #endif
99
100 no_message = ENOMSG,
101 no_protocol_option = ENOPROTOOPT,
102 no_space_on_device = ENOSPC,
103
104 #ifdef _GLIBCXX_HAVE_ENOSR
105 no_stream_resources = ENOSR,
106 #endif
107
108 no_such_device_or_address = ENXIO,
109 no_such_device = ENODEV,
110 no_such_file_or_directory = ENOENT,
111 no_such_process = ESRCH,
112 not_a_directory = ENOTDIR,
113 not_a_socket = ENOTSOCK,
114
115 #ifdef _GLIBCXX_HAVE_ENOSTR
116 not_a_stream = ENOSTR,
117 #endif
118
119 not_connected = ENOTCONN,
120 not_enough_memory = ENOMEM,
121
122 #ifdef _GLIBCXX_HAVE_ENOTSUP
123 not_supported = ENOTSUP,
124 #endif
125
126 #ifdef _GLIBCXX_HAVE_ECANCELED
127 operation_canceled = ECANCELED,
128 #endif
129
130 operation_in_progress = EINPROGRESS,
131 operation_not_permitted = EPERM,
132 operation_not_supported = EOPNOTSUPP,
133 operation_would_block = EWOULDBLOCK,
134
135 #ifdef _GLIBCXX_HAVE_EOWNERDEAD
136 owner_dead = EOWNERDEAD,
137 #endif
138
139 permission_denied = EACCES,
140
141 #ifdef _GLIBCXX_HAVE_EPROTO
142 protocol_error = EPROTO,
143 #endif
144
145 protocol_not_supported = EPROTONOSUPPORT,
146 read_only_file_system = EROFS,
147 resource_deadlock_would_occur = EDEADLK,
148 resource_unavailable_try_again = EAGAIN,
149 result_out_of_range = ERANGE,
150
151 #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
152 state_not_recoverable = ENOTRECOVERABLE,
153 #endif
154
155 #ifdef _GLIBCXX_HAVE_ETIME
156 stream_timeout = ETIME,
157 #endif
158
159 text_file_busy = ETXTBSY,
160 timed_out = ETIMEDOUT,
161 too_many_files_open_in_system = ENFILE,
162 too_many_files_open = EMFILE,
163 too_many_links = EMLINK,
164 too_many_synbolic_link_levels = ELOOP,
165
166 #ifdef _GLIBCXX_HAVE_EOVERFLOW
167 value_too_large = EOVERFLOW,
168 #endif
169
170 wrong_protocol_type = EPROTOTYPE,
171 no_posix_equivalent = 1L << 16
172 };
173 }
174
175 _GLIBCXX_END_NAMESPACE
176
177 #endif