1// Specific definitions for mingw32 platform -*- C++ -*- 2 3// Copyright (C) 2007, 2008, 2009 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 error_constants.h 26 * This is an internal header file, included by other library headers. 27 * You should not attempt to use it directly. 28 */ 29 30#ifndef _GLIBCXX_ERROR_CONSTANTS 31# define _GLIBCXX_ERROR_CONSTANTS 32 33#include <bits/c++config.h> 34#include <cerrno> 35 36 37_GLIBCXX_BEGIN_NAMESPACE(std) 38 39// Most of the commented-out error codes are socket-related and could be 40// replaced by Winsock WSA-prefixed equivalents. 41 enum class errc 42 { 43// address_family_not_supported = EAFNOSUPPORT, 44// address_in_use = EADDRINUSE, 45// address_not_available = EADDRNOTAVAIL, 46// already_connected = EISCONN, 47 argument_list_too_long = E2BIG, 48 argument_out_of_domain = EDOM, 49 bad_address = EFAULT, 50 bad_file_descriptor = EBADF, 51// bad_message = EBADMSG, 52 broken_pipe = EPIPE, 53// connection_aborted = ECONNABORTED, 54// connection_already_in_progress = EALREADY, 55// connection_refused = ECONNREFUSED, 56// connection_reset = ECONNRESET, 57// cross_device_link = EXDEV, 58// destination_address_required = EDESTADDRREQ, 59 device_or_resource_busy = EBUSY, 60 directory_not_empty = ENOTEMPTY, 61 executable_format_error = ENOEXEC, 62 file_exists = EEXIST, 63 file_too_large = EFBIG, 64 filename_too_long = ENAMETOOLONG, 65 function_not_supported = ENOSYS, 66// host_unreachable = EHOSTUNREACH, 67// identifier_removed = EIDRM, 68 illegal_byte_sequence = EILSEQ, 69 inappropriate_io_control_operation = ENOTTY, 70 interrupted = EINTR, 71 invalid_argument = EINVAL, 72 invalid_seek = ESPIPE, 73 io_error = EIO, 74 is_a_directory = EISDIR, 75// message_size = EMSGSIZE, 76// network_down = ENETDOWN, 77// network_reset = ENETRESET, 78// network_unreachable = ENETUNREACH, 79// no_buffer_space = ENOBUFS, 80// no_child_process = ECHILD, 81// no_link = ENOLINK, 82 no_lock_available = ENOLCK, 83// no_message_available = ENODATA, 84// no_message = ENOMSG, 85// no_protocol_option = ENOPROTOOPT, 86// no_space_on_device = ENOSPC, 87// no_stream_resources = ENOSR, 88 no_such_device_or_address = ENXIO, 89 no_such_device = ENODEV, 90 no_such_file_or_directory = ENOENT, 91 no_such_process = ESRCH, 92 not_a_directory = ENOTDIR, 93// not_a_socket = ENOTSOCK, 94// not_a_stream = ENOSTR, 95// not_connected = ENOTCONN, 96 not_enough_memory = ENOMEM, 97// not_supported = ENOTSUP, 98// operation_canceled = ECANCELED, 99// operation_in_progress = EINPROGRESS, 100// operation_not_permitted = EPERM, 101// operation_not_supported = EOPNOTSUPP, 102// operation_would_block = EWOULDBLOCK, 103// owner_dead = EOWNERDEAD, 104 permission_denied = EACCES, 105// protocol_error = EPROTO, 106// protocol_not_supported = EPROTONOSUPPORT, 107 read_only_file_system = EROFS, 108 resource_deadlock_would_occur = EDEADLK, 109 resource_unavailable_try_again = EAGAIN, 110 result_out_of_range = ERANGE, 111// state_not_recoverable = ENOTRECOVERABLE, 112// stream_timeout = ETIME, 113// text_file_busy = ETXTBSY, 114// timed_out = ETIMEDOUT, 115 too_many_files_open_in_system = ENFILE, 116 too_many_files_open = EMFILE, 117 too_many_links = EMLINK 118 // too_many_symbolic_link_levels = ELOOP, 119 // value_too_large = EOVERFLOW, 120 // wrong_protocol_type = EPROTOTYPE 121 }; 122 123_GLIBCXX_END_NAMESPACE 124 125#endif 126