FreeBSD manual
download PDF document: ucontext.3.pdf
UCONTEXT(3) FreeBSD Library Functions Manual UCONTEXT(3)
NAME
ucontext - user thread context
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <ucontext.h>
DESCRIPTION
The ucontext_t type is a structure type suitable for holding the context
for a user thread of execution. A thread's context includes its stack,
saved registers, and list of blocked signals.
The ucontext_t structure contains at least these fields:
ucontext_t *uc_link context to assume when this one returns
sigset_t uc_sigmask signals being blocked
stack_t uc_stack stack area
mcontext_t uc_mcontext saved registers
The uc_link field points to the context to resume when this context's
entry point function returns. If uc_link is equal to NULL, then the
process exits when this context returns.
The uc_mcontext field is machine-dependent and should be treated as
opaque by portable applications.
The following functions are defined to manipulate ucontext_t structures:
int getcontext(ucontext_t *);
ucontext_t * getcontextx(void);
int setcontext(const ucontext_t *);
void makecontext(ucontext_t *, void (*)(void), int, ...);
int swapcontext(ucontext_t *, const ucontext_t *);
SEE ALSO
sigaltstack(2), getcontext(3), getcontextx(3), makecontext(3)
STANDARDS
The ucontext_t type conforms to X/Open System Interfaces and Headers
Issue 5 ("XSH5") and IEEE Std 1003.1-2001 ("POSIX.1"). The IEEE Std
1003.1-2008 ("POSIX.1") revision removed the ucontext_t from the
specification.
FreeBSD 14.0-RELEASE-p11 March 23, 2020 FreeBSD 14.0-RELEASE-p11