Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
errno(2)							      errno(2)

       errno - introduction error numbers

       #include	<errno.h>

       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

       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

       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

       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

       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

       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

       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

       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

       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

       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,

       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-

       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 Also

Name | Syntax | Description | Return Values | See Also

Want to link to this manual page? Use this URL:

home | help