diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2018-04-19 22:46:22 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2018-04-19 22:46:22 +0000 |
commit | 1bebddf79b6de5a0b03359d3856867a3ade4af7d (patch) | |
tree | 0ee6142ce113a0f0777b18cda01eb78c7ff37e2b /share | |
parent | 31f0fa96d0969964be882066f7d4eda26d6e40d1 (diff) |
start splitting the kern manpage up starting with the KASSERT bits.
this started when looking for function prototypes not in the SYNOPSIS
section and fixing that, but ingo argues that it doesn't make sense
to document 30 unrelated functions in one manpage anyway.
ok deraadt@ mpi@ schwarze@
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man9/KASSERT.9 | 105 | ||||
-rw-r--r-- | share/man/man9/Makefile | 4 | ||||
-rw-r--r-- | share/man/man9/kern.9 | 75 |
3 files changed, 110 insertions, 74 deletions
diff --git a/share/man/man9/KASSERT.9 b/share/man/man9/KASSERT.9 new file mode 100644 index 00000000000..cf4ad64650c --- /dev/null +++ b/share/man/man9/KASSERT.9 @@ -0,0 +1,105 @@ +.\" $OpenBSD: KASSERT.9,v 1.1 2018/04/19 22:46:21 dlg Exp $ +.\" +.\" Copyright (c) 2002, 2003 CubeSoft Communications, Inc. +.\" <http://www.csoft.org> +.\" +.\" 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 $Mdocdate: April 19 2018 $ +.Dt KASSERT 9 +.Os +.Sh NAME +.Nm assert , +.Nm KASSERT , +.Nm KDASSERT , +.Nm KASSERTMSG , +.Nm KDASSERTMSG , +.Nm CTASSERT +.Nd kernel assert library routines +.Sh SYNOPSIS +.In lib/libkern/libkern.h +.Ft "void" +.Fn assert "CONDITION" +.Ft "void" +.Fn KASSERT "CONDITION" +.Ft "void" +.Fn KDASSERT "CONDITION" +.Ft "void" +.Fn KASSERTMSG "CONDITION" "fmt" "..." +.Ft "void" +.Fn KDASSERTMSG "CONDITION" "fmt" "..." +.Ft "void" +.Fn CTASSERT "CONDITION" +.Sh DESCRIPTION +The +kernel +library implements a set of useful functions and macros implementing +expression verification. +.Pp +These macros cause kernel +.Xr panic 9 +if the given condition evaluates to false. +.Fn assert +tests are always compiled in. +.Fn KASSERT +and +.Fn KASSERTMSG +tests are only included if the kernel has +.Dv DIAGNOSTIC +enabled. +.Fn KDASSERT +and +.Fn KDASSERTMSG +tests are only included if the kernel has +.Dv DEBUG +enabled. +The +.Fn KASSERTMSG +and +.Fn KDASSERTMSG +macros append +to the +.Xr panic 9 +format string the message specified by +.Fa format +and its subsequent arguments, similar to +.Xr printf 9 +functions. +.Pp +.Fn CTASSERT +causes a compile time error if the given condition evaluates to +false. +Its main purpose is to verify assertions about type and struct sizes that +would otherwise make the code fail at run time. +.Fn CTASSERT +can be used in global scope or at the start of blocks, where variable +declarations are allowed. +.Sh SEE ALSO +.Xr assert 3 , +.Xr panic 9 +.Sh HISTORY +The +.Fn KASSERTMSG +and +.Fn KDASSERTMSG +macros are taken from +.Nx . diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index b9942f0bd27..dcbe691f77e 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.288 2017/12/14 00:41:58 dlg Exp $ +# $OpenBSD: Makefile,v 1.289 2018/04/19 22:46:21 dlg Exp $ # $NetBSD: Makefile,v 1.4 1996/01/09 03:23:01 thorpej Exp $ # Makefile for section 9 (kernel function and variable) manual pages. @@ -20,7 +20,7 @@ MAN= aml_evalnode.9 atomic_add_int.9 atomic_cas_uint.9 \ ieee80211_node.9 ieee80211_output.9 ieee80211_proto.9 \ ieee80211_radiotap.9 if_get.9 if_rxr_init.9 ifq_enqueue.9 \ ifq_deq_begin.9 iic.9 intro.9 inittodr.9 intr_barrier.9 \ - kern.9 km_alloc.9 knote.9 kthread.9 ktrace.9 \ + KASSERT.9 kern.9 km_alloc.9 knote.9 kthread.9 ktrace.9 \ loadfirmware.9 log.9 \ malloc.9 membar_sync.9 mbuf.9 mbuf_tags.9 md5.9 mi_switch.9 \ microtime.9 ml_init.9 mq_init.9 mutex.9 \ diff --git a/share/man/man9/kern.9 b/share/man/man9/kern.9 index 3f2abffeef1..f9bec8ab5cf 100644 --- a/share/man/man9/kern.9 +++ b/share/man/man9/kern.9 @@ -1,4 +1,4 @@ -.\" $OpenBSD: kern.9,v 1.23 2015/12/20 08:10:36 sf Exp $ +.\" $OpenBSD: kern.9,v 1.24 2018/04/19 22:46:21 dlg Exp $ .\" .\" Copyright (c) 2002, 2003 CubeSoft Communications, Inc. .\" <http://www.csoft.org> @@ -24,8 +24,8 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: December 20 2015 $ -.Dt KASSERT 9 +.Dd $Mdocdate: April 19 2018 $ +.Dt IMAX 9 .Os .Sh NAME .Nm imax , @@ -37,12 +37,6 @@ .Nm ulmax , .Nm ulmin , .Nm abs , -.Nm assert , -.Nm KASSERT , -.Nm KDASSERT , -.Nm KASSERTMSG , -.Nm KDASSERTMSG , -.Nm CTASSERT , .Nm skpc , .Nm scanc , .Nm bcmp , @@ -117,62 +111,6 @@ The .Fn abs function computes the absolute value of integer .Fa j . -.Sh ASSERTIONS -.nr nS 1 -.Ft "void" -.Fn assert "CONDITION" -.Ft "void" -.Fn KASSERT "CONDITION" -.Ft "void" -.Fn KDASSERT "CONDITION" -.Ft "void" -.Fn KASSERTMSG "CONDITION" "fmt" "..." -.Ft "void" -.Fn KDASSERTMSG "CONDITION" "fmt" "..." -.nr nS 0 -.Pp -These macros cause kernel -.Xr panic 9 -if the given condition evaluates to false. -.Fn assert -tests are always compiled in. -.Fn KASSERT -and -.Fn KASSERTMSG -tests are only included if the kernel has -.Dv DIAGNOSTIC -enabled. -.Fn KDASSERT -and -.Fn KDASSERTMSG -tests are only included if the kernel has -.Dv DEBUG -enabled. -The -.Fn KASSERTMSG -and -.Fn KDASSERTMSG -macros append -to the -.Xr panic 9 -format string the message specified by -.Fa format -and its subsequent arguments, similar to -.Xr printf 9 -functions. -.Pp -.nr nS 1 -.Ft "void" -.Fn CTASSERT "CONDITION" -.nr nS 0 -.Pp -This macro causes a compile time error if the given condition evaluates to -false. -Its main purpose is to verify assertions about type and struct sizes that -would otherwise make the code fail at run time. -.Fn CTASSERT -can be used in global scope or at the start of blocks, where variable -declarations are allowed. .Sh BYTE STRINGS .nr nS 1 .Ft int @@ -279,7 +217,6 @@ which is assumed to be .Fa size bytes long. .Sh SEE ALSO -.Xr assert 3 , .Xr bcmp 3 , .Xr ffs 3 , .Xr memchr 3 , @@ -303,9 +240,3 @@ The and .Fn scanc functions are based on vax instructions of the same name. -The -.Fn KASSERTMSG -and -.Fn KDASSERTMSG -macros are taken from -.Nx . |