errno(2)errno(2)Nameerrno - introduction error numbers
Syntax
#include <errno.h>
Description
The external variable is set when an error occurs in a system call.
You can use the value stored in errno to obtain a more detailed
description of the error than is given in the system call's return
value. The variable is not cleared on successful system calls, so you
should check its value only when an error is reported.
Return Values
Most system calls have one or more return values. An error condition
is indicated by an otherwise impossible return value. This value is
almost always -1. All return codes and values from system call are of
type int, unless otherwise noted.
When an error occurs, most calls store one of the following values, as
defined in <errno.h>, in the errno variable:
0 Unused.
1 EPERM Not owner
This error indicates an attempt to modify a file in some way for‐
bidden except to its owner or the superuser. It is also returned
for attempts by ordinary users to do things allowed only to the
superuser.
2 ENOENT No such file or directory
This error occurs when a file name is specified and the file
should exist but does not, or when one of the directories in a
pathname does not exist.
3 ESRCH No such process
The process whose number was given to and does not exist or is
already dead.
4 EINTR Interrupted system call
An asynchronous signal (such as interrupt or quit) that the pro‐
gram catches occurred during a system call. If execution resumes
after the asynchronous signal is processed, it will appear as if
the interrupted system call returned this error condition.
5 EIO I/O error
Some physical I/O error occurred during a or This error may occur
on a call following the one to which it actually applies.
6 ENXIO No such device or address
I/O on a special file refers to a subdevice that does not exist or
to an area beyond the limits of the device. This error might also
occur when an illegal tape drive unit number is selected or a disk
pack is not loaded on a drive.
7 E2BIG Arg list too long
An argument list longer than 10240 bytes is presented to
8 ENOEXEC Exec format error
A request is made to execute a file that does not start with a
valid magic number, although it has the appropriate permissions.
For further information, see
9 EBADF Bad file number
Either a file descriptor refers to no open file or a read request
is made for a file that is open only for writing. Likewise, a
write request made to a file open only for reading causes this
error.
10 ECHILD No children
The program issued a call and the process has no active or
unwaited-for children.
11 EAGAIN No more processes
In a fork, the system's process table is full or the user is not
allowed to create any more processes.
12 ENOMEM Not enough core
During an or a program asks for more core or swap space than the
system is able to supply. A lack of swap space is normally a tem‐
porary condition. However, a lack of core is not a temporary con‐
dition; the maximum size of the text, data, and stack segments is
a system parameter.
13 EACCES Permission denied
The call attempts to access a file in some way forbidden by the
protection system.
14 EFAULT Bad address
The system encountered a hardware fault in attempting to access
the arguments of a system call.
15 ENOTBLK Block device required
The call specifies a plain file where a block device is required.
16 EBUSY Mount device busy
The call attempts to mount a device that was already mounted or to
unmount a device on which there was an active file directory, an
open file, current directory, mounted-on file, or active text seg‐
ment. Or, the call attempts to modify a partition table incor‐
rectly. See the restrictions in
17 EEXIST File exists
An existing file is mentioned in an inappropriate context.
18 EXDEV Cross-device link
The call attempts to form a hard link to a file on another device.
19 ENODEV No such device
The call attempts to perform an invalid operation on a device,
such as write to a read-only device.
20 ENOTDIR Not a directory
A file that is not a directory is specified where a directory is
required, for example, in a pathname or as an argument to
21 EISDIR Is a directory
The call attempts to write on a directory.
22 EINVAL Invalid argument
An invalid argument is specified. For example, the call might
specify dismounting a device that is not mounted or reading or
writing a file for which has generated a negative pointer. This
error is also set by math functions, as described in the reference
page.
23 ENFILE File table overflow
The system's table of open files is full, and temporarily no more
calls can be processed.
24 EMFILE Too many open files
The process has opened too many files. The customary configuration
limit is 64 files per process.
25 ENOTTY Not a typewriter
The file named in an call is not a terminal or one of the other
devices to which the call applies.
26 ETXTBSY Text file busy
The call attempts to execute a pure-procedure program that is cur‐
rently open for writing or reading. Or, the call attempts to open
for writing a pure-procedure program that is being executed.
27 EFBIG File too large
The size of a file exceeds the maximum (about 1.0E9 bytes).
28 ENOSPC No space left on device
A device runs out of space during a write to an ordinary file.
29 ESPIPE Illegal seek
An call specifies a pipe or other device that does not support.
30 EROFS Restricted operation on a file system
The call attempts to access a file or directory on a mounted file
system when that permission has been revoked. For example, the
call attempts to write a file on a file system mounted read only.
31 EMLINK Too many links
The call attempts to make more than {LINK_MAX} hard links to a
file.
32 EPIPE Broken pipe
The call attempts to write on a pipe or socket for which there is
no process to read the data. This condition normally generates a
signal; the error is returned if the signal is ignored.
33 EDOM Argument too large
The argument of a function in the math package (which is described
in the ULTRIX Reference Pages, Section 3: Subroutines ) is out of
the domain of the function.
34 ERANGE Result too large
The value of a function in the math package (which is described in
the ULTRIX Reference Pages, Section 3: Subroutines ) is unrepre‐
sentable within machine precision.
35 EWOULDBLOCK Operation would block
The call attempts an operation that would cause a process to block
on an object in nonblocking mode. For further information, see
36 EINPROGRESS Operation now in progress
The call is performing an operation that takes a long time to com‐
plete, such as a call, on a nonblocking object. For further
information, see
37 EALREADY Operation already in progress
The call attempts an operation on a nonblocking object that
already has an operation in progress.
38 ENOTSOCK Socket operation on non-socket
The call attempts to perform a socket-specific operation on an
entity that is not a socket.
39 EDESTADDRREQ Destination address required
A required address is omitted from an operation on a socket.
40 EMSGSIZE Message too long
A message sent on a socket is larger than the internal message
buffer.
41 EPROTOTYPE Protocol wrong type for socket
A protocol is specified that does not support the semantics of the
socket type requested. For example, you cannot use the ARPA Inter‐
net UDP protocol with type SOCK_STREAM.
42 ENOPROTOOPT Protocol not available
A bad option was specified in a or call.
43 EPROTONOSUPPORT Protocol not supported
The protocol has not been configured into the system or an imple‐
mentation for it does not exist.
44 ESOCKTNOSUPPORT Socket type not supported
The support for the socket type has not been configured into the
system or an implementation for it does not exist.
45 EOPNOTSUPP Error-operation not supported
The call attempts an unsupported operation, such as trying to
accept a connection on a datagram socket.
46 EPFNOSUPPORT Protocol family not supported
The protocol family has not been configured into the system or an
implementation for it does not exist.
47 EAFNOSUPPORT Address family not supported by protocol family
An address incompatible with the requested protocol is specified.
For example, you cannot use PUP Internet addresses with ARPA
Internet protocols.
48 EADDRINUSE Address already in use
The call attempts to use an address that is already in use. Each
address can be used only once.
49 EADDRNOTAVAIL Cannot assign requested address
The call attempts to create a socket with an address not on this
machine.
50 ENETDOWN Network is down
A socket operation encountered a network that is not operating.
51 ENETUNREACH Network is unreachable
A socket operation attempts to reach an unreachable network.
52 ENETRESET Network dropped connection on reset
The host to which the program was connected to crashed and
rebooted.
53 ECONNABORTED Software caused connection abort
A connection abort has occurred internal to your host machine.
54 ECONNRESET Connection reset by peer
A connection has been forcibly closed by a peer. This error usu‐
ally results from the peer executing a call.
55 ENOBUFS No buffer space available
The system lacks sufficient buffer space to perform an operation
on a socket or pipe.
56 EISCONN Socket is already connected
A request names an already connected socket, or a or request on a
connected socket specifies a destination other than the connected
party.
57 ENOTCONN Socket is not connected
A request to send or receive data could not complete because the
socket is not connected.
58 ESHUTDOWN Cannot send after socket shutdown
A request to send data could not complete because the socket has
already been shut down with a previous call.
59 ETOOMANYREFS Too many references: cannot splice
60 ETIMEDOUT Connection timed out
A request failed because the connected party did not properly
respond after a period of time. (The timeout period is dependent
on the communication protocol.) For example, this error occurs
when an NFS file system is mounted with the ``soft,'' option and
the server is not responding to file operation requests.
61 ECONNREFUSED Connection refused
No connection could be made because the target machine actively
refused it. This error usually results from trying to connect to
a service that is inactive on the remote host.
62 ELOOP Too many levels of symbolic links
A pathname lookup involves more than eight symbolic links.
63 ENAMETOOLONG File name too long
A component of a path name exceeds 255 characters, or an entire
path name exceeds 1023 characters.
64 EHOSTDOWN Host is down
A socket operation has failed because the destination host is
down.
65 EHOSTUNREACH No route to host
A socket operation attempts to reach an unreachable host.
66 ENOTEMPTY Directory not empty
A directory with entries other than dot (.) and dot-dot (..) is
specified in a or call.
67 EPROCLIM Too many processes
Creating the process would cause the user to exceed the number of
user processes that are available. The maxuprc option in the con‐
figuration file controls this limit.
68 EUSERS Too many users
A login process would exceed the maximum allowable login processes
for which the system is licensed.
69 EDQUOT Disk quota exceeded
A to an ordinary file, the creation of a directory or symbolic
link, or the creation of a directory entry has failed because the
user's quota of disk blocks is exhausted. Or, the allocation of an
inode for a newly created file has failed because the user's quota
of inodes is exhausted.
70 ESTALE Stale NFS file handle
Information used by the operating system to identify a file in an
NFS file system that is no longer valid. This error code results
from operating on a remote file that no longer exists on the
server or resides in a file system that has been moved to a dif‐
ferent device on the server.
71 EREMOTE Too many levels of remote in path
A remote NFS client has requested an operation on a file that is
remote to the server as well. An attempt has been made to mount
an NFS remote file system that is not local to the specified
server. This error code cannot occur except in response to a
failed call.
72 ENOMSG No message of desired type
An attempt was made to receive a message of a type that does not
exist on the specified message queue. For further information,
see
73 EIDRM Identifier removed
In semaphores, shared memory, or message queues, the caller tried
to access the identifier after it had been removed from the sys‐
tem.
74 EALIGN Alignment error
Alignment error of some type has occurred, for example, cluster,
page, or block.
75 ENOLCK No locks available
A file locking request could not be fulfilled because a system
limit on the number of active locks would have been exceeded.
76 ENOSYS Function not implemented
The requested function is not available in ULTRIX. Included for
POSIX compatibility only.
See Alsoerrno(2)