| // -*- C++ -*- | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef _LIBCPP_ERRNO_H | |
| #define _LIBCPP_ERRNO_H | |
| /* | |
| errno.h synopsis | |
| Macros: | |
| EDOM | |
| EILSEQ // C99 | |
| ERANGE | |
| errno | |
| */ | |
| #if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) | |
| # include <__cxx03/__config> | |
| #else | |
| # include <__config> | |
| #endif | |
| #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) | |
| # pragma GCC system_header | |
| #endif | |
| #if __has_include_next(<errno.h>) | |
| # include_next <errno.h> | |
| #endif | |
| #ifdef __cplusplus | |
| # if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) | |
| # ifdef ELAST | |
| static const int __elast1 = ELAST + 1; | |
| static const int __elast2 = ELAST + 2; | |
| # else | |
| static const int __elast1 = 104; | |
| static const int __elast2 = 105; | |
| # endif | |
| # ifdef ENOTRECOVERABLE | |
| # define EOWNERDEAD __elast1 | |
| # ifdef ELAST | |
| # undef ELAST | |
| # define ELAST EOWNERDEAD | |
| # endif | |
| # elif defined(EOWNERDEAD) | |
| # define ENOTRECOVERABLE __elast1 | |
| # ifdef ELAST | |
| # undef ELAST | |
| # define ELAST ENOTRECOVERABLE | |
| # endif | |
| # else // defined(EOWNERDEAD) | |
| # define EOWNERDEAD __elast1 | |
| # define ENOTRECOVERABLE __elast2 | |
| # ifdef ELAST | |
| # undef ELAST | |
| # define ELAST ENOTRECOVERABLE | |
| # endif | |
| # endif // defined(EOWNERDEAD) | |
| # endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) | |
| // supply errno values likely to be missing, particularly on Windows | |
| # ifndef EAFNOSUPPORT | |
| # define EAFNOSUPPORT 9901 | |
| # endif | |
| # ifndef EADDRINUSE | |
| # define EADDRINUSE 9902 | |
| # endif | |
| # ifndef EADDRNOTAVAIL | |
| # define EADDRNOTAVAIL 9903 | |
| # endif | |
| # ifndef EISCONN | |
| # define EISCONN 9904 | |
| # endif | |
| # ifndef EBADMSG | |
| # define EBADMSG 9905 | |
| # endif | |
| # ifndef ECONNABORTED | |
| # define ECONNABORTED 9906 | |
| # endif | |
| # ifndef EALREADY | |
| # define EALREADY 9907 | |
| # endif | |
| # ifndef ECONNREFUSED | |
| # define ECONNREFUSED 9908 | |
| # endif | |
| # ifndef ECONNRESET | |
| # define ECONNRESET 9909 | |
| # endif | |
| # ifndef EDESTADDRREQ | |
| # define EDESTADDRREQ 9910 | |
| # endif | |
| # ifndef EHOSTUNREACH | |
| # define EHOSTUNREACH 9911 | |
| # endif | |
| # ifndef EIDRM | |
| # define EIDRM 9912 | |
| # endif | |
| # ifndef EMSGSIZE | |
| # define EMSGSIZE 9913 | |
| # endif | |
| # ifndef ENETDOWN | |
| # define ENETDOWN 9914 | |
| # endif | |
| # ifndef ENETRESET | |
| # define ENETRESET 9915 | |
| # endif | |
| # ifndef ENETUNREACH | |
| # define ENETUNREACH 9916 | |
| # endif | |
| # ifndef ENOBUFS | |
| # define ENOBUFS 9917 | |
| # endif | |
| # ifndef ENOLINK | |
| # define ENOLINK 9918 | |
| # endif | |
| # ifndef ENODATA | |
| # define ENODATA 9919 | |
| # endif | |
| # ifndef ENOMSG | |
| # define ENOMSG 9920 | |
| # endif | |
| # ifndef ENOPROTOOPT | |
| # define ENOPROTOOPT 9921 | |
| # endif | |
| # ifndef ENOSR | |
| # define ENOSR 9922 | |
| # endif | |
| # ifndef ENOTSOCK | |
| # define ENOTSOCK 9923 | |
| # endif | |
| # ifndef ENOSTR | |
| # define ENOSTR 9924 | |
| # endif | |
| # ifndef ENOTCONN | |
| # define ENOTCONN 9925 | |
| # endif | |
| # ifndef ENOTSUP | |
| # define ENOTSUP 9926 | |
| # endif | |
| # ifndef ECANCELED | |
| # define ECANCELED 9927 | |
| # endif | |
| # ifndef EINPROGRESS | |
| # define EINPROGRESS 9928 | |
| # endif | |
| # ifndef EOPNOTSUPP | |
| # define EOPNOTSUPP 9929 | |
| # endif | |
| # ifndef EWOULDBLOCK | |
| # define EWOULDBLOCK 9930 | |
| # endif | |
| # ifndef EOWNERDEAD | |
| # define EOWNERDEAD 9931 | |
| # endif | |
| # ifndef EPROTO | |
| # define EPROTO 9932 | |
| # endif | |
| # ifndef EPROTONOSUPPORT | |
| # define EPROTONOSUPPORT 9933 | |
| # endif | |
| # ifndef ENOTRECOVERABLE | |
| # define ENOTRECOVERABLE 9934 | |
| # endif | |
| # ifndef ETIME | |
| # define ETIME 9935 | |
| # endif | |
| # ifndef ETXTBSY | |
| # define ETXTBSY 9936 | |
| # endif | |
| # ifndef ETIMEDOUT | |
| # define ETIMEDOUT 9938 | |
| # endif | |
| # ifndef ELOOP | |
| # define ELOOP 9939 | |
| # endif | |
| # ifndef EOVERFLOW | |
| # define EOVERFLOW 9940 | |
| # endif | |
| # ifndef EPROTOTYPE | |
| # define EPROTOTYPE 9941 | |
| # endif | |
| # ifndef ENOSYS | |
| # define ENOSYS 9942 | |
| # endif | |
| # ifndef EINVAL | |
| # define EINVAL 9943 | |
| # endif | |
| # ifndef ERANGE | |
| # define ERANGE 9944 | |
| # endif | |
| # ifndef EILSEQ | |
| # define EILSEQ 9945 | |
| # endif | |
| // Windows Mobile doesn't appear to define these: | |
| # ifndef E2BIG | |
| # define E2BIG 9946 | |
| # endif | |
| # ifndef EDOM | |
| # define EDOM 9947 | |
| # endif | |
| # ifndef EFAULT | |
| # define EFAULT 9948 | |
| # endif | |
| # ifndef EBADF | |
| # define EBADF 9949 | |
| # endif | |
| # ifndef EPIPE | |
| # define EPIPE 9950 | |
| # endif | |
| # ifndef EXDEV | |
| # define EXDEV 9951 | |
| # endif | |
| # ifndef EBUSY | |
| # define EBUSY 9952 | |
| # endif | |
| # ifndef ENOTEMPTY | |
| # define ENOTEMPTY 9953 | |
| # endif | |
| # ifndef ENOEXEC | |
| # define ENOEXEC 9954 | |
| # endif | |
| # ifndef EEXIST | |
| # define EEXIST 9955 | |
| # endif | |
| # ifndef EFBIG | |
| # define EFBIG 9956 | |
| # endif | |
| # ifndef ENAMETOOLONG | |
| # define ENAMETOOLONG 9957 | |
| # endif | |
| # ifndef ENOTTY | |
| # define ENOTTY 9958 | |
| # endif | |
| # ifndef EINTR | |
| # define EINTR 9959 | |
| # endif | |
| # ifndef ESPIPE | |
| # define ESPIPE 9960 | |
| # endif | |
| # ifndef EIO | |
| # define EIO 9961 | |
| # endif | |
| # ifndef EISDIR | |
| # define EISDIR 9962 | |
| # endif | |
| # ifndef ECHILD | |
| # define ECHILD 9963 | |
| # endif | |
| # ifndef ENOLCK | |
| # define ENOLCK 9964 | |
| # endif | |
| # ifndef ENOSPC | |
| # define ENOSPC 9965 | |
| # endif | |
| # ifndef ENXIO | |
| # define ENXIO 9966 | |
| # endif | |
| # ifndef ENODEV | |
| # define ENODEV 9967 | |
| # endif | |
| # ifndef ENOENT | |
| # define ENOENT 9968 | |
| # endif | |
| # ifndef ESRCH | |
| # define ESRCH 9969 | |
| # endif | |
| # ifndef ENOTDIR | |
| # define ENOTDIR 9970 | |
| # endif | |
| # ifndef ENOMEM | |
| # define ENOMEM 9971 | |
| # endif | |
| # ifndef EPERM | |
| # define EPERM 9972 | |
| # endif | |
| # ifndef EACCES | |
| # define EACCES 9973 | |
| # endif | |
| # ifndef EROFS | |
| # define EROFS 9974 | |
| # endif | |
| # ifndef EDEADLK | |
| # define EDEADLK 9975 | |
| # endif | |
| # ifndef EAGAIN | |
| # define EAGAIN 9976 | |
| # endif | |
| # ifndef ENFILE | |
| # define ENFILE 9977 | |
| # endif | |
| # ifndef EMFILE | |
| # define EMFILE 9978 | |
| # endif | |
| # ifndef EMLINK | |
| # define EMLINK 9979 | |
| # endif | |
| #endif // __cplusplus | |
| #endif // _LIBCPP_ERRNO_H |