|
|
HP-UX Reference > Mmakecontext(2)HP-UX 11i Version 2: December 2007 Update |
|
NAMEmakecontext(), swapcontext() — manipulate user contexts SYNOPSIS#include <ucontext.h> void makecontext(ucontext_t *ucp, (void *func)(), int argc, ...); int swapcontext(ucontext_t *oucp, const ucontext_t *ucp); DESCRIPTIONThe 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 VALUEOn successful completion, swapcontext() returns 0. Otherwise, -1 is returned and errno is set to indicate the error. WARNINGSContext 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:
|
|