%IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX HFLOAT REAL_PART HFLOAT IMAGINARY_PART END RECORD %LET %BASIC$H_FLOATING_COMPLEX_DECL = 1 %END %IF ! ! Thread Environment Block Definitions ! DECLARE LONG CONSTANT TEB$M_ASTACT = x'00000001' DECLARE LONG CONSTANT TEB$M_ASTEN = x'00000002' DECLARE LONG CONSTANT TEB$S_TEB = 72 record TEB LONG TEB$L_FLINK ! Forward queue link LONG TEB$L_BLINK ! Backward queue link WORD 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 to 4 ) ! Reserved to DECthreads LONG TEB$L_SEQUENCE ! Thread sequence number LONG TEB$l_reserved_3 ( 1 to 2 ) ! Reserved to DECthreads LONG TEB$L_PER_KT_AREA ! Address of per kernel thread area LONG TEB$L_STACK_BASE ! Address of first usable byte in stack LONG TEB$L_STACK_RESERVE ! Address of first byte in reserve area LONG TEB$L_STACK_YELLOW ! Address of first byte in yellow area LONG TEB$L_STACK_GUARD ! Address of first byte in guard area LONG TEB$L_STACK_SIZE ! Total stack allocation ( green+reserve+yellow+red ) LONG TEB$L_TSD_VALUES ! Address of thread-specific data array LONG TEB$L_TSD_COUNT ! Count of thread-specific data values LONG TEB$L_CANCEL_FLAGS ! cancel flags LONG TEB$L_CANCEL_COUNT ! CMA alert scope nesting count group TEB$r_fill_9 variant case LONG TEB$L_THREAD_FLAGS ! thread flags case group TEB$r_fill_10 ! there's a user mode AST active ! use mode ASTs are enabled BYTE ASTACT_bits ! COMMENT ADDED BY SDL - ASTACT_bits contains bits ASTACT through fill_11 end group TEB$r_fill_10 end variant end group TEB$r_fill_9 end record TEB DECLARE LONG CONSTANT TEB$K_LENGTH = 72 ! Length of TEB DECLARE LONG CONSTANT TEB$C_LENGTH = 72 ! Length of TEB