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