120 lines
4.4 KiB
Groff
120 lines
4.4 KiB
Groff
.\" $NetBSD: errno.9,v 1.5 2010/03/22 18:58:33 joerg Exp $
|
|
.\"
|
|
.\" Copyright (c) 2004 The NetBSD Foundation, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by Andrew Brown.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.Dd December 3, 2004
|
|
.Dt ERRNO 9
|
|
.Os
|
|
.Sh NAME
|
|
.Nm errno
|
|
.Nd kernel internal error numbers
|
|
.Sh SYNOPSIS
|
|
.In sys/errno.h
|
|
.Sh 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.
|
|
.Sh DIAGNOSTICS
|
|
Kernel functions that indicate success or failure by means of either 0
|
|
or an
|
|
.Xr errno 2
|
|
value sometimes have a need to indicate that
|
|
.Dq special
|
|
handling is required at an upper layer or, in the case of
|
|
.Xr ioctl 2
|
|
processing, that
|
|
.Dq nothing was wrong but the request was not handled .
|
|
To handle these cases, some negative
|
|
.Xr errno 2
|
|
values are defined which are handled by the kernel before returning a
|
|
different
|
|
.Xr errno 2
|
|
value to userland or simply zero.
|
|
.Pp
|
|
The following is a list of the defined names and their meanings as
|
|
given in
|
|
.In errno.h .
|
|
It is important to note that the value \-1 is
|
|
.Em not
|
|
used, since it is commonly used to indicate generic failure and leaves
|
|
it up to the caller to determine the action to take.
|
|
.Bl -hang -width Ds
|
|
.It Er \-2 EJUSTRETURN Em "Modify regs, just return" .
|
|
No more work is required and the function should just return.
|
|
.It Er \-3 ERESTART Em "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.
|
|
.It Er \-4 EPASSTHROUGH Em "Operation not handled by this layer" .
|
|
The operation was not handled and should be passed through to another
|
|
layer.
|
|
This often occurs when processing
|
|
.Xr ioctl 2
|
|
requests since lower layer processing may not handle something that
|
|
subsequent code at a higher level will.
|
|
.It Er \-5 EDUPFD Em "Duplicate file descriptor."
|
|
This error is returned from the device open routine indicating that
|
|
the
|
|
.Ar 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
|
|
.Ar l_dupfd
|
|
to that new file descriptor and return
|
|
.Er EDUPFD .
|
|
.Xr vn_open 9
|
|
takes the file descriptor pointed to by
|
|
.Ar l_dupfd
|
|
and copies it to the file descriptor that the open call will return.
|
|
.It Er \-6 EMOVEFD Em "Move file descriptor."
|
|
This error is similar to
|
|
.Er EDUPFD
|
|
except that the file descriptor in
|
|
.Ar l_dupfd
|
|
is closed after it has been copied.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr errno 2 ,
|
|
.Xr ioctl 9
|
|
.Sh HISTORY
|
|
An
|
|
.Nm
|
|
manual page appeared in
|
|
.At v6 .
|
|
This
|
|
.Nm
|
|
manual page appeared in
|
|
.Nx 3.0 .
|