#include <ucontext.h> int stack_getbounds(stack_t *sp);
The stack_getbounds() function retrieves the stack boundaries that the calling thread is currently operating on. If the thread is currently operating on the alternate signal stack, this function will retrieve the bounds of that stack.
If successful, stack_getbounds() sets the ss_sp member of the stack_t structure pointed to by sp to the base of the stack region and the ss_size member to its size (maximum extent) in bytes. The ss_flags member is set to SS_ONSTACK if the calling thread is executing on its alternate signal stack, and zero otherwise.
Upon successful completion, stack_getbounds() returns 0. Otherwise, −1 is returned and errno is set to indicate the error.
The stack_getbounds() function will fail if:
The sp argument does not refer to a valid address.
See attributes(5) for descriptions of the following attributes: