The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> errno.h - system error numbers

#### SYNOPSIS

> `#include <errno.h>`

#### DESCRIPTION

> [CX] 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 IEEE Std 1003.1-2001 defers to the ISO C standard.

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

> The <errno.h> header shall provide a declaration for errno and give positive values for the following symbolic constants. Their values shall be unique except as noted below.

> [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]
>   Too many open files.
> [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]
>   [XSR] 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]
>   [XSR] No STREAM resources.
> [ENOSTR]
>   [XSR] Not a STREAM.
> [ENOSYS]
>   Function not supported.
> [ENOTCONN]
>   The socket is not connected.
> [ENOTDIR]
>   Not a directory.
> [ENOTEMPTY]
>   Directory not empty.
> [ENOTSOCK]
>   Not a socket.
> [ENOTSUP]
>   Not supported.
> [ENOTTY]
>   Inappropriate I/O control operation.
> [ENXIO]
>   No such device or address.
> [EOPNOTSUPP]
>   Operation not supported on socket.
> [EOVERFLOW]
>   Value too large to be stored in data type.
> [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]
>   [XSR] 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 IEEE Std 1003.1-2001.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> The System Interfaces volume of IEEE Std 1003.1-2001, Section 2.3, Error Numbers

#### CHANGE HISTORY

> First released in Issue 1. Derived from Issue 1 of the SVID.

#### Issue 5

> Updated for alignment with the POSIX Realtime Extension.

#### Issue 6

> The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:

> - The majority of the error conditions previously marked as extensions are now mandatory, except for the STREAMS-related error conditions.

> Values for errno are now required to be distinct positive values rather than non-zero values. This change is for alignment with the ISO/IEC 9899:1999 standard.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]