Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

swapcontext(2) [centos man page]

SWAPCONTEXT(2)						   Linux 2.6 Programmer's Guide 					    SWAPCONTEXT(2)

NAME
swapcontext - Swap out old context with new context SYNOPSIS
int sys_swapcontext (struct ucontext *old_ctx, struct ucontext *new_ctx, int r5, int r6, int r7, int r8, struct pt_regs *regs); DESCRIPTION
swapcontext swaps out context old_ctx with new context new_ctx. The int r# values have no place in the system call functionality. The regs value indicates the current user register values from the user stack. RETURN VALUE
swapcontext returns 0 on success; otherwise, swapcontext returns one of the errors listed in the "Errors" section. ERRORS
-EFAULT swapcontext could not verify that the memory area pointed to by old_ctx or new_ctx was accessible for the operation. -SIGSEGV A fault occurred when the context was being copied into the kernel's image of the user's registers. The should only occur in an out- of-memory situation. SEE ALSO
getcontext(2), sigaction(2), sigaltstack(2), sigprocmask(2) AUTHOR
Niki Rahimi Linux 2.6 2004-March-12 SWAPCONTEXT(2)

Check Out this Related Man Page

makecontext(2)							System Calls Manual						    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
Provides a pointer to a ucontext structure, defined in the <ucontext.h> header file. The ucontext structure contains the signal mask, exe- cution stack, and machine registers. (See ucontext(5) for more information about the format of the ucontext structure.) Specifies a func- tion to be called when program execution begins in the new context. Specifies the number of parameters passed to the func() function. You include the parameters themselves following the argc parameter. Pointer to the ucontext structure that holds the current context struc- ture. DESCRIPTION
The makecontext() function modifies the context specified by the ucp parameter. Before you call the makecontext() function, call the get- context() 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 ini- tialize 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: The ucp parameter has too lit- tle stack left to complete the operation. SEE ALSO
Functions: exit(2), getcontext(2), sigaction(2), sigprocmask(2) Files: ucontext(5) Standards: standards(5) makecontext(2)
Man Page