*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> swapcontext (2)              


 makecontext(2)                                               makecontext(2)

 NAME    [Toc]    [Back]
      makecontext, swapcontext - manipulate user contexts

 SYNOPSIS    [Toc]    [Back]
      #include <ucontext.h>

      void makecontext(ucontext_t *ucp, (void *func)(), int argc, ...);

      int swapcontext(ucontext_t *oucp, const ucontext_t *ucp);

 DESCRIPTION    [Toc]    [Back]
      The makecontext() function modifies the context specified by ucp,
      which has been initialized using getcontext().  When this context is
      resumed using swapcontext() or setcontext(), program execution
      continues by calling func(), passing it the arguments that follow argc
      in the makecontext() call.

      Before a call is made to makecontext(), the context being modified
      should have a stack allocated for it.  The value of argc must match
      the number of integer arguments passed to func(), otherwise the
      behavior is undefined.

      The uc_link member is used to determine the context that will be
      resumed when the context being modified by makecontext() returns. The
      uc_link member should be initialized prior to the call to

      The swapcontext() function saves the current context in the context
      structure pointed to by oucp and sets the context to the context
      structure pointed to by ucp.

 RETURN VALUE    [Toc]    [Back]
      On successful completion, swapcontext() returns 0. Otherwise, -1 is
      returned and errno is set to indicate the error.

 WARNINGS    [Toc]    [Back]
      Context APIs are not recommended due to possible compatibility
      problems from release to release, because context APIs are very
      architecture-specific.  The context APIs "expose" the architecture to
      the application, such that the application may not be compatible with
      all releases.

      If you must use context APIs, be aware of the following:

      +  Do not copy the context yourself.  It is not contiguous.  The
         context may have pointers that may point back to the original
         context rather than in the copied context; hence, it will be

      +  The size of the context will vary in length from release to

 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003

 makecontext(2)                                               makecontext(2)

 ERRORS    [Toc]    [Back]
      The makecontext() and swapcontext() functions will fail if:

           [ENOMEM]                 The ucp argument does not have enough
                                    stack left to complete the operation.

 SEE ALSO    [Toc]    [Back]
      exit(2), getcontext(2), sigaction(2), sigprocmask(2), <ucontext.h>.

 CHANGE HISTORY    [Toc]    [Back]
      First released in Issue 4, Version 2.

 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003
[ Back ]
 Similar pages
Name OS Title
swapcontext FreeBSD modify and exchange user thread contexts
makecontext FreeBSD modify and exchange user thread contexts
gss_add_cred Tru64 Obtain credentials that allow a user to accept security contexts.
glcgetallcontexts IRIX return an array of GLC contexts
makecontext Tru64 Manipulate user level context switching
swapcontext Tru64 Manipulate user level context switching
tt_message_contexts_count HP-UX return the number of contexts in a message
attr_multi IRIX manipulate multiple user attributes on a filesystem object at once
getgc IRIX maintain database of read-only graphics contexts
ttyslot Tru64 Find the slot for the current user in the user accounting database
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service