The ucontext structure defines the context of a thread of control within an executing process.
This structure includes at least the following members:
ucontext_t uc_link sigset_t uc_sigmask stack_t uc_stack mcontext_t uc_mcontext
uc_link is a pointer to the context that to be resumed when this context returns. If uc_link is equal to 0, then this context is the main context, and the process exits when this context returns.
uc_sigmask defines the set of signals that are blocked when this context is active [see sigprocmask(2)].
uc_stack defines the stack used by this context [see sigaltstack(2)].
uc_mcontext contains the saved set of machine registers and any implementation specific context data. Portable applications should not modify or access uc_mcontext.