NAME
errno —
kernel internal error
numbers
SYNOPSIS
#include <sys/errno.h>
DESCRIPTION
This section provides an overview of the error numbers used internally by the
kernel and indicate neither success nor failure. These error numbers are not
returned to userland code.
DIAGNOSTICS
Kernel functions that indicate success or failure by means of either 0 or an
errno(2) value sometimes have a
need to indicate that “special” handling is required at an upper
layer or, in the case of
ioctl(2)
processing, that “nothing was wrong but the request was not
handled”. To handle these cases, some negative
errno(2) values are defined which
are handled by the kernel before returning a different
errno(2) value to userland or
simply zero.
The following is a list of the defined names and their meanings as given in
<errno.h>. It is important to note
that the value -1 is
not used, since it is commonly used to
indicate generic failure and leaves it up to the caller to determine the
action to take.
-2 EJUSTRETURN
Modify regs, just return.
- No more work is required and
the function should just return.
-3 ERESTART
Restart
syscall.
- The system call should be
restarted. This typically means that the machine dependent system call
trap code will reposition the process's instruction pointer or program
counter to re-execute the current system call with no other work
required.
-4 EPASSTHROUGH
Operation not handled by this layer.
- The operation was not handled
and should be passed through to another layer. This often occurs when
processing ioctl(2) requests
since lower layer processing may not handle something that subsequent code
at a higher level will.
-5 EDUPFD
Duplicate
file descriptor.
- This error is returned from
the device open routine indicating that the l_dupfd
field contains the file descriptor information to be returned to the
caller, instead of the file descriptor that has been opened already. This
error is used by cloning device multiplexors. Cloning device multiplexors
open a new file descriptor and associate that file descriptor with the
appropriate cloned device. They set l_dupfd to that
new file descriptor and return
EDUPFD
.
vn_open(9) takes the file
descriptor pointed to by l_dupfd and copies it to
the file descriptor that the open call will return.
-6 EMOVEFD
Move file
descriptor.
- This error is similar to
EDUPFD
except that the file descriptor in
l_dupfd is closed after it has been copied.
SEE ALSO
errno(2),
ioctl(9)
HISTORY
An
errno manual page appeared in
Version 6 AT&T UNIX. This
errno manual page appeared in
NetBSD
3.0.