Provided by: manpages-posix-dev_2013a-2_all bug

PROLOG

       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.

NAME

       errno.h — system error numbers

SYNOPSIS

       #include <errno.h>

DESCRIPTION

       Some of the functionality described on this reference page extends the ISO C standard. Any
       conflict between the requirements described here and the ISO C standard is  unintentional.
       This volume of POSIX.1‐2008 defers to the ISO C standard.

       The ISO C standard only requires the symbols [EDOM], [EILSEQ], and [ERANGE] to be defined.

       The  <errno.h>  header  shall  provide  a declaration or definition for errno.  The symbol
       errno shall expand to a modifiable lvalue of type int.  It is unspecified whether errno 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 errno, the behavior is undefined.

       The  <errno.h>  header  shall  define  the  following macros which shall expand to integer
       constant expressions with type int, distinct positive values (except as noted below),  and
       which shall be suitable for use in #if preprocessing directives:

       E2BIG  Argument list too long.

       EACCES Permission denied.

       EADDRINUSE
              Address in use.

       EADDRNOTAVAIL
              Address not available.

       EAFNOSUPPORT
              Address family not supported.

       EAGAIN Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).

       EALREADY
              Connection already in progress.

       EBADF  Bad file descriptor.

       EBADMSG
              Bad message.

       EBUSY  Device or resource busy.

       ECANCELED
              Operation canceled.

       ECHILD No child processes.

       ECONNABORTED
              Connection aborted.

       ECONNREFUSED
              Connection refused.

       ECONNRESET
              Connection reset.

       EDEADLK
              Resource deadlock would occur.

       EDESTADDRREQ
              Destination address required.

       EDOM   Mathematics argument out of domain of function.

       EDQUOT Reserved.

       EEXIST File exists.

       EFAULT Bad address.

       EFBIG  File too large.

       EHOSTUNREACH
              Host is unreachable.

       EIDRM  Identifier removed.

       EILSEQ Illegal byte sequence.

       EINPROGRESS
              Operation in progress.

       EINTR  Interrupted function.

       EINVAL Invalid argument.

       EIO    I/O error.

       EISCONN
              Socket is connected.

       EISDIR Is a directory.

       ELOOP  Too many levels of symbolic links.

       EMFILE File descriptor value too large.

       EMLINK Too many links.

       EMSGSIZE
              Message too large.

       EMULTIHOP
              Reserved.

       ENAMETOOLONG
              Filename too long.

       ENETDOWN
              Network is down.

       ENETRESET
              Connection aborted by network.

       ENETUNREACH
              Network unreachable.

       ENFILE Too many files open in system.

       ENOBUFS
              No buffer space available.

       ENODATA
              No message is available on the STREAM head read queue.

       ENODEV No such device.

       ENOENT No such file or directory.

       ENOEXEC
              Executable file format error.

       ENOLCK No locks available.

       ENOLINK
              Reserved.

       ENOMEM Not enough space.

       ENOMSG No message of the desired type.

       ENOPROTOOPT
              Protocol not available.

       ENOSPC No space left on device.

       ENOSR  No STREAM resources.

       ENOSTR Not a STREAM.

       ENOSYS Function not supported.

       ENOTCONN
              The socket is not connected.

       ENOTDIR
              Not a directory or a symbolic link to a directory.

       ENOTEMPTY
              Directory not empty.

       ENOTRECOVERABLE
              State not recoverable.

       ENOTSOCK
              Not a socket.

       ENOTSUP
              Not supported (may be the same value as [EOPNOTSUPP]).

       ENOTTY Inappropriate I/O control operation.

       ENXIO  No such device or address.

       EOPNOTSUPP
              Operation not supported on socket (may be the same value as [ENOTSUP]).

       EOVERFLOW
              Value too large to be stored in data type.

       EOWNERDEAD
              Previous owner died.

       EPERM  Operation not permitted.

       EPIPE  Broken pipe.

       EPROTO Protocol error.

       EPROTONOSUPPORT
              Protocol not supported.

       EPROTOTYPE
              Protocol wrong type for socket.

       ERANGE Result too large.

       EROFS  Read-only file system.

       ESPIPE Invalid seek.

       ESRCH  No such process.

       ESTALE Reserved.

       ETIME  Stream ioctl() timeout.

       ETIMEDOUT
              Connection timed out.

       ETXTBSY
              Text file busy.

       EWOULDBLOCK
              Operation would block (may be the same value as [EAGAIN]).

       EXDEV  Cross-device link.

       The following sections are informative.

APPLICATION USAGE

       Additional  error  numbers may be defined on conforming systems; see the System Interfaces
       volume of POSIX.1‐2008.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The System Interfaces volume of POSIX.1‐2008, Section 2.3, Error Numbers

COPYRIGHT

       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 http://www.unix.org/online.html .

       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 https://www.kernel.org/doc/man-pages/reporting_bugs.html .