1 #ifndef _ERRNO_H 2 #define _ERRNO_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <features.h> 9 10 #include <bits/errno.h> 11 12 #ifdef __GNUC__ 13 __attribute__((const)) 14 #endif 15 int *__errno_location(void); 16 #define errno (*__errno_location()) 17 18 #define set_errno(err) do { if (err) { errno = (err); } } while(0) 19 #define get_errno() errno 20 21 #ifdef _GNU_SOURCE 22 extern char *program_invocation_short_name, *program_invocation_name; 23 #endif 24 25 #ifdef __cplusplus 26 } 27 #endif 28 29 #endif 30 31