1 #ifndef _ERRNO_H 2 #define _ERRNO_H 3 4 #ifdef __ICCARM__ /* for iar */ 5 6 #include_next <errno.h> 7 8 #ifdef errno 9 #undef errno 10 #endif 11 12 #ifdef EDOM 13 #undef EDOM 14 #endif 15 16 #ifdef ERANGE 17 #undef ERANGE 18 #endif 19 20 #ifdef EFPOS 21 #undef EFPOS 22 #endif 23 24 #ifdef EILSEQ 25 #undef EILSEQ 26 #endif 27 28 #ifdef _NERR 29 #undef _NERR 30 #endif 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 #include <features.h> 37 38 #include <bits/errno.h> 39 40 #ifdef __GNUC__ 41 __attribute__((const)) 42 #endif 43 int *__errno_location(void); 44 #define errno (*__errno_location()) 45 46 #ifdef __cplusplus 47 } 48 #endif 49 50 #else 51 52 #ifdef __cplusplus 53 extern "C" { 54 #endif 55 56 #include <features.h> 57 58 #include <bits/errno.h> 59 60 #ifdef __GNUC__ 61 __attribute__((const)) 62 #endif 63 int *__errno_location(void); 64 #define errno (*__errno_location()) 65 66 #ifdef _GNU_SOURCE 67 extern char *program_invocation_short_name, *program_invocation_name; 68 #endif 69 70 #ifdef __cplusplus 71 } 72 #endif 73 74 #endif /* __ICCARM__ */ 75 #endif 76 77