1ERRNO(3P)                  POSIX Programmer's Manual                 ERRNO(3P)
2
3
4

PROLOG

6       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
7       implementation of this interface may differ (consult the  corresponding
8       Linux  manual page for details of Linux behavior), or the interface may
9       not be implemented on Linux.
10

NAME

12       errno — error return value
13

SYNOPSIS

15       #include <errno.h>
16

DESCRIPTION

18       The lvalue errno is used by many functions to return error values.
19
20       Many functions provide an error number in errno, which has type int and
21       is  defined  in  <errno.h>.   The  value of errno shall be defined only
22       after a call to a function for which it is explicitly stated to be  set
23       and until it is changed by the next function call or if the application
24       assigns it a value. The value of errno should only be examined when  it
25       is  indicated  to  be  valid by a function's return value. Applications
26       shall obtain the definition of errno by the inclusion of <errno.h>.  No
27       function  in this volume of POSIX.1‐2017 shall set errno to 0. The set‐
28       ting of errno after a successful call  to  a  function  is  unspecified
29       unless  the description of that function specifies that errno shall not
30       be modified.
31
32       It is unspecified whether errno is a macro or  an  identifier  declared
33       with  external linkage. If a macro definition is suppressed in order to
34       access an actual object, or a program defines an  identifier  with  the
35       name errno, the behavior is undefined.
36
37       The  symbolic  values stored in errno are documented in the ERRORS sec‐
38       tions on all relevant pages.
39

RETURN VALUE

41       None.
42

ERRORS

44       None.
45
46       The following sections are informative.
47

EXAMPLES

49       None.
50

APPLICATION USAGE

52       Previously both POSIX and X/Open documents were more  restrictive  than
53       the  ISO C  standard  in  that  they required errno to be defined as an
54       external variable, whereas the ISO C standard required only that  errno
55       be defined as a modifiable lvalue with type int.
56
57       An  application  that  needs to examine the value of errno to determine
58       the error should set it to 0 before a function call,  then  inspect  it
59       before a subsequent function call.
60

RATIONALE

62       None.
63

FUTURE DIRECTIONS

65       None.
66

SEE ALSO

68       Section 2.3, Error Numbers
69
70       The Base Definitions volume of POSIX.1‐2017, <errno.h>
71
73       Portions  of  this text are reprinted and reproduced in electronic form
74       from IEEE Std 1003.1-2017, Standard for Information Technology --  Por‐
75       table  Operating System Interface (POSIX), The Open Group Base Specifi‐
76       cations Issue 7, 2018 Edition, Copyright (C) 2018 by the  Institute  of
77       Electrical  and  Electronics Engineers, Inc and The Open Group.  In the
78       event of any discrepancy between this version and the original IEEE and
79       The  Open Group Standard, the original IEEE and The Open Group Standard
80       is the referee document. The original Standard can be  obtained  online
81       at http://www.opengroup.org/unix/online.html .
82
83       Any  typographical  or  formatting  errors that appear in this page are
84       most likely to have been introduced during the conversion of the source
85       files  to  man page format. To report such errors, see https://www.ker
86       nel.org/doc/man-pages/reporting_bugs.html .
87
88
89
90IEEE/The Open Group                  2017                            ERRNO(3P)
Impressum