|  | #ifndef _BITS_ERRNO_H | 
|  | #define _BITS_ERRNO_H | 
|  |  | 
|  | #ifndef __ASSEMBLER__ | 
|  |  | 
|  | int *__errno_location_tls(void); | 
|  | char *__errstr_location_tls(void); | 
|  | extern int *(*ros_errno_loc)(void); | 
|  | extern char *(*ros_errstr_loc)(void); | 
|  | int *__errno_location(void); | 
|  | #define errno (*__errno_location()) | 
|  | char *errstr(void); 	/* can't macro, errstr is used internally in libc */ | 
|  | /* this is defined in init-first.c, but declared here for easy #includes */ | 
|  | void werrstr(const char *fmt, ...); | 
|  | void save_err(int *no, char *str); | 
|  | void restore_err(int *no, char *str); | 
|  |  | 
|  | # ifdef libc_hidden_proto | 
|  | libc_hidden_proto(__errno_location_tls) | 
|  | libc_hidden_proto(__errstr_location_tls) | 
|  | libc_hidden_proto(errstr) | 
|  | # endif | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #include <ros/errno.h> | 
|  |  | 
|  | #endif |