GETUSTACK(2) System Calls GETUSTACK(2)

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

#include <ucontext.h>
int getustack(stack_t **spp);

int setustack(stack_t *sp);

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.

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

These functions will fail if:

EFAULT

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

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).

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

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

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

November 2, 2004 OmniOS