1 /* A POSIX-like <errno.h>. 2 3 Copyright (C) 2008-2020 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, see <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _@GUARD_PREFIX@_ERRNO_H 19 20 #if __GNUC__ >= 3 21 @PRAGMA_SYSTEM_HEADER@ 22 #endif 23 @PRAGMA_COLUMNS@ 24 25 /* The include_next requires a split double-inclusion guard. */ 26 #@INCLUDE_NEXT@ @NEXT_ERRNO_H@ 27 28 #ifndef _@GUARD_PREFIX@_ERRNO_H 29 #define _@GUARD_PREFIX@_ERRNO_H 30 31 32 /* On native Windows platforms, many macros are not defined. */ 33 # if defined _WIN32 && ! defined __CYGWIN__ 34 35 /* These are the same values as defined by MSVC 10, for interoperability. */ 36 37 # ifndef ENOMSG 38 # define ENOMSG 122 39 # define GNULIB_defined_ENOMSG 1 40 # endif 41 42 # ifndef EIDRM 43 # define EIDRM 111 44 # define GNULIB_defined_EIDRM 1 45 # endif 46 47 # ifndef ENOLINK 48 # define ENOLINK 121 49 # define GNULIB_defined_ENOLINK 1 50 # endif 51 52 # ifndef EPROTO 53 # define EPROTO 134 54 # define GNULIB_defined_EPROTO 1 55 # endif 56 57 # ifndef EBADMSG 58 # define EBADMSG 104 59 # define GNULIB_defined_EBADMSG 1 60 # endif 61 62 # ifndef EOVERFLOW 63 # define EOVERFLOW 132 64 # define GNULIB_defined_EOVERFLOW 1 65 # endif 66 67 # ifndef ENOTSUP 68 # define ENOTSUP 129 69 # define GNULIB_defined_ENOTSUP 1 70 # endif 71 72 # ifndef ENETRESET 73 # define ENETRESET 117 74 # define GNULIB_defined_ENETRESET 1 75 # endif 76 77 # ifndef ECONNABORTED 78 # define ECONNABORTED 106 79 # define GNULIB_defined_ECONNABORTED 1 80 # endif 81 82 # ifndef ECANCELED 83 # define ECANCELED 105 84 # define GNULIB_defined_ECANCELED 1 85 # endif 86 87 # ifndef EOWNERDEAD 88 # define EOWNERDEAD 133 89 # define GNULIB_defined_EOWNERDEAD 1 90 # endif 91 92 # ifndef ENOTRECOVERABLE 93 # define ENOTRECOVERABLE 127 94 # define GNULIB_defined_ENOTRECOVERABLE 1 95 # endif 96 97 # ifndef EINPROGRESS 98 # define EINPROGRESS 112 99 # define EALREADY 103 100 # define ENOTSOCK 128 101 # define EDESTADDRREQ 109 102 # define EMSGSIZE 115 103 # define EPROTOTYPE 136 104 # define ENOPROTOOPT 123 105 # define EPROTONOSUPPORT 135 106 # define EOPNOTSUPP 130 107 # define EAFNOSUPPORT 102 108 # define EADDRINUSE 100 109 # define EADDRNOTAVAIL 101 110 # define ENETDOWN 116 111 # define ENETUNREACH 118 112 # define ECONNRESET 108 113 # define ENOBUFS 119 114 # define EISCONN 113 115 # define ENOTCONN 126 116 # define ETIMEDOUT 138 117 # define ECONNREFUSED 107 118 # define ELOOP 114 119 # define EHOSTUNREACH 110 120 # define EWOULDBLOCK 140 121 # define GNULIB_defined_ESOCK 1 122 # endif 123 124 # ifndef ETXTBSY 125 # define ETXTBSY 139 126 # define ENODATA 120 /* not required by POSIX */ 127 # define ENOSR 124 /* not required by POSIX */ 128 # define ENOSTR 125 /* not required by POSIX */ 129 # define ETIME 137 /* not required by POSIX */ 130 # define EOTHER 131 /* not required by POSIX */ 131 # define GNULIB_defined_ESTREAMS 1 132 # endif 133 134 /* These are intentionally the same values as the WSA* error numbers, defined 135 in <winsock2.h>. */ 136 # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ 137 # define EPFNOSUPPORT 10046 /* not required by POSIX */ 138 # define ESHUTDOWN 10058 /* not required by POSIX */ 139 # define ETOOMANYREFS 10059 /* not required by POSIX */ 140 # define EHOSTDOWN 10064 /* not required by POSIX */ 141 # define EPROCLIM 10067 /* not required by POSIX */ 142 # define EUSERS 10068 /* not required by POSIX */ 143 # define EDQUOT 10069 144 # define ESTALE 10070 145 # define EREMOTE 10071 /* not required by POSIX */ 146 # define GNULIB_defined_EWINSOCK 1 147 148 # endif 149 150 151 /* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros 152 EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ 153 # if @EMULTIHOP_HIDDEN@ 154 # define EMULTIHOP @EMULTIHOP_VALUE@ 155 # define GNULIB_defined_EMULTIHOP 1 156 # endif 157 # if @ENOLINK_HIDDEN@ 158 # define ENOLINK @ENOLINK_VALUE@ 159 # define GNULIB_defined_ENOLINK 1 160 # endif 161 # if @EOVERFLOW_HIDDEN@ 162 # define EOVERFLOW @EOVERFLOW_VALUE@ 163 # define GNULIB_defined_EOVERFLOW 1 164 # endif 165 166 167 /* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, 168 EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. 169 Likewise, on NonStop Kernel, EDQUOT is not defined. 170 Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, 171 HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. 172 173 Note: When one of these systems defines some of these macros some day, 174 binaries will have to be recompiled so that they recognizes the new 175 errno values from the system. */ 176 177 # ifndef ENOMSG 178 # define ENOMSG 2000 179 # define GNULIB_defined_ENOMSG 1 180 # endif 181 182 # ifndef EIDRM 183 # define EIDRM 2001 184 # define GNULIB_defined_EIDRM 1 185 # endif 186 187 # ifndef ENOLINK 188 # define ENOLINK 2002 189 # define GNULIB_defined_ENOLINK 1 190 # endif 191 192 # ifndef EPROTO 193 # define EPROTO 2003 194 # define GNULIB_defined_EPROTO 1 195 # endif 196 197 # ifndef EMULTIHOP 198 # define EMULTIHOP 2004 199 # define GNULIB_defined_EMULTIHOP 1 200 # endif 201 202 # ifndef EBADMSG 203 # define EBADMSG 2005 204 # define GNULIB_defined_EBADMSG 1 205 # endif 206 207 # ifndef EOVERFLOW 208 # define EOVERFLOW 2006 209 # define GNULIB_defined_EOVERFLOW 1 210 # endif 211 212 # ifndef ENOTSUP 213 # define ENOTSUP 2007 214 # define GNULIB_defined_ENOTSUP 1 215 # endif 216 217 # ifndef ENETRESET 218 # define ENETRESET 2011 219 # define GNULIB_defined_ENETRESET 1 220 # endif 221 222 # ifndef ECONNABORTED 223 # define ECONNABORTED 2012 224 # define GNULIB_defined_ECONNABORTED 1 225 # endif 226 227 # ifndef ESTALE 228 # define ESTALE 2009 229 # define GNULIB_defined_ESTALE 1 230 # endif 231 232 # ifndef EDQUOT 233 # define EDQUOT 2010 234 # define GNULIB_defined_EDQUOT 1 235 # endif 236 237 # ifndef ECANCELED 238 # define ECANCELED 2008 239 # define GNULIB_defined_ECANCELED 1 240 # endif 241 242 /* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not 243 defined. */ 244 245 # ifndef EOWNERDEAD 246 # if defined __sun 247 /* Use the same values as defined for Solaris >= 8, for 248 interoperability. */ 249 # define EOWNERDEAD 58 250 # define ENOTRECOVERABLE 59 251 # elif defined _WIN32 && ! defined __CYGWIN__ 252 /* We have a conflict here: pthreads-win32 defines these values 253 differently than MSVC 10. It's hairy to decide which one to use. */ 254 # if defined __MINGW32__ && !defined USE_WINDOWS_THREADS 255 /* Use the same values as defined by pthreads-win32, for 256 interoperability. */ 257 # define EOWNERDEAD 43 258 # define ENOTRECOVERABLE 44 259 # else 260 /* Use the same values as defined by MSVC 10, for 261 interoperability. */ 262 # define EOWNERDEAD 133 263 # define ENOTRECOVERABLE 127 264 # endif 265 # else 266 # define EOWNERDEAD 2013 267 # define ENOTRECOVERABLE 2014 268 # endif 269 # define GNULIB_defined_EOWNERDEAD 1 270 # define GNULIB_defined_ENOTRECOVERABLE 1 271 # endif 272 273 # ifndef EILSEQ 274 # define EILSEQ 2015 275 # define GNULIB_defined_EILSEQ 1 276 # endif 277 278 #endif /* _@GUARD_PREFIX@_ERRNO_H */ 279 #endif /* _@GUARD_PREFIX@_ERRNO_H */ 280