 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Bottom of page |
|
makecontext(2)
NAME
makecontext, swapcontext - Manipulate user level context switching
SYNOPSIS
#include <ucontext.h>
void makecontext(
ucontext_t *ucp,
void (*func)(),
int argc ... );
int swapcontext(
ucontext_t *oucp,
const ucontext_t *ucp );
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
makecontext(), swapcontext(): XSH5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
ucp Provides a pointer to a ucontext structure, defined in the <ucontext.h>
header file. The ucontext structure contains the signal mask,
execution stack, and machine registers. (See ucontext(5) for more
information about the format of the ucontext structure.)
func
Specifies a function to be called when program execution begins in the
new context.
argc
Specifies the number of parameters passed to the func() function. You
include the parameters themselves following the argc parameter.
oucp
Pointer to the ucontext structure that holds the current context
structure.
DESCRIPTION
The makecontext() function modifies the context specified by the ucp
parameter. Before you call the makecontext() function, call the
getcontext() function to initialize the ucp parameter.
Before you call the makecontext() function, you should allocate a stack for
the new context. Also, you should initialize the uc_link member of the
ucontext structure. This member determines the context that is resumed
when the context modified by makecontext() returns. You initialize the
uc_link member by calling the getcontext() function.
To execute the new context, call the setcontext() or swapcontext()
function. Program execution begins by calling the function specified in the
func parameter. Any parameters you specify following the argc parameter
are passed to the func() function.
The swapcontext() function switches between two user contexts. The function
stores the current context in the oucp parameter. It then switches
execution to the context described by the ucp parameter. When the new
context finishes execution, control returns to the context described by the
oucp parameter.
RETURN VALUES
The makecontext() function does not return.
On success, the swapcontext() function returns 0 (zero). On failure the
swapcontext() function returns a value of -1 and sets errno to indicate the
error.
ERRORS
The makecontext() or swapcontext() functions set errno to the specified
values for the following conditions:
[ENOMEM]
The ucp parameter has too little stack left to complete the operation.
SEE ALSO
Functions: exit(2), getcontext(2), sigaction(2), sigprocmask(2)
Files: ucontext(5)
Standards: standards(5)
 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|