1 /* A POSIX-like <errno.h>.
3 Copyright (C) 2008 Free Software Foundation, Inc.
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 2, or (at your option)
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.
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. */
21 @PRAGMA_SYSTEM_HEADER@
23 /* The include_next requires a split double-inclusion guard. */
24 #@INCLUDE_NEXT@ @NEXT_ERRNO_H@
30 /* On native Windows platforms, many macros are not defined. */
31 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
33 /* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */
34 # define EWOULDBLOCK EAGAIN
36 /* Values >= 100 seem safe to use. */
38 # define GNULIB_defined_ETXTBSY 1
40 /* These are intentionally the same values as the WSA* error numbers, defined
42 # define EINPROGRESS 10036
43 # define EALREADY 10037
44 # define ENOTSOCK 10038
45 # define EDESTADDRREQ 10039
46 # define EMSGSIZE 10040
47 # define EPROTOTYPE 10041
48 # define ENOPROTOOPT 10042
49 # define EPROTONOSUPPORT 10043
50 # define ESOCKTNOSUPPORT 10044 /* not required by POSIX */
51 # define EOPNOTSUPP 10045
52 # define EPFNOSUPPORT 10046 /* not required by POSIX */
53 # define EAFNOSUPPORT 10047
54 # define EADDRINUSE 10048
55 # define EADDRNOTAVAIL 10049
56 # define ENETDOWN 10050
57 # define ENETUNREACH 10051
58 # define ENETRESET 10052
59 # define ECONNABORTED 10053
60 # define ECONNRESET 10054
61 # define ENOBUFS 10055
62 # define EISCONN 10056
63 # define ENOTCONN 10057
64 # define ESHUTDOWN 10058 /* not required by POSIX */
65 # define ETOOMANYREFS 10059 /* not required by POSIX */
66 # define ETIMEDOUT 10060
67 # define ECONNREFUSED 10061
69 # define EHOSTDOWN 10064 /* not required by POSIX */
70 # define EHOSTUNREACH 10065
71 # define EPROCLIM 10067 /* not required by POSIX */
72 # define EUSERS 10068 /* not required by POSIX */
75 # define EREMOTE 10071 /* not required by POSIX */
76 # define GNULIB_defined_ESOCK 1
81 /* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros
82 EMULTIHOP, ENOLINK, EOVERFLOW are not defined. */
83 # if @EMULTIHOP_HIDDEN@
84 # define EMULTIHOP @EMULTIHOP_VALUE@
85 # define GNULIB_defined_EMULTIHOP 1
88 # define ENOLINK @ENOLINK_VALUE@
89 # define GNULIB_defined_ENOLINK 1
91 # if @EOVERFLOW_HIDDEN@
92 # define EOVERFLOW @EOVERFLOW_VALUE@
93 # define GNULIB_defined_EOVERFLOW 1
97 /* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
98 EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
99 Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151,
100 HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
102 Note: When one of these systems defines some of these macros some day,
103 binaries will have to be recompiled so that they recognizes the new
104 errno values from the system. */
108 # define GNULIB_defined_ENOMSG 1
113 # define GNULIB_defined_EIDRM 1
117 # define ENOLINK 2002
118 # define GNULIB_defined_ENOLINK 1
123 # define GNULIB_defined_EPROTO 1
127 # define EMULTIHOP 2004
128 # define GNULIB_defined_EMULTIHOP 1
132 # define EBADMSG 2005
133 # define GNULIB_defined_EBADMSG 1
137 # define EOVERFLOW 2006
138 # define GNULIB_defined_EOVERFLOW 1
142 # define ENOTSUP 2007
143 # define GNULIB_defined_ENOTSUP 1
147 # define ECANCELED 2008
148 # define GNULIB_defined_ECANCELED 1
152 #endif /* _GL_ERRNO_H */
153 #endif /* _GL_ERRNO_H */