strerror,
STRERROR(R)         Linux Programmer's Manual         STRERROR(R)



NAME
       strerror, strerror_r - return string describing error code

SYNOPSIS
       #include <string.h>

       char *strerror(int errnum);
       int strerror_r(int errnum, char *buf, size_t n);

DESCRIPTION
       The strerror() function returns a  string  describing  the
       error  code  passed in the argument errnum, possibly using
       the LC_MESSAGES part of the current locale to  select  the
       appropriate language.  This string must not be modified by
       the application, but may be modified by a subsequent  call
       to  perror() or strerror().  No library function will mod-
       ify this string.

       The strerror_r() function is similar to strerror(), but is
       thread  safe.  It  returns the string in the user-supplied
       buffer buf of length n.


RETURN VALUE
       The strerror()  function  returns  the  appropriate  error
       description  string,  or  an  unknown error message if the
       error code is unknown.  The value of errno is not  changed
       for  a successful call, and is set to a nonzero value upon
       error.  The strerror_r() function returns 0 on success and
       -1 on failure, setting errno.


ERRORS
       EINVAL The value of errnum is not a valid error number.

       ERANGE Insufficient  storage  was  supplied to contain the
              error description string.


CONFORMING TO
       SVID 3, POSIX, BSD 4.3, ISO/IEC 9899:1990 (C89).
       strerror_r() with prototype as given above is specified by
       SUSv3,  and  was in use under Digital Unix and HP Unix. An
       incompatible function, with prototype

       char *strerror_r(int errnum, char *buf, size_t n);

       is a GNU extension used by glibc (since 2.0), and must  be
       regarded  as  obsolete  in view of SUSv3.  The GNU version
       may, but need not, use the user-supplied  buffer.   If  it
       does,  the  result  may  be truncated in case the supplied
       buffer is too small. The result is always  NUL-terminated.

SEE ALSO
       errno(o), perror(r), strsignal(l)



                            2001-10-16                STRERROR(R)