110465441SEvalZero /* 210465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 310465441SEvalZero * 410465441SEvalZero * SPDX-License-Identifier: Apache-2.0 510465441SEvalZero * 610465441SEvalZero * Change Logs: 710465441SEvalZero * Date Author Notes 810465441SEvalZero * 2016-11-12 Bernard The first version 910465441SEvalZero */ 1010465441SEvalZero 1110465441SEvalZero #ifndef LIBC_ERRNO_H__ 1210465441SEvalZero #define LIBC_ERRNO_H__ 1310465441SEvalZero 1410465441SEvalZero #include <rtconfig.h> 1510465441SEvalZero 1610465441SEvalZero #if defined(RT_USING_NEWLIB) || defined(_WIN32) || defined(__CC_ARM) || defined(__IAR_SYSTEMS_ICC__) 1710465441SEvalZero /* use errno.h file in toolchains */ 1810465441SEvalZero #include <errno.h> 1910465441SEvalZero #endif 2010465441SEvalZero 2110465441SEvalZero #if defined(__CC_ARM) 2210465441SEvalZero /* 2310465441SEvalZero defined in armcc/errno.h 2410465441SEvalZero 2510465441SEvalZero #define EDOM 1 2610465441SEvalZero #define ERANGE 2 2710465441SEvalZero #define EILSEQ 4 2810465441SEvalZero #define ESIGNUM 3 2910465441SEvalZero #define EINVAL 5 3010465441SEvalZero #define ENOMEM 6 3110465441SEvalZero */ 3210465441SEvalZero #define ERROR_BASE_NO 7 3310465441SEvalZero 3410465441SEvalZero #elif defined(__IAR_SYSTEMS_ICC__) 3510465441SEvalZero /* defined in iar/errno.h 3610465441SEvalZero #define EDOM 33 3710465441SEvalZero #define ERANGE 34 3810465441SEvalZero #define EFPOS 35 3910465441SEvalZero #define EILSEQ 36 4010465441SEvalZero */ 4110465441SEvalZero #define ERROR_BASE_NO 36 4210465441SEvalZero 4310465441SEvalZero #else 4410465441SEvalZero 4510465441SEvalZero #define ERROR_BASE_NO 0 4610465441SEvalZero #endif 4710465441SEvalZero 4810465441SEvalZero #if !defined(RT_USING_NEWLIB) && !defined(_WIN32) 4910465441SEvalZero 5010465441SEvalZero #define EPERM (ERROR_BASE_NO + 1) 5110465441SEvalZero #define ENOENT (ERROR_BASE_NO + 2) 5210465441SEvalZero #define ESRCH (ERROR_BASE_NO + 3) 5310465441SEvalZero #define EINTR (ERROR_BASE_NO + 4) 5410465441SEvalZero #define EIO (ERROR_BASE_NO + 5) 5510465441SEvalZero #define ENXIO (ERROR_BASE_NO + 6) 5610465441SEvalZero #define E2BIG (ERROR_BASE_NO + 7) 5710465441SEvalZero #define ENOEXEC (ERROR_BASE_NO + 8) 5810465441SEvalZero #define EBADF (ERROR_BASE_NO + 9) 5910465441SEvalZero #define ECHILD (ERROR_BASE_NO + 10) 6010465441SEvalZero #define EAGAIN (ERROR_BASE_NO + 11) 6110465441SEvalZero 6210465441SEvalZero #ifndef ENOMEM 6310465441SEvalZero #define ENOMEM (ERROR_BASE_NO + 12) 6410465441SEvalZero #endif 6510465441SEvalZero 6610465441SEvalZero #define EACCES (ERROR_BASE_NO + 13) 6710465441SEvalZero #define EFAULT (ERROR_BASE_NO + 14) 6810465441SEvalZero #define ENOTBLK (ERROR_BASE_NO + 15) 6910465441SEvalZero #define EBUSY (ERROR_BASE_NO + 16) 7010465441SEvalZero #define EEXIST (ERROR_BASE_NO + 17) 7110465441SEvalZero #define EXDEV (ERROR_BASE_NO + 18) 7210465441SEvalZero #define ENODEV (ERROR_BASE_NO + 19) 7310465441SEvalZero #define ENOTDIR (ERROR_BASE_NO + 20) 7410465441SEvalZero #define EISDIR (ERROR_BASE_NO + 21) 7510465441SEvalZero 7610465441SEvalZero #ifndef EINVAL 7710465441SEvalZero #define EINVAL (ERROR_BASE_NO + 22) 7810465441SEvalZero #endif 7910465441SEvalZero 8010465441SEvalZero #define ENFILE (ERROR_BASE_NO + 23) 8110465441SEvalZero #define EMFILE (ERROR_BASE_NO + 24) 8210465441SEvalZero #define ENOTTY (ERROR_BASE_NO + 25) 8310465441SEvalZero #define ETXTBSY (ERROR_BASE_NO + 26) 8410465441SEvalZero #define EFBIG (ERROR_BASE_NO + 27) 8510465441SEvalZero #define ENOSPC (ERROR_BASE_NO + 28) 8610465441SEvalZero #define ESPIPE (ERROR_BASE_NO + 29) 8710465441SEvalZero #define EROFS (ERROR_BASE_NO + 30) 8810465441SEvalZero #define EMLINK (ERROR_BASE_NO + 31) 8910465441SEvalZero #define EPIPE (ERROR_BASE_NO + 32) 9010465441SEvalZero 9110465441SEvalZero #ifndef EDOM 9210465441SEvalZero #define EDOM (ERROR_BASE_NO + 33) 9310465441SEvalZero #endif 9410465441SEvalZero 9510465441SEvalZero #ifndef ERANGE 9610465441SEvalZero #define ERANGE (ERROR_BASE_NO + 34) 9710465441SEvalZero #endif 9810465441SEvalZero 9910465441SEvalZero #define EDEADLK (ERROR_BASE_NO + 35) 10010465441SEvalZero #define ENAMETOOLONG (ERROR_BASE_NO + 36) 10110465441SEvalZero #define ENOLCK (ERROR_BASE_NO + 37) 10210465441SEvalZero #define ENOSYS (ERROR_BASE_NO + 38) 10310465441SEvalZero #define ENOTEMPTY (ERROR_BASE_NO + 39) 10410465441SEvalZero #define ELOOP (ERROR_BASE_NO + 40) 10510465441SEvalZero #define EWOULDBLOCK EAGAIN 10610465441SEvalZero #define ENOMSG (ERROR_BASE_NO + 42) 10710465441SEvalZero #define EIDRM (ERROR_BASE_NO + 43) 10810465441SEvalZero #define ECHRNG (ERROR_BASE_NO + 44) 10910465441SEvalZero #define EL2NSYNC (ERROR_BASE_NO + 45) 11010465441SEvalZero #define EL3HLT (ERROR_BASE_NO + 46) 11110465441SEvalZero #define EL3RST (ERROR_BASE_NO + 47) 11210465441SEvalZero #define ELNRNG (ERROR_BASE_NO + 48) 11310465441SEvalZero #define EUNATCH (ERROR_BASE_NO + 49) 11410465441SEvalZero #define ENOCSI (ERROR_BASE_NO + 50) 11510465441SEvalZero #define EL2HLT (ERROR_BASE_NO + 51) 11610465441SEvalZero #define EBADE (ERROR_BASE_NO + 52) 11710465441SEvalZero #define EBADR (ERROR_BASE_NO + 53) 11810465441SEvalZero #define EXFULL (ERROR_BASE_NO + 54) 11910465441SEvalZero #define ENOANO (ERROR_BASE_NO + 55) 12010465441SEvalZero #define EBADRQC (ERROR_BASE_NO + 56) 12110465441SEvalZero #define EBADSLT (ERROR_BASE_NO + 57) 12210465441SEvalZero #define EDEADLOCK EDEADLK 12310465441SEvalZero #define EBFONT (ERROR_BASE_NO + 59) 12410465441SEvalZero #define ENOSTR (ERROR_BASE_NO + 60) 12510465441SEvalZero #define ENODATA (ERROR_BASE_NO + 61) 12610465441SEvalZero #define ETIME (ERROR_BASE_NO + 62) 12710465441SEvalZero #define ENOSR (ERROR_BASE_NO + 63) 12810465441SEvalZero #define ENONET (ERROR_BASE_NO + 64) 12910465441SEvalZero #define ENOPKG (ERROR_BASE_NO + 65) 13010465441SEvalZero #define EREMOTE (ERROR_BASE_NO + 66) 13110465441SEvalZero #define ENOLINK (ERROR_BASE_NO + 67) 13210465441SEvalZero #define EADV (ERROR_BASE_NO + 68) 13310465441SEvalZero #define ESRMNT (ERROR_BASE_NO + 69) 13410465441SEvalZero #define ECOMM (ERROR_BASE_NO + 70) 13510465441SEvalZero #define EPROTO (ERROR_BASE_NO + 71) 13610465441SEvalZero #define EMULTIHOP (ERROR_BASE_NO + 72) 13710465441SEvalZero #define EDOTDOT (ERROR_BASE_NO + 73) 13810465441SEvalZero #define EBADMSG (ERROR_BASE_NO + 74) 13910465441SEvalZero #define EOVERFLOW (ERROR_BASE_NO + 75) 14010465441SEvalZero #define ENOTUNIQ (ERROR_BASE_NO + 76) 14110465441SEvalZero #define EBADFD (ERROR_BASE_NO + 77) 14210465441SEvalZero #define EREMCHG (ERROR_BASE_NO + 78) 14310465441SEvalZero #define ELIBACC (ERROR_BASE_NO + 79) 14410465441SEvalZero #define ELIBBAD (ERROR_BASE_NO + 80) 14510465441SEvalZero #define ELIBSCN (ERROR_BASE_NO + 81) 14610465441SEvalZero #define ELIBMAX (ERROR_BASE_NO + 82) 14710465441SEvalZero #define ELIBEXEC (ERROR_BASE_NO + 83) 14810465441SEvalZero 14910465441SEvalZero #ifndef EILSEQ 15010465441SEvalZero #define EILSEQ (ERROR_BASE_NO + 84) 15110465441SEvalZero #endif 15210465441SEvalZero 15310465441SEvalZero #define ERESTART (ERROR_BASE_NO + 85) 15410465441SEvalZero #define ESTRPIPE (ERROR_BASE_NO + 86) 15510465441SEvalZero #define EUSERS (ERROR_BASE_NO + 87) 15610465441SEvalZero #define ENOTSOCK (ERROR_BASE_NO + 88) 15710465441SEvalZero #define EDESTADDRREQ (ERROR_BASE_NO + 89) 15810465441SEvalZero #define EMSGSIZE (ERROR_BASE_NO + 90) 15910465441SEvalZero #define EPROTOTYPE (ERROR_BASE_NO + 91) 16010465441SEvalZero #define ENOPROTOOPT (ERROR_BASE_NO + 92) 16110465441SEvalZero #define EPROTONOSUPPORT (ERROR_BASE_NO + 93) 16210465441SEvalZero #define ESOCKTNOSUPPORT (ERROR_BASE_NO + 94) 16310465441SEvalZero #define EOPNOTSUPP (ERROR_BASE_NO + 95) 164*cd8383b0SEvalZero #define ENOTSUP (EOPNOTSUPP ) 16510465441SEvalZero #define EPFNOSUPPORT (ERROR_BASE_NO + 96) 16610465441SEvalZero #define EAFNOSUPPORT (ERROR_BASE_NO + 97) 16710465441SEvalZero #define EADDRINUSE (ERROR_BASE_NO + 98) 16810465441SEvalZero #define EADDRNOTAVAIL (ERROR_BASE_NO + 99) 16910465441SEvalZero #define ENETDOWN (ERROR_BASE_NO + 100) 17010465441SEvalZero #define ENETUNREACH (ERROR_BASE_NO + 101) 17110465441SEvalZero #define ENETRESET (ERROR_BASE_NO + 102) 17210465441SEvalZero #define ECONNABORTED (ERROR_BASE_NO + 103) 17310465441SEvalZero #define ECONNRESET (ERROR_BASE_NO + 104) 17410465441SEvalZero #define ENOBUFS (ERROR_BASE_NO + 105) 17510465441SEvalZero #define EISCONN (ERROR_BASE_NO + 106) 17610465441SEvalZero #define ENOTCONN (ERROR_BASE_NO + 107) 17710465441SEvalZero #define ESHUTDOWN (ERROR_BASE_NO + 108) 17810465441SEvalZero #define ETOOMANYREFS (ERROR_BASE_NO + 109) 17910465441SEvalZero #define ETIMEDOUT (ERROR_BASE_NO + 110) 18010465441SEvalZero #define ECONNREFUSED (ERROR_BASE_NO + 111) 18110465441SEvalZero #define EHOSTDOWN (ERROR_BASE_NO + 112) 18210465441SEvalZero #define EHOSTUNREACH (ERROR_BASE_NO + 113) 18310465441SEvalZero #define EALREADY (ERROR_BASE_NO + 114) 18410465441SEvalZero #define EINPROGRESS (ERROR_BASE_NO + 115) 18510465441SEvalZero #define ESTALE (ERROR_BASE_NO + 116) 18610465441SEvalZero #define EUCLEAN (ERROR_BASE_NO + 117) 18710465441SEvalZero #define ENOTNAM (ERROR_BASE_NO + 118) 18810465441SEvalZero #define ENAVAIL (ERROR_BASE_NO + 119) 18910465441SEvalZero #define EISNAM (ERROR_BASE_NO + 120) 19010465441SEvalZero #define EREMOTEIO (ERROR_BASE_NO + 121) 19110465441SEvalZero #define EDQUOT (ERROR_BASE_NO + 122) 19210465441SEvalZero #define ENOMEDIUM (ERROR_BASE_NO + 123) 19310465441SEvalZero #define EMEDIUMTYPE (ERROR_BASE_NO + 124) 19410465441SEvalZero #define ECANCELED (ERROR_BASE_NO + 125) 19510465441SEvalZero #define ENOKEY (ERROR_BASE_NO + 126) 19610465441SEvalZero #define EKEYEXPIRED (ERROR_BASE_NO + 127) 19710465441SEvalZero #define EKEYREVOKED (ERROR_BASE_NO + 128) 19810465441SEvalZero #define EKEYREJECTED (ERROR_BASE_NO + 129) 19910465441SEvalZero #define EOWNERDEAD (ERROR_BASE_NO + 130) 20010465441SEvalZero #define ENOTRECOVERABLE (ERROR_BASE_NO + 131) 20110465441SEvalZero #define ERFKILL (ERROR_BASE_NO + 132) 20210465441SEvalZero #define EHWPOISON (ERROR_BASE_NO + 133) 20310465441SEvalZero 20410465441SEvalZero #endif 20510465441SEvalZero 20610465441SEvalZero #endif 207