errno(5)							File Formats Manual							  errno(5)

NAME
errno - Returns error condition value SYNOPSIS
#include <errno.h> DESCRIPTION
The errno external variable contains the most recent error condition set by a function. The symbolic values for errno are listed in the intro reference page and in the ERRORS section of the individual reference pages for each function. The exec() functions set errno to a value of 0 (zero) after successful completion. Typically, other functions only set errno to a nonzero value. EXAMPLES
The following program uses the value of errno to determine why the requested file could not be opened. If errno has one of the two tested values, the program prints an appropriate message; otherwise, the program uses the error() function to print out the appropriate message. This program does not have to set errno to a value of 0 (zero) because errno is tested only if the open() function has failed. #include <errno.h> #include <stdio.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #define SLENGTH 80 main() { char filespec[SLENGTH], *eol; int opret; while (TRUE) { printf("Enter file to be checked: "); fgets(filespec, SLENGTH, stdin); if ((eol = strchr(filespec, ' ')) != NULL) { *eol = ''; /* Replace newline with null */ if (*filespec == '') return; /* exit program */ opret = open(filespec,O_RDONLY,0); if (opret > 0) printf("%s: File exists ",filespec); else if (errno == ENOENT) printf("%s: File does not exist ",filespec); else if (errno == ENOTDIR) printf("%s: Prefix in path is not a directory ", filespec); else perror(filespec); } else /* Line entered too long */ printf("Line entered is too long "); } } NOTES
To ensure that your programs are portable, you should not explicitly declare errno to be an extern int in your program. You should rely on the type int declaration in the <errno.h> include file. Full use. SEE ALSO
Functions: intro(2), perror(3), strerror(3) errno(5)