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

  man pages->IRIX man pages -> makecontext (3c)              


makecontext(3C)						       makecontext(3C)

NAME    [Toc]    [Back]

     makecontext, swapcontext -	manipulate user	contexts

SYNOPSIS    [Toc]    [Back]

     #include <ucontext.h>

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

     int swapcontext (ucontext_t *oucp<b>,	ucontext_t *ucp<b>);

DESCRIPTION    [Toc]    [Back]

     These functions are useful	for implementing user-level context switching
     between multiple threads of control within	a process.

     makecontext modifies the context specified	by ucp,	which has been
     initialized using getcontext; when	this context is	resumed	using
     swapcontext or setcontext [see getcontext(2)], program execution
     continues by calling the function 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 integer value of argc must match the number of arguments that
     follow argc.  Otherwise the behavior is undefined.

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

     swapcontext saves the current context in the context structure pointed to
     by	oucp and sets the context to the context structure pointed to by ucp.

     These functions will fail if either of the	following is true:

     ENOMEM	    ucp	does not have enough stack left	to complete the

     EFAULT	    ucp	or oucp	points to an invalid address.

SEE ALSO    [Toc]    [Back]

     exit(2), getcontext(2), sigaction(2), sigprocmask(2), ucontext(5).

DIAGNOSTICS    [Toc]    [Back]

     On	successful completion, swapcontext return a value of zero.  Otherwise,
     a value of	-1 is returned and errno is set	to indicate the	error.

BUGS    [Toc]    [Back]

     Due to the	procedure calling conventions on the MIPS processor and
     restrictions of stdarg(5),	the arguments that follow the argc parameter
     for makecontext are restricted to longs and pointers only.

									Page 1

makecontext(3C)						       makecontext(3C)

     The size of the ucontext_t	structure may change in	future releases.  To
     remain binary compatible, users of	these features must always use
     makecontext or getcontext to create new instances of them.

									PPPPaaaaggggeeee 2222
[ 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