1*0b57cec5SDimitry Andric // -*- C++ -*- 2*0b57cec5SDimitry Andric //===-------------------------- errno.h -----------------------------------===// 3*0b57cec5SDimitry Andric // 4*0b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*0b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 6*0b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*0b57cec5SDimitry Andric // 8*0b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 9*0b57cec5SDimitry Andric 10*0b57cec5SDimitry Andric #ifndef _LIBCPP_ERRNO_H 11*0b57cec5SDimitry Andric #define _LIBCPP_ERRNO_H 12*0b57cec5SDimitry Andric 13*0b57cec5SDimitry Andric /* 14*0b57cec5SDimitry Andric errno.h synopsis 15*0b57cec5SDimitry Andric 16*0b57cec5SDimitry Andric Macros: 17*0b57cec5SDimitry Andric 18*0b57cec5SDimitry Andric EDOM 19*0b57cec5SDimitry Andric EILSEQ // C99 20*0b57cec5SDimitry Andric ERANGE 21*0b57cec5SDimitry Andric errno 22*0b57cec5SDimitry Andric 23*0b57cec5SDimitry Andric */ 24*0b57cec5SDimitry Andric 25*0b57cec5SDimitry Andric #include <__config> 26*0b57cec5SDimitry Andric 27*0b57cec5SDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 28*0b57cec5SDimitry Andric #pragma GCC system_header 29*0b57cec5SDimitry Andric #endif 30*0b57cec5SDimitry Andric 31*0b57cec5SDimitry Andric #include_next <errno.h> 32*0b57cec5SDimitry Andric 33*0b57cec5SDimitry Andric #ifdef __cplusplus 34*0b57cec5SDimitry Andric 35*0b57cec5SDimitry Andric #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) || !defined(EINTEGRITY) 36*0b57cec5SDimitry Andric 37*0b57cec5SDimitry Andric #if defined(ELAST) 38*0b57cec5SDimitry Andric 39*0b57cec5SDimitry Andric static const int __elast1 = ELAST+1; 40*0b57cec5SDimitry Andric static const int __elast2 = ELAST+2; 41*0b57cec5SDimitry Andric static const int __elast3 = ELAST+3; 42*0b57cec5SDimitry Andric 43*0b57cec5SDimitry Andric #else 44*0b57cec5SDimitry Andric 45*0b57cec5SDimitry Andric static const int __elast1 = 104; 46*0b57cec5SDimitry Andric static const int __elast2 = 105; 47*0b57cec5SDimitry Andric static const int __elast3 = 106; 48*0b57cec5SDimitry Andric 49*0b57cec5SDimitry Andric #endif 50*0b57cec5SDimitry Andric 51*0b57cec5SDimitry Andric #if !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) 52*0b57cec5SDimitry Andric #define ENOTRECOVERABLE __elast1 53*0b57cec5SDimitry Andric #define EOWNERDEAD __elast2 54*0b57cec5SDimitry Andric #define EINTEGRITY __elast3 55*0b57cec5SDimitry Andric #if defined(ELAST) 56*0b57cec5SDimitry Andric #undef ELAST 57*0b57cec5SDimitry Andric #define ELAST EINTEGRITY 58*0b57cec5SDimitry Andric #endif 59*0b57cec5SDimitry Andric 60*0b57cec5SDimitry Andric #elif !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && defined(EINTEGRITY) 61*0b57cec5SDimitry Andric #define ENOTRECOVERABLE __elast1 62*0b57cec5SDimitry Andric #define EOWNERDEAD __elast2 63*0b57cec5SDimitry Andric #if defined(ELAST) 64*0b57cec5SDimitry Andric #undef ELAST 65*0b57cec5SDimitry Andric #define ELAST EOWNERDEAD 66*0b57cec5SDimitry Andric #endif 67*0b57cec5SDimitry Andric 68*0b57cec5SDimitry Andric #elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) 69*0b57cec5SDimitry Andric #define EOWNERDEAD __elast1 70*0b57cec5SDimitry Andric #define EINTEGRITY __elast2 71*0b57cec5SDimitry Andric #if defined(ELAST) 72*0b57cec5SDimitry Andric #undef ELAST 73*0b57cec5SDimitry Andric #define ELAST EINTEGRITY 74*0b57cec5SDimitry Andric #endif 75*0b57cec5SDimitry Andric 76*0b57cec5SDimitry Andric #elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && defined(EINTEGRITY) 77*0b57cec5SDimitry Andric #define EOWNERDEAD __elast1 78*0b57cec5SDimitry Andric #if defined(ELAST) 79*0b57cec5SDimitry Andric #undef ELAST 80*0b57cec5SDimitry Andric #define ELAST EOWNERDEAD 81*0b57cec5SDimitry Andric #endif 82*0b57cec5SDimitry Andric 83*0b57cec5SDimitry Andric #elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) 84*0b57cec5SDimitry Andric #define ENOTRECOVERABLE __elast1 85*0b57cec5SDimitry Andric #define EINTEGRITY __elast2 86*0b57cec5SDimitry Andric #if defined(ELAST) 87*0b57cec5SDimitry Andric #undef ELAST 88*0b57cec5SDimitry Andric #define ELAST EINTEGRITY 89*0b57cec5SDimitry Andric #endif 90*0b57cec5SDimitry Andric 91*0b57cec5SDimitry Andric #elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && defined(EINTEGRITY) 92*0b57cec5SDimitry Andric #define ENOTRECOVERABLE __elast1 93*0b57cec5SDimitry Andric #if defined(ELAST) 94*0b57cec5SDimitry Andric #undef ELAST 95*0b57cec5SDimitry Andric #define ELAST ENOTRECOVERABLE 96*0b57cec5SDimitry Andric #endif 97*0b57cec5SDimitry Andric 98*0b57cec5SDimitry Andric #elif defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) 99*0b57cec5SDimitry Andric #define EINTEGRITY __elast1 100*0b57cec5SDimitry Andric #if defined(ELAST) 101*0b57cec5SDimitry Andric #undef ELAST 102*0b57cec5SDimitry Andric #define ELAST EINTEGRITY 103*0b57cec5SDimitry Andric #endif 104*0b57cec5SDimitry Andric 105*0b57cec5SDimitry Andric #endif // !defined(OWNERDEAD) && !defined(NOTRECOVERABLE) && !defined(INTEGRITY) 106*0b57cec5SDimitry Andric 107*0b57cec5SDimitry Andric #endif // !defined(OWNERDEAD) || !defined(NOTRECOVERABLE) || !defined(INTEGRITY) 108*0b57cec5SDimitry Andric 109*0b57cec5SDimitry Andric // supply errno values likely to be missing, particularly on Windows 110*0b57cec5SDimitry Andric 111*0b57cec5SDimitry Andric #ifndef EAFNOSUPPORT 112*0b57cec5SDimitry Andric #define EAFNOSUPPORT 9901 113*0b57cec5SDimitry Andric #endif 114*0b57cec5SDimitry Andric 115*0b57cec5SDimitry Andric #ifndef EADDRINUSE 116*0b57cec5SDimitry Andric #define EADDRINUSE 9902 117*0b57cec5SDimitry Andric #endif 118*0b57cec5SDimitry Andric 119*0b57cec5SDimitry Andric #ifndef EADDRNOTAVAIL 120*0b57cec5SDimitry Andric #define EADDRNOTAVAIL 9903 121*0b57cec5SDimitry Andric #endif 122*0b57cec5SDimitry Andric 123*0b57cec5SDimitry Andric #ifndef EISCONN 124*0b57cec5SDimitry Andric #define EISCONN 9904 125*0b57cec5SDimitry Andric #endif 126*0b57cec5SDimitry Andric 127*0b57cec5SDimitry Andric #ifndef EBADMSG 128*0b57cec5SDimitry Andric #define EBADMSG 9905 129*0b57cec5SDimitry Andric #endif 130*0b57cec5SDimitry Andric 131*0b57cec5SDimitry Andric #ifndef ECONNABORTED 132*0b57cec5SDimitry Andric #define ECONNABORTED 9906 133*0b57cec5SDimitry Andric #endif 134*0b57cec5SDimitry Andric 135*0b57cec5SDimitry Andric #ifndef EALREADY 136*0b57cec5SDimitry Andric #define EALREADY 9907 137*0b57cec5SDimitry Andric #endif 138*0b57cec5SDimitry Andric 139*0b57cec5SDimitry Andric #ifndef ECONNREFUSED 140*0b57cec5SDimitry Andric #define ECONNREFUSED 9908 141*0b57cec5SDimitry Andric #endif 142*0b57cec5SDimitry Andric 143*0b57cec5SDimitry Andric #ifndef ECONNRESET 144*0b57cec5SDimitry Andric #define ECONNRESET 9909 145*0b57cec5SDimitry Andric #endif 146*0b57cec5SDimitry Andric 147*0b57cec5SDimitry Andric #ifndef EDESTADDRREQ 148*0b57cec5SDimitry Andric #define EDESTADDRREQ 9910 149*0b57cec5SDimitry Andric #endif 150*0b57cec5SDimitry Andric 151*0b57cec5SDimitry Andric #ifndef EHOSTUNREACH 152*0b57cec5SDimitry Andric #define EHOSTUNREACH 9911 153*0b57cec5SDimitry Andric #endif 154*0b57cec5SDimitry Andric 155*0b57cec5SDimitry Andric #ifndef EIDRM 156*0b57cec5SDimitry Andric #define EIDRM 9912 157*0b57cec5SDimitry Andric #endif 158*0b57cec5SDimitry Andric 159*0b57cec5SDimitry Andric #ifndef EMSGSIZE 160*0b57cec5SDimitry Andric #define EMSGSIZE 9913 161*0b57cec5SDimitry Andric #endif 162*0b57cec5SDimitry Andric 163*0b57cec5SDimitry Andric #ifndef ENETDOWN 164*0b57cec5SDimitry Andric #define ENETDOWN 9914 165*0b57cec5SDimitry Andric #endif 166*0b57cec5SDimitry Andric 167*0b57cec5SDimitry Andric #ifndef ENETRESET 168*0b57cec5SDimitry Andric #define ENETRESET 9915 169*0b57cec5SDimitry Andric #endif 170*0b57cec5SDimitry Andric 171*0b57cec5SDimitry Andric #ifndef ENETUNREACH 172*0b57cec5SDimitry Andric #define ENETUNREACH 9916 173*0b57cec5SDimitry Andric #endif 174*0b57cec5SDimitry Andric 175*0b57cec5SDimitry Andric #ifndef ENOBUFS 176*0b57cec5SDimitry Andric #define ENOBUFS 9917 177*0b57cec5SDimitry Andric #endif 178*0b57cec5SDimitry Andric 179*0b57cec5SDimitry Andric #ifndef ENOLINK 180*0b57cec5SDimitry Andric #define ENOLINK 9918 181*0b57cec5SDimitry Andric #endif 182*0b57cec5SDimitry Andric 183*0b57cec5SDimitry Andric #ifndef ENODATA 184*0b57cec5SDimitry Andric #define ENODATA 9919 185*0b57cec5SDimitry Andric #endif 186*0b57cec5SDimitry Andric 187*0b57cec5SDimitry Andric #ifndef ENOMSG 188*0b57cec5SDimitry Andric #define ENOMSG 9920 189*0b57cec5SDimitry Andric #endif 190*0b57cec5SDimitry Andric 191*0b57cec5SDimitry Andric #ifndef ENOPROTOOPT 192*0b57cec5SDimitry Andric #define ENOPROTOOPT 9921 193*0b57cec5SDimitry Andric #endif 194*0b57cec5SDimitry Andric 195*0b57cec5SDimitry Andric #ifndef ENOSR 196*0b57cec5SDimitry Andric #define ENOSR 9922 197*0b57cec5SDimitry Andric #endif 198*0b57cec5SDimitry Andric 199*0b57cec5SDimitry Andric #ifndef ENOTSOCK 200*0b57cec5SDimitry Andric #define ENOTSOCK 9923 201*0b57cec5SDimitry Andric #endif 202*0b57cec5SDimitry Andric 203*0b57cec5SDimitry Andric #ifndef ENOSTR 204*0b57cec5SDimitry Andric #define ENOSTR 9924 205*0b57cec5SDimitry Andric #endif 206*0b57cec5SDimitry Andric 207*0b57cec5SDimitry Andric #ifndef ENOTCONN 208*0b57cec5SDimitry Andric #define ENOTCONN 9925 209*0b57cec5SDimitry Andric #endif 210*0b57cec5SDimitry Andric 211*0b57cec5SDimitry Andric #ifndef ENOTSUP 212*0b57cec5SDimitry Andric #define ENOTSUP 9926 213*0b57cec5SDimitry Andric #endif 214*0b57cec5SDimitry Andric 215*0b57cec5SDimitry Andric #ifndef ECANCELED 216*0b57cec5SDimitry Andric #define ECANCELED 9927 217*0b57cec5SDimitry Andric #endif 218*0b57cec5SDimitry Andric 219*0b57cec5SDimitry Andric #ifndef EINPROGRESS 220*0b57cec5SDimitry Andric #define EINPROGRESS 9928 221*0b57cec5SDimitry Andric #endif 222*0b57cec5SDimitry Andric 223*0b57cec5SDimitry Andric #ifndef EOPNOTSUPP 224*0b57cec5SDimitry Andric #define EOPNOTSUPP 9929 225*0b57cec5SDimitry Andric #endif 226*0b57cec5SDimitry Andric 227*0b57cec5SDimitry Andric #ifndef EWOULDBLOCK 228*0b57cec5SDimitry Andric #define EWOULDBLOCK 9930 229*0b57cec5SDimitry Andric #endif 230*0b57cec5SDimitry Andric 231*0b57cec5SDimitry Andric #ifndef EOWNERDEAD 232*0b57cec5SDimitry Andric #define EOWNERDEAD 9931 233*0b57cec5SDimitry Andric #endif 234*0b57cec5SDimitry Andric 235*0b57cec5SDimitry Andric #ifndef EPROTO 236*0b57cec5SDimitry Andric #define EPROTO 9932 237*0b57cec5SDimitry Andric #endif 238*0b57cec5SDimitry Andric 239*0b57cec5SDimitry Andric #ifndef EPROTONOSUPPORT 240*0b57cec5SDimitry Andric #define EPROTONOSUPPORT 9933 241*0b57cec5SDimitry Andric #endif 242*0b57cec5SDimitry Andric 243*0b57cec5SDimitry Andric #ifndef ENOTRECOVERABLE 244*0b57cec5SDimitry Andric #define ENOTRECOVERABLE 9934 245*0b57cec5SDimitry Andric #endif 246*0b57cec5SDimitry Andric 247*0b57cec5SDimitry Andric #ifndef ETIME 248*0b57cec5SDimitry Andric #define ETIME 9935 249*0b57cec5SDimitry Andric #endif 250*0b57cec5SDimitry Andric 251*0b57cec5SDimitry Andric #ifndef ETXTBSY 252*0b57cec5SDimitry Andric #define ETXTBSY 9936 253*0b57cec5SDimitry Andric #endif 254*0b57cec5SDimitry Andric 255*0b57cec5SDimitry Andric #ifndef ETIMEDOUT 256*0b57cec5SDimitry Andric #define ETIMEDOUT 9938 257*0b57cec5SDimitry Andric #endif 258*0b57cec5SDimitry Andric 259*0b57cec5SDimitry Andric #ifndef ELOOP 260*0b57cec5SDimitry Andric #define ELOOP 9939 261*0b57cec5SDimitry Andric #endif 262*0b57cec5SDimitry Andric 263*0b57cec5SDimitry Andric #ifndef EOVERFLOW 264*0b57cec5SDimitry Andric #define EOVERFLOW 9940 265*0b57cec5SDimitry Andric #endif 266*0b57cec5SDimitry Andric 267*0b57cec5SDimitry Andric #ifndef EPROTOTYPE 268*0b57cec5SDimitry Andric #define EPROTOTYPE 9941 269*0b57cec5SDimitry Andric #endif 270*0b57cec5SDimitry Andric 271*0b57cec5SDimitry Andric #ifndef ENOSYS 272*0b57cec5SDimitry Andric #define ENOSYS 9942 273*0b57cec5SDimitry Andric #endif 274*0b57cec5SDimitry Andric 275*0b57cec5SDimitry Andric #ifndef EINVAL 276*0b57cec5SDimitry Andric #define EINVAL 9943 277*0b57cec5SDimitry Andric #endif 278*0b57cec5SDimitry Andric 279*0b57cec5SDimitry Andric #ifndef ERANGE 280*0b57cec5SDimitry Andric #define ERANGE 9944 281*0b57cec5SDimitry Andric #endif 282*0b57cec5SDimitry Andric 283*0b57cec5SDimitry Andric #ifndef EILSEQ 284*0b57cec5SDimitry Andric #define EILSEQ 9945 285*0b57cec5SDimitry Andric #endif 286*0b57cec5SDimitry Andric 287*0b57cec5SDimitry Andric // Windows Mobile doesn't appear to define these: 288*0b57cec5SDimitry Andric 289*0b57cec5SDimitry Andric #ifndef E2BIG 290*0b57cec5SDimitry Andric #define E2BIG 9946 291*0b57cec5SDimitry Andric #endif 292*0b57cec5SDimitry Andric 293*0b57cec5SDimitry Andric #ifndef EDOM 294*0b57cec5SDimitry Andric #define EDOM 9947 295*0b57cec5SDimitry Andric #endif 296*0b57cec5SDimitry Andric 297*0b57cec5SDimitry Andric #ifndef EFAULT 298*0b57cec5SDimitry Andric #define EFAULT 9948 299*0b57cec5SDimitry Andric #endif 300*0b57cec5SDimitry Andric 301*0b57cec5SDimitry Andric #ifndef EBADF 302*0b57cec5SDimitry Andric #define EBADF 9949 303*0b57cec5SDimitry Andric #endif 304*0b57cec5SDimitry Andric 305*0b57cec5SDimitry Andric #ifndef EPIPE 306*0b57cec5SDimitry Andric #define EPIPE 9950 307*0b57cec5SDimitry Andric #endif 308*0b57cec5SDimitry Andric 309*0b57cec5SDimitry Andric #ifndef EXDEV 310*0b57cec5SDimitry Andric #define EXDEV 9951 311*0b57cec5SDimitry Andric #endif 312*0b57cec5SDimitry Andric 313*0b57cec5SDimitry Andric #ifndef EBUSY 314*0b57cec5SDimitry Andric #define EBUSY 9952 315*0b57cec5SDimitry Andric #endif 316*0b57cec5SDimitry Andric 317*0b57cec5SDimitry Andric #ifndef ENOTEMPTY 318*0b57cec5SDimitry Andric #define ENOTEMPTY 9953 319*0b57cec5SDimitry Andric #endif 320*0b57cec5SDimitry Andric 321*0b57cec5SDimitry Andric #ifndef ENOEXEC 322*0b57cec5SDimitry Andric #define ENOEXEC 9954 323*0b57cec5SDimitry Andric #endif 324*0b57cec5SDimitry Andric 325*0b57cec5SDimitry Andric #ifndef EEXIST 326*0b57cec5SDimitry Andric #define EEXIST 9955 327*0b57cec5SDimitry Andric #endif 328*0b57cec5SDimitry Andric 329*0b57cec5SDimitry Andric #ifndef EFBIG 330*0b57cec5SDimitry Andric #define EFBIG 9956 331*0b57cec5SDimitry Andric #endif 332*0b57cec5SDimitry Andric 333*0b57cec5SDimitry Andric #ifndef ENAMETOOLONG 334*0b57cec5SDimitry Andric #define ENAMETOOLONG 9957 335*0b57cec5SDimitry Andric #endif 336*0b57cec5SDimitry Andric 337*0b57cec5SDimitry Andric #ifndef ENOTTY 338*0b57cec5SDimitry Andric #define ENOTTY 9958 339*0b57cec5SDimitry Andric #endif 340*0b57cec5SDimitry Andric 341*0b57cec5SDimitry Andric #ifndef EINTR 342*0b57cec5SDimitry Andric #define EINTR 9959 343*0b57cec5SDimitry Andric #endif 344*0b57cec5SDimitry Andric 345*0b57cec5SDimitry Andric #ifndef ESPIPE 346*0b57cec5SDimitry Andric #define ESPIPE 9960 347*0b57cec5SDimitry Andric #endif 348*0b57cec5SDimitry Andric 349*0b57cec5SDimitry Andric #ifndef EIO 350*0b57cec5SDimitry Andric #define EIO 9961 351*0b57cec5SDimitry Andric #endif 352*0b57cec5SDimitry Andric 353*0b57cec5SDimitry Andric #ifndef EISDIR 354*0b57cec5SDimitry Andric #define EISDIR 9962 355*0b57cec5SDimitry Andric #endif 356*0b57cec5SDimitry Andric 357*0b57cec5SDimitry Andric #ifndef ECHILD 358*0b57cec5SDimitry Andric #define ECHILD 9963 359*0b57cec5SDimitry Andric #endif 360*0b57cec5SDimitry Andric 361*0b57cec5SDimitry Andric #ifndef ENOLCK 362*0b57cec5SDimitry Andric #define ENOLCK 9964 363*0b57cec5SDimitry Andric #endif 364*0b57cec5SDimitry Andric 365*0b57cec5SDimitry Andric #ifndef ENOSPC 366*0b57cec5SDimitry Andric #define ENOSPC 9965 367*0b57cec5SDimitry Andric #endif 368*0b57cec5SDimitry Andric 369*0b57cec5SDimitry Andric #ifndef ENXIO 370*0b57cec5SDimitry Andric #define ENXIO 9966 371*0b57cec5SDimitry Andric #endif 372*0b57cec5SDimitry Andric 373*0b57cec5SDimitry Andric #ifndef ENODEV 374*0b57cec5SDimitry Andric #define ENODEV 9967 375*0b57cec5SDimitry Andric #endif 376*0b57cec5SDimitry Andric 377*0b57cec5SDimitry Andric #ifndef ENOENT 378*0b57cec5SDimitry Andric #define ENOENT 9968 379*0b57cec5SDimitry Andric #endif 380*0b57cec5SDimitry Andric 381*0b57cec5SDimitry Andric #ifndef ESRCH 382*0b57cec5SDimitry Andric #define ESRCH 9969 383*0b57cec5SDimitry Andric #endif 384*0b57cec5SDimitry Andric 385*0b57cec5SDimitry Andric #ifndef ENOTDIR 386*0b57cec5SDimitry Andric #define ENOTDIR 9970 387*0b57cec5SDimitry Andric #endif 388*0b57cec5SDimitry Andric 389*0b57cec5SDimitry Andric #ifndef ENOMEM 390*0b57cec5SDimitry Andric #define ENOMEM 9971 391*0b57cec5SDimitry Andric #endif 392*0b57cec5SDimitry Andric 393*0b57cec5SDimitry Andric #ifndef EPERM 394*0b57cec5SDimitry Andric #define EPERM 9972 395*0b57cec5SDimitry Andric #endif 396*0b57cec5SDimitry Andric 397*0b57cec5SDimitry Andric #ifndef EACCES 398*0b57cec5SDimitry Andric #define EACCES 9973 399*0b57cec5SDimitry Andric #endif 400*0b57cec5SDimitry Andric 401*0b57cec5SDimitry Andric #ifndef EROFS 402*0b57cec5SDimitry Andric #define EROFS 9974 403*0b57cec5SDimitry Andric #endif 404*0b57cec5SDimitry Andric 405*0b57cec5SDimitry Andric #ifndef EDEADLK 406*0b57cec5SDimitry Andric #define EDEADLK 9975 407*0b57cec5SDimitry Andric #endif 408*0b57cec5SDimitry Andric 409*0b57cec5SDimitry Andric #ifndef EAGAIN 410*0b57cec5SDimitry Andric #define EAGAIN 9976 411*0b57cec5SDimitry Andric #endif 412*0b57cec5SDimitry Andric 413*0b57cec5SDimitry Andric #ifndef ENFILE 414*0b57cec5SDimitry Andric #define ENFILE 9977 415*0b57cec5SDimitry Andric #endif 416*0b57cec5SDimitry Andric 417*0b57cec5SDimitry Andric #ifndef EMFILE 418*0b57cec5SDimitry Andric #define EMFILE 9978 419*0b57cec5SDimitry Andric #endif 420*0b57cec5SDimitry Andric 421*0b57cec5SDimitry Andric #ifndef EMLINK 422*0b57cec5SDimitry Andric #define EMLINK 9979 423*0b57cec5SDimitry Andric #endif 424*0b57cec5SDimitry Andric 425*0b57cec5SDimitry Andric #ifndef EINTEGRITY 426*0b57cec5SDimitry Andric #define EINTEGRITY 9980 427*0b57cec5SDimitry Andric #endif 428*0b57cec5SDimitry Andric 429*0b57cec5SDimitry Andric #endif // __cplusplus 430*0b57cec5SDimitry Andric 431*0b57cec5SDimitry Andric #endif // _LIBCPP_ERRNO_H 432