unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



errno(5)							     errno(5)



NAME

  errno	- Returns error	condition value

SYNOPSIS

  #include <&lt;errno.h>&gt;




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 com-
  pletion. 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 pro-
  gram 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 <&lt;errno.h>&gt;	include	file.

  AES Support Level:
      Full use.

SEE ALSO

  Functions: intro(2), perror(3), strerror(3)