GETUSTACK(2) System Calls GETUSTACK(2)

NAME


getustack, setustack - retrieve or change the address of per-LWP stack
boundary information

SYNOPSIS


#include <ucontext.h>

int getustack(stack_t **spp);


int setustack(stack_t *sp);


DESCRIPTION


The getustack() function retrieves the address of per-LWP stack boundary
information. The address is stored at the location pointed to by spp. If
this address has not been defined using a previous call to setustack(),
NULL is stored at the location pointed to by spp.


The setustack() function changes the address of the current thread's
stack boundary information to the value of sp.

RETURN VALUES


Upon successful completion, these functions return 0. Otherwise, -1 is
returned and errno is set to indicate the error.

ERRORS


These functions will fail if:

EFAULT
The spp or sp argument does not refer to a valid address.


USAGE


Only implementors of custom threading libraries should use these
functions to get and set the address of the stack bound to an internal
per-thread data structure. Other users should use stack_getbounds(3C) and
stack_setbounds(3C).

ATTRIBUTES


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


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

SEE ALSO


_stack_grow(3C), stack_getbounds(3C), stack_inbounds(3C),
stack_setbounds(3C), stack_violation(3C), attributes(7)

November 2, 2004 GETUSTACK(2)