/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:38:14 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:21 _$11$DUA933:[BUILD.SDL]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $TEBDEF ***/ #ifndef __TEBDEF_LOADED #define __TEBDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif /* */ /* Thread Environment Block Definitions */ /* */ #define TEB$M_ASTACT 0x1 #define TEB$M_ASTEN 0x2 typedef struct _teb { unsigned int teb$l_flink; /* Forward queue link */ unsigned int teb$l_blink; /* Backward queue link */ unsigned short int teb$w_size; /* Size of TEB, in bytes */ unsigned char teb$b_type; /* Structure type code for TEB */ unsigned char teb$b_reserved_1; /* Reserved to DECthreads */ unsigned char teb$b_reserved_2 [4]; /* Reserved to DECthreads */ unsigned int teb$l_sequence; /* Thread sequence number */ unsigned int teb$l_reserved_3 [2]; /* Reserved to DECthreads */ unsigned int teb$l_per_kt_area; /* Address of per kernel thread area */ unsigned int teb$l_stack_base; /* Address of first usable byte in stack */ unsigned int teb$l_stack_reserve; /* Address of first byte in reserve area */ unsigned int teb$l_stack_yellow; /* Address of first byte in yellow area */ unsigned int teb$l_stack_guard; /* Address of first byte in guard area */ unsigned int teb$l_stack_size; /* Total stack allocation (green+reserve+yellow+red) */ unsigned int teb$l_tsd_values; /* Address of thread-specific data array */ unsigned int teb$l_tsd_count; /* Count of thread-specific data values */ unsigned int teb$l_cancel_flags; /* cancel flags */ unsigned int teb$l_cancel_count; /* CMA alert scope nesting count */ __union { unsigned int teb$l_thread_flags; /* thread flags */ __struct { unsigned teb$v_astact : 1; /* there's a user mode AST active */ unsigned teb$v_asten : 1; /* use mode ASTs are enabled */ unsigned teb$v_fill_11 : 6; } teb$r_fill_10; } teb$r_fill_9; } teb; #if !defined(__VAXC) && !defined(VAXC) #define teb$l_thread_flags teb$r_fill_9.teb$l_thread_flags #define teb$v_astact teb$r_fill_9.teb$r_fill_10.teb$v_astact #define teb$v_asten teb$r_fill_9.teb$r_fill_10.teb$v_asten #endif /* #if !defined(__VAXC) && !defined(VAXC) */ #define TEB$K_LENGTH 72 /* Length of TEB */ #define TEB$C_LENGTH 72 /* Length of TEB */ #ifdef __cplusplus } #endif #pragma standard #endif /* __TEBDEF_LOADED */