Add a man page that describes the kernel-only errno values that never

get passed back up to userland.
This commit is contained in:
atatat 2004-12-03 03:33:00 +00:00
parent 5500ae7993
commit 18088943f2
2 changed files with 97 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.166 2004/09/06 21:46:46 yamt Exp $
# $NetBSD: Makefile,v 1.167 2004/12/03 03:33:00 atatat Exp $
# Makefile for section 9 (kernel function and variable) manual pages.
@ -13,7 +13,7 @@ MAN= altq.9 arc4random.9 arp.9 audio.9 autoconf.9 \
cred.9 ctxsw.9 curproc.9 \
delay.9 disk.9 disklabel.9 dofileread.9 \
dopowerhooks.9 do_setresuid.9 doshutdownhooks.9 driver.9 \
ethersubr.9 evcnt.9 extent.9 \
errno.9 ethersubr.9 evcnt.9 extent.9 \
fetch.9 file.9 filedesc.9 fork1.9 fsetown.9 \
hash.9 hardclock.9 humanize_number.9 hz.9 \
in4_cksum.9 inittodr.9 intro.9 ioasic.9 ioctl.9 ipkdb.9 isa.9 \

95
share/man/man9/errno.9 Normal file
View File

@ -0,0 +1,95 @@
.\" $NetBSD: errno.9,v 1.1 2004/12/03 03:33:00 atatat 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 November 30, 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
.Aq Pa 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.
.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 .