 |
Index for Section 5 |
|
 |
Alphabetical listing for E |
|
 |
Bottom of page |
|
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, '\n')) != NULL) {
*eol = '\0'; /* Replace newline with null */
if (*filespec == '\0') return; /* exit program */
opret = open(filespec,O_RDONLY,0);
if (opret > 0)
printf("%s: File exists\n",filespec);
else if (errno == ENOENT)
printf("%s: File does not exist\n",filespec);
else if (errno == ENOTDIR)
printf("%s: Prefix in path is not a directory\n",
filespec);
else
perror(filespec);
} else /* Line entered too long */
printf("Line entered is too long\n");
}
}
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.
AES Support Level:
Full use.
SEE ALSO
Functions: intro(2), perror(3), strerror(3)
 |
Index for Section 5 |
|
 |
Alphabetical listing for E |
|
 |
Top of page |
|