UCONTEXT(3)

NAME
ucontext - user thread context

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)