| PTHREAD_ATTR_GETSTACK(3) | Library Functions Manual | PTHREAD_ATTR_GETSTACK(3) | 
pthread_attr_getstack,
  pthread_attr_setstack,
  pthread_attr_getstacksize,
  pthread_attr_setstacksize,
  pthread_attr_getstackaddr,
  pthread_attr_setstackaddr —
#include <pthread.h>
int
  
  pthread_attr_getstack(const
    pthread_attr_t * restrict attr,
    void ** restrict
    stackaddr, size_t *
    restrict stacksize);
int
  
  pthread_attr_setstack(pthread_attr_t
    * restrict attr, void
    *stackaddr, size_t
    stacksize);
int
  
  pthread_attr_getstacksize(const
    pthread_attr_t * restrict attr,
    size_t * restrict
    stacksize);
int
  
  pthread_attr_setstacksize(pthread_attr_t
    *attr, size_t
    stacksize);
int
  
  pthread_attr_getstackaddr(const
    pthread_attr_t * restrict attr,
    void ** restrict
    stackaddr);
int
  
  pthread_attr_setstackaddr(pthread_attr_t
    *attr, void
    *stackaddr);
pthread_attr_getstack() and
  pthread_attr_setstack() functions get and set,
  respectively, the thread stack attributes stackaddr and
  stacksize in the attr object. The
  remaining four functions behave similarly, but instead of getting or setting
  both stackaddr and stacksize,
  these get and set the values individually.
The stacksize parameter is defined to be the minimum stack size (in bytes) allocated for the thread's stack during the creation of the thread. The stackaddr attribute specifies the location of storage to be used for the thread's stack. All pages within the stack described by stackaddr and stacksize should be both readable and writable by the thread.
The behavior is undefined in all functions if the
    attr parameter does not refer to an attribute object
    initialized by using
    pthread_attr_init(3)
    prior to the call. In addition, undefined behavior may follow if the
    pthread_attr_getstack() function is called before
    the stackaddr attribute has been set.
ENOMEM]The pthread_attr_setstacksize() function
    may additionally fail if:
EINVAL]PTHREAD_STACK_MIN or exceeds some system-imposed
      limit.pthread_attr_getstackaddr() and
  pthread_attr_setstackaddr() were however removed from
  the specification in the IEEE Std 1003.1-2008
  (“POSIX.1”) revision.
| July 9, 2010 | NetBSD 9.4 |