NAME
	  sigstack - Sets and gets signal stack	context

     SYNOPSIS
	  #include <signal.h>
	  int sigstack (
	       struct sigstack *instack,
	       struct sigstack *outstack );

     PARAMETERS
	  instack
	       Specifies the stack pointer of the new signal stack.

	       If the value of the instack parameter is	nonzero, it
	       points to a sigstack() structure, which has the follow-
	       ing members:

		    struct sigstack{
			 caddr_t   ss_sp;
			 int ss_onstack;
		    }

	       The value of instack->ss_sp specifies the stack pointer
	       of the new signal stack.	The value of instack-
	       >ss_onstack should be set to 1 if the process is
	       currently running on that stack;	otherwise, it should
	       be 0 (zero).

	       If the value of the instack parameter is	0 (that	is, a
	       null pointer), the signal stack state is	not set.

	  outstack
	       Points to the structure where the current signal	stack
	       state is	stored.	 If the	value of the outstack parame-
	       ter is nonzero, it points to a sigstack() structure
	       into which the sigstack() function stores the current
	       signal stack state.  If the value of the	outstack
	       parameter is 0 (zero), the previous signal stack	state
	       is not reported.

     DESCRIPTION
	  The sigstack() function defines an alternate stack on	which
	  signals are to be processed.

	  When a signal	occurs and its handler is to run on the	signal
	  stack, the system checks to see if the process is already
	  running on that stack.  If so, the process continues to run
	  even after the handler returns. If not, the signal handler
	  runs on the signal stack, and	the original stack is restored
	  when the handler returns.

	  Use the sigaction() function to specify whether a given
	  signal handler routine is to run on the signal stack.

     CAUTION
	  A signal stack does not automatically	increase in size as a
	  normal stack does. If	the stack overflows, unpredictable
	  results can occur.

     RETURN VALUES
	  Upon successful completion, a	value of 0 (zero) is returned.
	  Otherwise, a value of	-1 is returned and errno is set	to
	  indicate the error.

     ERRORS
	  If the sigstack() function fails, errno may be set to	the
	  following value:

	  [EFAULT]  The	instack	or outstack parameter points outside
		    of the address space of the	process.

     RELATED INFORMATION
	  Functions: setjmp(3),	sigaction(2), sigvec(2)































Acknowledgement and Disclaimer