NAME
ucontext
—
user thread context
LIBRARY
library “libc”
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 *); - int
setcontext
(const ucontext_t *); - void
makecontext
(ucontext_t *, void (*func)(void), int, ...); - int
swapcontext
(ucontext_t *, const ucontext_t *); - void
makecontext_quick
(ucontext_t *); - void
setcontext_quick
(ucontext_t *); - void
swapcontext_quick
(ucontext_t *, ucontex_t *);
SEE ALSO
sigaltstack(2), getcontext(3), makecontext(3), makecontext_quick(3), setcontext(3), setcontext_quick(3), swapcontext_quick(3)