unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 makecontext(2)						      makecontext(2)




 NAME
      makecontext, swapcontext - manipulate user contexts

 SYNOPSIS
      #include <&lt&lt&lt;ucontext.h>&gt&gt&gt;

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

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

 DESCRIPTION
      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
      makecontext().

      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
      On successful completion, swapcontext() returns 0. Otherwise, -1 is
      returned and errno is set to indicate the error.

 WARNINGS
      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
	 broken.

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



 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 makecontext(2)						      makecontext(2)




 ERRORS
      The makecontext() and swapcontext() functions will fail if:

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

 SEE ALSO
      exit(2), getcontext(2), sigaction(2), sigprocmask(2), <ucontext.h>.

 CHANGE HISTORY
      First released in Issue 4, Version 2.











































 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000