!*** MODULE $TEBDEF *** CDEC$ OPTIONS /NOALIGN ! ! Thread Environment Block Definitions ! PARAMETER TEB$M_ASTACT = '00000001'X PARAMETER TEB$M_ASTEN = '00000002'X STRUCTURE /TEB/ INTEGER*4 TEB$L_FLINK ! Forward queue link INTEGER*4 TEB$L_BLINK ! Backward queue link INTEGER*2 TEB$W_SIZE ! Size of TEB, in bytes BYTE TEB$B_TYPE ! Structure type code for TEB BYTE TEB$b_reserved_1 ! Reserved to DECthreads BYTE TEB$b_reserved_2(1:4) ! Reserved to DECthreads INTEGER*4 TEB$L_SEQUENCE ! Thread sequence number INTEGER*4 TEB$l_reserved_3(1:2) ! Reserved to DECthreads INTEGER*4 TEB$L_PER_KT_AREA ! Address of per kernel thread area INTEGER*4 TEB$L_STACK_BASE ! Address of first usable byte in stack INTEGER*4 TEB$L_STACK_RESERVE ! Address of first byte in reserve area INTEGER*4 TEB$L_STACK_YELLOW ! Address of first byte in yellow area INTEGER*4 TEB$L_STACK_GUARD ! Address of first byte in guard area INTEGER*4 TEB$L_STACK_SIZE ! Total stack allocation (green+reserve+yellow+red) INTEGER*4 TEB$L_TSD_VALUES ! Address of thread-specific data array INTEGER*4 TEB$L_TSD_COUNT ! Count of thread-specific data values INTEGER*4 TEB$L_CANCEL_FLAGS ! cancel flags INTEGER*4 TEB$L_CANCEL_COUNT ! CMA alert scope nesting count UNION MAP INTEGER*4 TEB$L_THREAD_FLAGS ! thread flags END MAP MAP PARAMETER TEB$S_ASTACT = 1 PARAMETER TEB$V_ASTACT = 0 ! there's a user mode AST active PARAMETER TEB$S_ASTEN = 1 PARAMETER TEB$V_ASTEN = 1 ! use mode ASTs are enabled BYTE %FILL (1) END MAP END UNION END STRUCTURE ! TEB PARAMETER TEB$K_LENGTH = '00000048'X ! Length of TEB PARAMETER TEB$C_LENGTH = '00000048'X ! Length of TEB CDEC$ END OPTIONS