2 //===-------------------------- errno.h -----------------------------------===//
4 // The LLVM Compiler Infrastructure
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef _LIBCPP_ERRNO_H
12 #define _LIBCPP_ERRNO_H
28 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
29 #pragma GCC system_header
32 #include_next <errno.h>
36 #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
40 static const int __elast1
= ELAST
+1;
41 static const int __elast2
= ELAST
+2;
45 static const int __elast1
= 104;
46 static const int __elast2
= 105;
50 #ifdef ENOTRECOVERABLE
52 #define EOWNERDEAD __elast1
56 #define ELAST EOWNERDEAD
59 #elif defined(EOWNERDEAD)
61 #define ENOTRECOVERABLE __elast1
64 #define ELAST ENOTRECOVERABLE
67 #else // defined(EOWNERDEAD)
69 #define EOWNERDEAD __elast1
70 #define ENOTRECOVERABLE __elast2
73 #define ELAST ENOTRECOVERABLE
76 #endif // defined(EOWNERDEAD)
78 #endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
80 // supply errno values likely to be missing, particularly on Windows
83 #define EAFNOSUPPORT 9901
87 #define EADDRINUSE 9902
91 #define EADDRNOTAVAIL 9903
103 #define ECONNABORTED 9906
107 #define EALREADY 9907
111 #define ECONNREFUSED 9908
115 #define ECONNRESET 9909
119 #define EDESTADDRREQ 9910
123 #define EHOSTUNREACH 9911
131 #define EMSGSIZE 9913
135 #define ENETDOWN 9914
139 #define ENETRESET 9915
143 #define ENETUNREACH 9916
163 #define ENOPROTOOPT 9921
171 #define ENOTSOCK 9923
179 #define ENOTCONN 9925
187 #define ECANCELED 9927
191 #define EINPROGRESS 9928
195 #define EOPNOTSUPP 9929
199 #define EWOULDBLOCK 9930
203 #define EOWNERDEAD 9931
210 #ifndef EPROTONOSUPPORT
211 #define EPROTONOSUPPORT 9933
214 #ifndef ENOTRECOVERABLE
215 #define ENOTRECOVERABLE 9934
227 #define ETIMEDOUT 9938
235 #define EOVERFLOW 9940
239 #define EPROTOTYPE 9941
258 // Windows Mobile doesn't appear to define these:
289 #define ENOTEMPTY 9953
305 #define ENAMETOOLONG 9957
396 #endif // __cplusplus
398 #endif // _LIBCPP_ERRNO_H