update NEWS.stable
[gnulib.git] / lib / errno.in.h
1 /* A POSIX-like <errno.h>.
2
3    Copyright (C) 2008-2012 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 2, 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 <http://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 __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 EINPROGRESS
88 #   define EINPROGRESS     112
89 #   define EALREADY        103
90 #   define ENOTSOCK        128
91 #   define EDESTADDRREQ    109
92 #   define EMSGSIZE        115
93 #   define EPROTOTYPE      136
94 #   define ENOPROTOOPT     123
95 #   define EPROTONOSUPPORT 135
96 #   define EOPNOTSUPP      130
97 #   define EAFNOSUPPORT    102
98 #   define EADDRINUSE      100
99 #   define EADDRNOTAVAIL   101
100 #   define ENETDOWN        116
101 #   define ENETUNREACH     118
102 #   define ECONNRESET      108
103 #   define ENOBUFS         119
104 #   define EISCONN         113
105 #   define ENOTCONN        126
106 #   define ETIMEDOUT       138
107 #   define ECONNREFUSED    107
108 #   define ELOOP           114
109 #   define EHOSTUNREACH    110
110 #   define EWOULDBLOCK     140
111 #   define ETXTBSY         139
112 #   define ENODATA         120  /* not required by POSIX */
113 #   define ENOSR           124  /* not required by POSIX */
114 #   define ENOSTR          125  /* not required by POSIX */
115 #   define ENOTRECOVERABLE 127  /* not required by POSIX */
116 #   define EOWNERDEAD      133  /* not required by POSIX */
117 #   define ETIME           137  /* not required by POSIX */
118 #   define EOTHER          131  /* not required by POSIX */
119 #   define GNULIB_defined_ESOCK 1
120 #  endif
121
122 /* These are intentionally the same values as the WSA* error numbers, defined
123    in <winsock2.h>.  */
124 #  define ESOCKTNOSUPPORT 10044  /* not required by POSIX */
125 #  define EPFNOSUPPORT    10046  /* not required by POSIX */
126 #  define ESHUTDOWN       10058  /* not required by POSIX */
127 #  define ETOOMANYREFS    10059  /* not required by POSIX */
128 #  define EHOSTDOWN       10064  /* not required by POSIX */
129 #  define EPROCLIM        10067  /* not required by POSIX */
130 #  define EUSERS          10068  /* not required by POSIX */
131 #  define EDQUOT          10069
132 #  define ESTALE          10070
133 #  define EREMOTE         10071  /* not required by POSIX */
134 #  define GNULIB_defined_EWINSOCK 1
135
136 # endif
137
138
139 /* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros
140    EMULTIHOP, ENOLINK, EOVERFLOW are not defined.  */
141 # if @EMULTIHOP_HIDDEN@
142 #  define EMULTIHOP @EMULTIHOP_VALUE@
143 #  define GNULIB_defined_EMULTIHOP 1
144 # endif
145 # if @ENOLINK_HIDDEN@
146 #  define ENOLINK   @ENOLINK_VALUE@
147 #  define GNULIB_defined_ENOLINK 1
148 # endif
149 # if @EOVERFLOW_HIDDEN@
150 #  define EOVERFLOW @EOVERFLOW_VALUE@
151 #  define GNULIB_defined_EOVERFLOW 1
152 # endif
153
154
155 /* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
156    EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
157    Likewise, on NonStop Kernel, EDQUOT is not defined.
158    Define them here.  Values >= 2000 seem safe to use: Solaris ESTALE = 151,
159    HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
160
161    Note: When one of these systems defines some of these macros some day,
162    binaries will have to be recompiled so that they recognizes the new
163    errno values from the system.  */
164
165 # ifndef ENOMSG
166 #  define ENOMSG    2000
167 #  define GNULIB_defined_ENOMSG 1
168 # endif
169
170 # ifndef EIDRM
171 #  define EIDRM     2001
172 #  define GNULIB_defined_EIDRM 1
173 # endif
174
175 # ifndef ENOLINK
176 #  define ENOLINK   2002
177 #  define GNULIB_defined_ENOLINK 1
178 # endif
179
180 # ifndef EPROTO
181 #  define EPROTO    2003
182 #  define GNULIB_defined_EPROTO 1
183 # endif
184
185 # ifndef EMULTIHOP
186 #  define EMULTIHOP 2004
187 #  define GNULIB_defined_EMULTIHOP 1
188 # endif
189
190 # ifndef EBADMSG
191 #  define EBADMSG   2005
192 #  define GNULIB_defined_EBADMSG 1
193 # endif
194
195 # ifndef EOVERFLOW
196 #  define EOVERFLOW 2006
197 #  define GNULIB_defined_EOVERFLOW 1
198 # endif
199
200 # ifndef ENOTSUP
201 #  define ENOTSUP   2007
202 #  define GNULIB_defined_ENOTSUP 1
203 # endif
204
205 # ifndef ENETRESET
206 #  define ENETRESET 2011
207 #  define GNULIB_defined_ENETRESET 1
208 # endif
209
210 # ifndef ECONNABORTED
211 #  define ECONNABORTED 2012
212 #  define GNULIB_defined_ECONNABORTED 1
213 # endif
214
215 # ifndef ESTALE
216 #  define ESTALE    2009
217 #  define GNULIB_defined_ESTALE 1
218 # endif
219
220 # ifndef EDQUOT
221 #  define EDQUOT 2010
222 #  define GNULIB_defined_EDQUOT 1
223 # endif
224
225 # ifndef ECANCELED
226 #  define ECANCELED 2008
227 #  define GNULIB_defined_ECANCELED 1
228 # endif
229
230
231 #endif /* _@GUARD_PREFIX@_ERRNO_H */
232 #endif /* _@GUARD_PREFIX@_ERRNO_H */