1 // Specific definitions for mingw32 platform -*- C++ -*-
3 // Copyright (C) 2007-2025 Free Software Foundation, Inc.
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)
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.
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.
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/>.
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}
30 #ifndef _GLIBCXX_ERROR_CONSTANTS
31 # define _GLIBCXX_ERROR_CONSTANTS
33 #include <bits/c++config.h>
36 namespace std
_GLIBCXX_VISIBILITY(default)
38 _GLIBCXX_BEGIN_NAMESPACE_VERSION
40 // Most of the commented-out error codes are socket-related and could be
41 // replaced by Winsock WSA-prefixed equivalents.
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
,
51 bad_file_descriptor
= EBADF
,
53 bad_message
= EBADMSG
,
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
,
66 file_too_large
= EFBIG
,
67 filename_too_long
= ENAMETOOLONG
,
68 function_not_supported
= ENOSYS
,
69 host_unreachable
= EHOSTUNREACH
,
71 identifier_removed
= EIDRM
,
73 illegal_byte_sequence
= EILSEQ
,
74 inappropriate_io_control_operation
= ENOTTY
,
76 invalid_argument
= EINVAL
,
77 invalid_seek
= ESPIPE
,
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
,
86 no_child_process
= ECHILD
,
91 no_lock_available
= ENOLCK
,
93 no_message_available
= ENODATA
,
98 no_protocol_option
= ENOPROTOOPT
,
100 no_space_on_device
= ENOSPC
,
103 no_stream_resources
= ENOSR
,
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
,
112 not_a_stream
= ENOSTR
,
114 not_connected
= ENOTCONN
,
115 not_enough_memory
= ENOMEM
,
117 not_supported
= ENOTSUP
,
119 operation_canceled
= ECANCELED
,
120 operation_in_progress
= EINPROGRESS
,
122 operation_not_permitted
= EPERM
,
124 operation_not_supported
= EOPNOTSUPP
,
126 operation_would_block
= EWOULDBLOCK
,
129 owner_dead
= EOWNERDEAD
,
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
,
142 stream_timeout
= ETIME
,
145 text_file_busy
= ETXTBSY
,
148 timed_out
= ETIMEDOUT
,
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
,
155 value_too_large
= EOVERFLOW
,
157 wrong_protocol_type
= EPROTOTYPE
160 _GLIBCXX_END_NAMESPACE_VERSION