// -*- 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 */ #include <__config> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif #if __has_include_next() # include_next #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