PERROR(3S)PERROR(3S)NAME
perror, strerror, sys_errlist, sys_nerr - system error messages
SYNOPSIS
#include <stdio.h>
void perror(char *s);
(ALSO AVAILABLE IN BSD)
#include <string.h>
char *strerror(int errnum);
extern int sys_nerr;
extern char *sys_errlist[];
DESCRIPTION
Perror produces a short error message on the standard error file
describing the last error encountered during a call to the system from
a C program. First the argument string s is printed, then a colon,
then the message and a new-line. Most usefully, the argument string is
the name of the program which incurred the error. The error number is
taken from the external variable errno (see intro(2)), which is set
when errors occur but not cleared when non-erroneous calls are made.
To simplify variant formatting of messages, the vector of message
strings can also be obtained by using the strerror function; errno can
be used as the argument to this function to get the message string,
without a trailing newline.
Although not specified by ANSI C or POSIX, for compatibility, this
implementation also permits directly retrieving the vector of message
strings from sys_errlist. Sys_nerr is the number of messages provided
for in the table; it should be checked because new error codes may be
added to the system before they are added to the table. The use of the
strerror function is preferred over this mechanism.
SEE ALSOintro(2), psignal(3)
June 23, 1989 PERROR(3S)