extern int errno;
extern int error_intr;
extern int error_nomem;
extern int error_noent;
extern int error_txtbsy;
extern int error_io;
extern int error_exist;
extern int error_timeout;
extern int error_inprogress;
extern int error_wouldblock;
extern int error_again;
extern int error_pipe;
extern int error_perm;
extern int error_access;
char *error_str(int e);
int error_temp(int e); UNIX syscalls provide detailed error codes in the errno variable. The error library provides portable names for a variety of possible errno values.
error_str returns a printable string describing syscall error code e. Normally e is errno.
error_temp returns 1 if syscall error code e is a soft error, 0 if it is a hard error. Normally e is errno.
A hard error is persistent: file not found, read-only file system, symbolic link loop, etc.
A soft error is usually transient: out of memory, out of disk space, I/O error, disk quota exceeded, connection refused, host unreachable, etc.