Manual Page Result
0
Command: KASSERT | Section: 9 | Source: OpenBSD | File: KASSERT.9
KASSERT(9) FreeBSD Kernel Developer's Manual KASSERT(9)
NAME
assert, KASSERT, KDASSERT, KASSERTMSG, KDASSERTMSG, CTASSERT - kernel
assert library routines
SYNOPSIS
#include <sys/systm.h>
void
assert(CONDITION);
void
KASSERT(CONDITION);
void
KDASSERT(CONDITION);
void
KASSERTMSG(CONDITION, fmt, ...);
void
KDASSERTMSG(CONDITION, fmt, ...);
void
CTASSERT(CONDITION);
DESCRIPTION
The kernel library implements a set of useful functions and macros
implementing expression verification.
These macros cause kernel panic(9) if the given condition evaluates to
false. assert() tests are always compiled in. KASSERT() and
KASSERTMSG() tests are only included if the kernel has DIAGNOSTIC
enabled. KDASSERT() and KDASSERTMSG() tests are only included if the
kernel has DEBUG enabled. The KASSERTMSG() and KDASSERTMSG() macros
append to the panic(9) format string the message specified by format and
its subsequent arguments, similar to printf(9) functions.
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. CTASSERT()
can be used in global scope or at the start of blocks, where variable
declarations are allowed.
SEE ALSO
assert(3), panic(9)
HISTORY
The KASSERTMSG() and KDASSERTMSG() macros are taken from NetBSD.
FreeBSD 14.1-RELEASE-p8 May 10, 2019 FreeBSD 14.1-RELEASE-p8