User-Level Native Thread Primitives (GThread) Library White Paper (G06.27+, H06.03+, J06.03+)
User-Level Native Thread Primitives (GThread Library) 02/15/2012
540065-004 Page 12 of 44
GTS_DISCONTIGUOUS = 4: The swap area is not contiguous. (TNS and TNS/R only)
GTS_STATIC = 8: This a static thread. (GTS_STATIC was previously defined as 0.
The 0 value is therefore reserved for backwards compatibility.)
GTS_STATIC_RegPerCent(n) = (((n) & 0x7) << 8 )
This define specifies a percentage of Length to be used for the reg
stack on TNS/E and is not applicable to protected stacks. See
Section 3.6.2 for a discussion of this option.
GTS_PROTECTED = 16: This is a static thread with a protected stack.
GTS_ARG_64 = 128: This specifies that a TNS/E application is passing an array of 64-
bit wide arguments through the Arglist parameter. If the
GTS_ARG_64 flag option is not specified, then the Arglist
parameter is treated as an array of 32-bit arguments. On a TNS/E
platform, each 32-bit parameter is sign-extended into a 64-bit
register. If the GTS_ARG_64 flag option is specified, then the
Arglist is treated as an array of 64-bit arguments.
The following defines interpret or set GThread_CB.SwapArea:
GTHREAD_STATIC(CB) reports true (nonzero) for a static thread.
GTHREAD_SWAPAREA_VALID(CB) reports true for swapped thread with contiguous swap area.
GTHREAD_SWAPAREA_INVALIDATE(CB) marks the thread as having no valid swap area. This
state can be applied to the Main CB used only as unthreaded context or (on TNS or TNS/R
only) to indicate the swap area is discontiguous.
The following literals can be passed into GThread API’s:
GTH_NULL_PROCADDR is the null value for passing to GTHREAD_SETJMP_ or
GTHREAD_LONGJMP_ in lieu of the address of a procedure to call.
GTHREAD_DEFAULT_VALUE can be passed to the GTHREAD_ORIGIN_SET_MOD_ function.