Documentation Archive Developer
ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages


This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).

UCONTEXT(3)              BSD Library Functions Manual              UCONTEXT(3)

     ucontext -- user thread context

     Standard C Library (libc, -lc)

     #include <ucontext.h>

     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 (*)(void), int, ...);
        int swapcontext(ucontext_t *, const ucontext_t *);

     sigaltstack(2), getcontext(3), makecontext(3)

BSD                           September 10, 2002                           BSD