105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A POSIX-like <errno.h>.
205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Copyright (C) 2008-2012 Free Software Foundation, Inc.
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is free software; you can redistribute it and/or modify
605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   it under the terms of the GNU General Public License as published by
705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   the Free Software Foundation; either version 3, or (at your option)
805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   any later version.
905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is distributed in the hope that it will be useful,
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   but WITHOUT ANY WARRANTY; without even the implied warranty of
1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   GNU General Public License for more details.
1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   You should have received a copy of the GNU General Public License
1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _@GUARD_PREFIX@_ERRNO_H
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_SYSTEM_HEADER@
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_COLUMNS@
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The include_next requires a split double-inclusion guard.  */
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#@INCLUDE_NEXT@ @NEXT_ERRNO_H@
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _@GUARD_PREFIX@_ERRNO_H
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _@GUARD_PREFIX@_ERRNO_H
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* On native Windows platforms, many macros are not defined.  */
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* These are the same values as defined by MSVC 10, for interoperability.  */
3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ENOMSG
3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOMSG    122
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ENOMSG 1
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EIDRM
4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EIDRM     111
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_EIDRM 1
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ENOLINK
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOLINK   121
4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ENOLINK 1
5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
5205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EPROTO
5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EPROTO    134
5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_EPROTO 1
5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
5705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EBADMSG
5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EBADMSG   104
5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_EBADMSG 1
6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EOVERFLOW
6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOVERFLOW 132
6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_EOVERFLOW 1
6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ENOTSUP
6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTSUP   129
6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ENOTSUP 1
7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ENETRESET
7305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENETRESET 117
7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ENETRESET 1
7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ECONNABORTED
7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ECONNABORTED 106
7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ECONNABORTED 1
8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ECANCELED
8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ECANCELED 105
8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ECANCELED 1
8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
8605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EOWNERDEAD
8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOWNERDEAD 133
8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_EOWNERDEAD 1
9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
9105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ENOTRECOVERABLE
9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTRECOVERABLE 127
9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ENOTRECOVERABLE 1
9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
9605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef EINPROGRESS
9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EINPROGRESS     112
9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EALREADY        103
10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTSOCK        128
10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EDESTADDRREQ    109
10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EMSGSIZE        115
10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EPROTOTYPE      136
10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOPROTOOPT     123
10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EPROTONOSUPPORT 135
10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOPNOTSUPP      130
10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EAFNOSUPPORT    102
10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EADDRINUSE      100
10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EADDRNOTAVAIL   101
11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENETDOWN        116
11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENETUNREACH     118
11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ECONNRESET      108
11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOBUFS         119
11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EISCONN         113
11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTCONN        126
11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ETIMEDOUT       138
11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ECONNREFUSED    107
11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ELOOP           114
11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EHOSTUNREACH    110
12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EWOULDBLOCK     140
12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ESOCK 1
12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef ETXTBSY
12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ETXTBSY         139
12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENODATA         120  /* not required by POSIX */
12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOSR           124  /* not required by POSIX */
12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOSTR          125  /* not required by POSIX */
12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ETIME           137  /* not required by POSIX */
13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOTHER          131  /* not required by POSIX */
13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define GNULIB_defined_ESTREAMS 1
13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* These are intentionally the same values as the WSA* error numbers, defined
13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   in <winsock2.h>.  */
13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ESOCKTNOSUPPORT 10044  /* not required by POSIX */
13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EPFNOSUPPORT    10046  /* not required by POSIX */
13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ESHUTDOWN       10058  /* not required by POSIX */
13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ETOOMANYREFS    10059  /* not required by POSIX */
14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EHOSTDOWN       10064  /* not required by POSIX */
14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EPROCLIM        10067  /* not required by POSIX */
14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EUSERS          10068  /* not required by POSIX */
14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EDQUOT          10069
14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ESTALE          10070
14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EREMOTE         10071  /* not required by POSIX */
14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EWINSOCK 1
14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros
15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   EMULTIHOP, ENOLINK, EOVERFLOW are not defined.  */
15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @EMULTIHOP_HIDDEN@
15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EMULTIHOP @EMULTIHOP_VALUE@
15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EMULTIHOP 1
15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @ENOLINK_HIDDEN@
15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ENOLINK   @ENOLINK_VALUE@
15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENOLINK 1
16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @EOVERFLOW_HIDDEN@
16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EOVERFLOW @EOVERFLOW_VALUE@
16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EOVERFLOW 1
16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Likewise, on NonStop Kernel, EDQUOT is not defined.
17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Define them here.  Values >= 2000 seem safe to use: Solaris ESTALE = 151,
17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Note: When one of these systems defines some of these macros some day,
17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   binaries will have to be recompiled so that they recognizes the new
17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   errno values from the system.  */
17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ENOMSG
17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ENOMSG    2000
17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENOMSG 1
18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EIDRM
18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EIDRM     2001
18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EIDRM 1
18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ENOLINK
18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ENOLINK   2002
18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENOLINK 1
19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EPROTO
19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EPROTO    2003
19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EPROTO 1
19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EMULTIHOP
19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EMULTIHOP 2004
19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EMULTIHOP 1
20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EBADMSG
20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EBADMSG   2005
20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EBADMSG 1
20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EOVERFLOW
20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EOVERFLOW 2006
20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EOVERFLOW 1
21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ENOTSUP
21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ENOTSUP   2007
21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENOTSUP 1
21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ENETRESET
21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ENETRESET 2011
21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENETRESET 1
22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ECONNABORTED
22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ECONNABORTED 2012
22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ECONNABORTED 1
22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ESTALE
22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ESTALE    2009
22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ESTALE 1
23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EDQUOT
23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EDQUOT 2010
23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EDQUOT 1
23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef ECANCELED
23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ECANCELED 2008
23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ECANCELED 1
24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* On many platforms, the macros EOWNERDEAD and ENOTRECOVERABLE are not
24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   defined.  */
24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EOWNERDEAD
24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if defined __sun
24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* Use the same values as defined for Solaris >= 8, for
24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang       interoperability.  */
24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOWNERDEAD      58
25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTRECOVERABLE 59
25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* We have a conflict here: pthreads-win32 defines these values
25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang       differently than MSVC 10.  It's hairy to decide which one to use.  */
25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   if defined __MINGW32__ && !defined USE_WINDOWS_THREADS
25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     /* Use the same values as defined by pthreads-win32, for
25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang        interoperability.  */
25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define EOWNERDEAD      43
25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define ENOTRECOVERABLE 44
25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   else
26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     /* Use the same values as defined by MSVC 10, for
26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang        interoperability.  */
26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define EOWNERDEAD      133
26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define ENOTRECOVERABLE 127
26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   endif
26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define EOWNERDEAD      2013
26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ENOTRECOVERABLE 2014
26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EOWNERDEAD 1
27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_ENOTRECOVERABLE 1
27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef EILSEQ
27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define EILSEQ 2015
27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_EILSEQ 1
27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _@GUARD_PREFIX@_ERRNO_H */
27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _@GUARD_PREFIX@_ERRNO_H */
280