Section: POSIX Programmer's Manual (3P)
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
--- error return value
is used by many functions to return error values.
Many functions provide an error number in
which has type
and is defined in
The value of
shall be defined only after a call to a function for which it is
explicitly stated to be set and until it is changed by the next
function call or if the application assigns it a value. The value of
should only be examined when it is indicated to be valid by a
function's return value. Applications shall obtain the definition of
by the inclusion of
No function in this volume of POSIX.1-2008 shall set
to 0. The setting of
after a successful call to a function is unspecified unless the
description of that function specifies that
shall not be modified.
It is unspecified whether
is a macro or an identifier declared with external linkage. If a macro
definition is suppressed in order to access an actual object, or a
program defines an identifier with the name
the behavior is undefined.
The symbolic values stored in
are documented in the ERRORS sections on all relevant pages.
The following sections are informative.
Previously both POSIX and X/Open documents were more restrictive than
the ISO C standard in that they required
to be defined as an external variable, whereas the ISO C standard required only
be defined as a modifiable lvalue with type
An application that needs to examine the value of
to determine the error should set it to 0 before a function call, then
inspect it before a subsequent function call.
, Error Numbers
The Base Definitions volume of POSIX.1-2008,
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 7, Copyright (C) 2013 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group.
(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
Any typographical or formatting errors that appear
in this page are most likely
to have been introduced during the conversion of the source files to
man page format. To report such errors, see