SETJMP(9)

SETJMP(9) | Kernel Developer's Manual | SETJMP(9)

# NAME

`setjmp`, `longjmp` —
non-local jumps

# SYNOPSIS

`#include <machine/types.h>`
`#include <sys/systm.h>`

int
`setjmp`(label_t *label);

void
`longjmp`(label_t *label);

# DESCRIPTION

The `setjmp`() function saves its calling environment in label. It returns zero on success. The `longjmp`() function restores the environment saved by the most recent invocation of `setjmp`(). It returns so that kernel execution continues as if the corresponding invocation of the `setjmp`() had just returned.

`setjmp`() and `longjmp`() are a machine-independent interface for machine-dependent implementations.

These functions are primarily used by ddb(4).

# SEE ALSO

ddb(4)

May 23, 2002 | NetBSD 10.1