re PR libstdc++/33203 (libstdc++-v3 build broken on i386-pc-mingw32)
[gcc.git] / libstdc++-v3 / config / os / generic / error_constants.h
1 // Specific definitions for generic platforms -*- C++ -*-
2
3 // Copyright (C) 2007 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 enum posix_errno
44 {
45 address_family_not_supported = EAFNOSUPPORT,
46 address_in_use = EADDRINUSE,
47 address_not_available = EADDRNOTAVAIL,
48 already_connected = EISCONN,
49 argument_list_too_long = E2BIG,
50 argument_out_of_domain = EDOM,
51 bad_address = EFAULT,
52 bad_file_descriptor = EBADF,
53
54 #ifdef _GLIBCXX_HAVE_EBADMSG
55 bad_message = EBADMSG,
56 #endif
57
58 broken_pipe = EPIPE,
59 connection_aborted = ECONNABORTED,
60 connection_already_in_progress = EALREADY,
61 connection_refused = ECONNREFUSED,
62 connection_reset = ECONNRESET,
63 cross_device_link = EXDEV,
64 destination_address_required = EDESTADDRREQ,
65 device_or_resource_busy = EBUSY,
66 directory_not_empty = ENOTEMPTY,
67 executable_format_error = ENOEXEC,
68 file_exists = EEXIST,
69 file_too_large = EFBIG,
70 filename_too_long = ENAMETOOLONG,
71 function_not_supported = ENOSYS,
72 host_unreachable = EHOSTUNREACH,
73 identifier_removed = EIDRM,
74 illegal_byte_sequence = EILSEQ,
75 inappropriate_io_control_operation = ENOTTY,
76 interrupted = EINTR,
77 invalid_argument = EINVAL,
78 invalid_seek = ESPIPE,
79 io_error = EIO,
80 is_a_directory = EISDIR,
81 message_size = EMSGSIZE,
82 network_down = ENETDOWN,
83 network_reset = ENETRESET,
84 network_unreachable = ENETUNREACH,
85 no_buffer_space = ENOBUFS,
86 no_child_process = ECHILD,
87
88 #ifdef _GLIBCXX_HAVE_ENOLINK
89 no_link = ENOLINK,
90 #endif
91 no_lock_available = ENOLCK,
92
93 #ifdef _GLIBCXX_HAVE_ENODATA
94 no_message_available = ENODATA,
95 #endif
96
97 no_message = ENOMSG,
98 no_protocol_option = ENOPROTOOPT,
99 no_space_on_device = ENOSPC,
100
101 #ifdef _GLIBCXX_HAVE_ENOSR
102 no_stream_resources = ENOSR,
103 #endif
104
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
112 #ifdef _GLIBCXX_HAVE_ENOSTR
113 not_a_stream = ENOSTR,
114 #endif
115
116 not_connected = ENOTCONN,
117 not_enough_memory = ENOMEM,
118 not_supported = ENOTSUP,
119 operation_canceled = ECANCELED,
120 operation_in_progress = EINPROGRESS,
121 operation_not_permitted = EPERM,
122 operation_not_supported = EOPNOTSUPP,
123 operation_would_block = EWOULDBLOCK,
124 #ifdef _GLIBCXX_HAVE_EOWNERDEAD
125 owner_dead = EOWNERDEAD,
126 #endif
127 permission_denied = EACCES,
128 #ifdef _GLIBCXX_HAVE_EPROTO
129 protocol_error = EPROTO,
130 #endif
131 protocol_not_supported = EPROTONOSUPPORT,
132 read_only_file_system = EROFS,
133 resource_deadlock_would_occur = EDEADLK,
134 resource_unavailable_try_again = EAGAIN,
135 result_out_of_range = ERANGE,
136 #ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
137 state_not_recoverable = ENOTRECOVERABLE,
138 #endif
139
140 #ifdef _GLIBCXX_HAVE_ETIME
141 stream_timeout = ETIME,
142 #endif
143
144 text_file_busy = ETXTBSY,
145 timed_out = ETIMEDOUT,
146 too_many_files_open_in_system = ENFILE,
147 too_many_files_open = EMFILE,
148 too_many_links = EMLINK,
149 too_many_synbolic_link_levels = ELOOP,
150 value_too_large = EOVERFLOW,
151 wrong_protocol_type = EPROTOTYPE,
152 no_posix_equivalent = 1L << 16
153 };
154
155 _GLIBCXX_END_NAMESPACE
156
157 #endif