STACK_SETBOUNDS(3C) Standard C Library Functions STACK_SETBOUNDS(3C)

NAME


stack_setbounds - update stack boundaries

SYNOPSIS


#include <ucontext.h>

int stack_setbounds(const stack_t *sp);


DESCRIPTION


The stack_setbounds() function updates the current base and bounds of the
stack for the current thread to the bounds specified by the stack_t
structure pointed to by sp. The ss_sp member refers to the virtual
address of the base of the stack memory. The ss_size member refers to the
size of the stack in bytes. The ss_flags member must be set to 0.

RETURN VALUES


Upon successful completion, stack_setbounds() returns 0. Otherwise, -1 is
returned and errno is set to indicate the error.

ERRORS


The stack_setbounds() function will fail if:

EFAULT
The sp argument does not refer to a valid address or the ss_sp
member of the stack_t structure pointed to by sp points to an
illegal address.


EINVAL
The ss_sp member of the stack_t structure pointed to by sp is
not properly aligned, the ss_size member is too small or is not
properly aligned, or the ss_flags member is non-zero.


USAGE


The stack_setbounds() function is intended for use by applications that
are managing their own alternate stacks.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Evolving |
+--------------------+-------------------+
|MT-Level | Async-Signal-Safe |
+--------------------+-------------------+

SEE ALSO


getustack(2), _stack_grow(3C), stack_getbounds(3C), stack_inbounds(3C),
stack_violation(3C), attributes(7)

July 18, 2002 STACK_SETBOUNDS(3C)