1/* A POSIX-like <errno.h>. 2 3 Copyright (C) 2008-2011 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, write to the Free Software Foundation, 17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 18 19#ifndef _@GUARD_PREFIX@_ERRNO_H 20 21#if __GNUC__ >= 3 22@PRAGMA_SYSTEM_HEADER@ 23#endif 24@PRAGMA_COLUMNS@ 25 26/* The include_next requires a split double-inclusion guard. */ 27#@INCLUDE_NEXT@ @NEXT_ERRNO_H@ 28 29#ifndef _@GUARD_PREFIX@_ERRNO_H 30#define _@GUARD_PREFIX@_ERRNO_H 31 32 33/* On native Windows platforms, many macros are not defined. */ 34# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ 35 36/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */ 37# define EWOULDBLOCK EAGAIN 38 39/* Values >= 100 seem safe to use. */ 40# define ETXTBSY 100 41# define GNULIB_defined_ETXTBSY 1 42 43/* These are intentionally the same values as the WSA* error numbers, defined 44 in <winsock2.h>. */ 45# define EINPROGRESS 10036 46# define EALREADY 10037 47# define ENOTSOCK 10038 48# define EDESTADDRREQ 10039 49# define EMSGSIZE 10040 50# define EPROTOTYPE 10041 51# define ENOPROTOOPT 10042 52# define EPROTONOSUPPORT 10043 53# define ESOCKTNOSUPPORT 10044 /* not required by POSIX */ 54# define EOPNOTSUPP 10045 55# define EPFNOSUPPORT 10046 /* not required by POSIX */ 56# define EAFNOSUPPORT 10047 57# define EADDRINUSE 10048 58# define EADDRNOTAVAIL 10049 59# define ENETDOWN 10050 60# define ENETUNREACH 10051 61# define ENETRESET 10052 62# define ECONNABORTED 10053 63# define ECONNRESET 10054 64# define ENOBUFS 10055 65# define EISCONN 10056 66# define ENOTCONN 10057 67# define ESHUTDOWN 10058 /* not required by POSIX */ 68# define ETOOMANYREFS 10059 /* not required by POSIX */ 69# define ETIMEDOUT 10060 70# define ECONNREFUSED 10061 71# define ELOOP 10062 72# define EHOSTDOWN 10064 /* not required by POSIX */ 73# define EHOSTUNREACH 10065 74# define EPROCLIM 10067 /* not required by POSIX */ 75# define EUSERS 10068 /* not required by POSIX */ 76# define EDQUOT 10069 77# define ESTALE 10070 78# define EREMOTE 10071 /* not required by POSIX */ 79# define GNULIB_defined_ESOCK 1 80 81# endif 82 83 84/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros 85 EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */ 86# if @EMULTIHOP_HIDDEN@ 87# define EMULTIHOP @EMULTIHOP_VALUE@ 88# define GNULIB_defined_EMULTIHOP 1 89# endif 90# if @ENOLINK_HIDDEN@ 91# define ENOLINK @ENOLINK_VALUE@ 92# define GNULIB_defined_ENOLINK 1 93# endif 94# if @EOVERFLOW_HIDDEN@ 95# define EOVERFLOW @EOVERFLOW_VALUE@ 96# define GNULIB_defined_EOVERFLOW 1 97# endif 98 99 100/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK, 101 EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined. 102 Likewise, on NonStop Kernel, EDQUOT is not defined. 103 Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151, 104 HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133. 105 106 Note: When one of these systems defines some of these macros some day, 107 binaries will have to be recompiled so that they recognizes the new 108 errno values from the system. */ 109 110# ifndef ENOMSG 111# define ENOMSG 2000 112# define GNULIB_defined_ENOMSG 1 113# endif 114 115# ifndef EIDRM 116# define EIDRM 2001 117# define GNULIB_defined_EIDRM 1 118# endif 119 120# ifndef ENOLINK 121# define ENOLINK 2002 122# define GNULIB_defined_ENOLINK 1 123# endif 124 125# ifndef EPROTO 126# define EPROTO 2003 127# define GNULIB_defined_EPROTO 1 128# endif 129 130# ifndef EMULTIHOP 131# define EMULTIHOP 2004 132# define GNULIB_defined_EMULTIHOP 1 133# endif 134 135# ifndef EBADMSG 136# define EBADMSG 2005 137# define GNULIB_defined_EBADMSG 1 138# endif 139 140# ifndef EOVERFLOW 141# define EOVERFLOW 2006 142# define GNULIB_defined_EOVERFLOW 1 143# endif 144 145# ifndef ENOTSUP 146# define ENOTSUP 2007 147# define GNULIB_defined_ENOTSUP 1 148# endif 149 150# ifndef ENETRESET 151# define ENETRESET 2011 152# define GNULIB_defined_ENETRESET 1 153# endif 154 155# ifndef ECONNABORTED 156# define ECONNABORTED 2012 157# define GNULIB_defined_ECONNABORTED 1 158# endif 159 160# ifndef ESTALE 161# define ESTALE 2009 162# define GNULIB_defined_ESTALE 1 163# endif 164 165# ifndef EDQUOT 166# define EDQUOT 2010 167# define GNULIB_defined_EDQUOT 1 168# endif 169 170# ifndef ECANCELED 171# define ECANCELED 2008 172# define GNULIB_defined_ECANCELED 1 173# endif 174 175 176#endif /* _@GUARD_PREFIX@_ERRNO_H */ 177#endif /* _@GUARD_PREFIX@_ERRNO_H */ 178