unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



makecontext(2)						       makecontext(2)



NAME

  makecontext, swapcontext - Manipulate	user level context switching

SYNOPSIS

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


  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 indus-
  try standards	and associated tags.

PARAMETERS

  ucp Provides a pointer to a ucontext structure, defined in the <&lt;ucontext.h>&gt;
      header file.  The	ucontext structure contains the	signal mask, execu-
      tion stack, and machine registers. (See ucontext(5) for more informa-
      tion 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 struc-
      ture.








DESCRIPTION

  The makecontext() function modifies the context specified by the ucp param-
  eter.	 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() func-
  tion.	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 execu-
  tion 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)