Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STRERROR(3)		 BSD Library Functions Manual		   STRERROR(3)

NAME
     strerror, strerror_l, strerror_r -- get error message string

SYNOPSIS
     #include <string.h>

     char *
     strerror(int errnum);

     char *
     strerror_l(int errnum, locale_t locale);

     int
     strerror_r(int errnum, char *strerrbuf, size_t buflen);

DESCRIPTION
     These functions map the error number errnum to an error message string.

     strerror()	and strerror_l() return	a string containing a maximum of
     NL_TEXTMAX	characters, including the trailing NUL.	 This string is	not to
     be	modified by the	calling	program.  The string returned by strerror()
     may be overwritten	by subsequent calls to strerror() in any thread.  The
     string returned by	strerror_l() may be overwritten	by subsequent calls to
     strerror_l() in the same thread.

     strerror_r() is a thread safe version of strerror() that places the error
     message in	the specified buffer strerrbuf.

     On	OpenBSD, the global locale, the	thread-specific	locale,	and the	locale
     argument are ignored.

RETURN VALUES
     strerror()	and strerror_l() return	a pointer to the error message string.
     If	an error occurs, the error code	is stored in errno.

     strerror_r() returns zero upon successful completion.  If an error	oc-
     curs, the error code is stored in errno and the error code	is returned.

ENVIRONMENT
     On	other operating	systems, the behaviour of strerror() and strerror_r()
     may depend	on the LC_MESSAGES locale(1).

ERRORS
     All these functions may fail if:

     [EINVAL]		errnum is not a	valid error number.  The returned er-
			ror string will	consist	of an error message that in-
			cludes errnum.

     strerror_r() may also fail	if:

     [ERANGE]		The error message is larger than buflen	characters.
			The message will be truncated to fit.

SEE ALSO
     intro(2), newlocale(3), perror(3),	setlocale(3)

STANDARDS
     The strerror() function conforms to ISO/IEC 9899:1999 ("ISO C99").	 The
     strerror_l() and strerror_r() functions conform to	IEEE Std 1003.1-2008
     ("POSIX.1").

HISTORY
     The strerror() function has been available	since 4.3BSD-Reno,
     strerror_r() since	OpenBSD	3.3, and strerror_l() since OpenBSD 6.2.

BSD			       September 5, 2017			   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ENVIRONMENT | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=strerror&sektion=3&manpath=OpenBSD+6.5>

home | help