Manual browser: ucontext(2)

UCONTEXT(2) System Calls Manual UCONTEXT(2)


ucontextuser context


#include <ucontext.h>


The ucontext_t is a structure type which is used to describe the context of a thread of control within the execution of a process. A thread's context includes its stack, saved registers, and list of blocked signals.

The ucontext_t structure includes the following members:

ucontext_t *uc_link 
sigset_t    uc_sigmask 
stack_t     uc_stack 
mcontext_t  uc_mcontext

The uc_link member points to the context that will be resumed after the function specified when modifying a context using makecontext(3) has returned. If uc_link is a NULL pointer, then the context is the main context, and the process will exit with an exit status of 0 upon return.

The uc_sigmask member is the set of signals that are blocked when the context is activated. Further information can be found in sigprocmask(2).

The uc_stack member defines the stack used by the context. Further information can be found in sigaltstack(2).

The uc_mcontext member defines the machine state associated with the context; it may consist of general registers, floating point registers and other machine-specific information. Its description is beyond the scope of this manual page; portable applications should not access this structure member.


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.
April 29, 2010 NetBSD 7.0