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