/* // Note: This header is use by both the CC compiler and the IA64 // assembler (via the CC preprocessor which creates the // IA64 assembler source file). // // The CC portion of this header starts at the comment line // 'CC header begins here'. // // ----------------------------------------------------------------------------- */ #ifdef IAS_ASSEMBLER /* IA64 assembler header begins here */ /* ************************************************************************* */ /* * * */ /* * HP CONFIDENTIAL. This software is confidential proprietary software * */ /* * licensed by Hewlett-Packard Development Company, L.P., and is not * */ /* * authorized to be used, duplicated OR disclosed to anyone without the * */ /* * prior written permission of HP. * */ /* * © 2021 Copyright Hewlett-Packard Development Company, L.P. * */ /* * * */ /* * VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential * */ /* * proprietary software licensed by VMS Software, Inc., and is not * */ /* * authorized to be used, duplicated or disclosed to anyone without * */ /* * the prior written permission of VMS Software, Inc. * */ /* * © 2021 Copyright VMS Software, Inc. * */ /* * * */ /* ************************************************************************* */ /* ******************************************************************************************************************************** */ /* Created: 9-Mar-2021 22:28:12 by OpenVMS SDL EV3-3 */ /* Source: 16-MAR-2005 11:40:59 $1$DGA8085:[STARLET_H.SRC]TEBDEF.SDL;1 */ /* ******************************************************************************************************************************** */ /* .MACRO $TEBDEF,$GBL */ /* $DEFINI TEB,$GBL */ /* */ /* Thread Environment Block Definitions */ /* */ /* .SYMBOL_ALIGNMENT QUAD */ #define TEB$M_ASTACT 0x1 #define TEB$M_ASTEN 0x2 #define TEB$S_TEB 184 #define TEB$S_FLINK 8 #define TEB$PQ_FLINK 0 /* Forward queue link */ #define TEB$S_BLINK 8 #define TEB$PQ_BLINK 8 /* Backward queue link */ #define TEB$W_SIZE 16 /* Size of TEB, in bytes */ #define TEB$B_VERSION 18 /* Version number for TEB */ #define TEB$B_TYPE 19 /* Structure type code for TEB */ #define TEB$S_reserved_2 4 #define TEB$b_reserved_2 20 /* Reserved to DECthreads */ #define TEB$S_SEQUENCE 8 #define TEB$Q_SEQUENCE 24 /* Thread sequence number */ #define TEB$S_reserved_3 16 #define TEB$q_reserved_3 32 /* Reserved to DECthreads */ #define TEB$S_PER_KT_AREA 8 #define TEB$PQ_PER_KT_AREA 48 /* Address of per kernel thread area */ #define TEB$S_STACK_BASE 8 #define TEB$PQ_STACK_BASE 56 /* Address of first usable byte in stack */ #define TEB$S_STACK_RESERVE 8 #define TEB$PQ_STACK_RESERVE 64 /* Address of first byte in reserve area */ #define TEB$S_STACK_YELLOW 8 #define TEB$PQ_STACK_YELLOW 72 /* Address of first byte in yellow area */ #define TEB$S_STACK_GUARD 8 #define TEB$PQ_STACK_GUARD 80 /* Address of first byte in guard area */ #define TEB$S_STACK_SIZE 8 #define TEB$Q_STACK_SIZE 88 /* Total stack allocation (green+reserve+yellow+red) */ #define TEB$S_TSD_VALUES 8 #define TEB$PQ_TSD_VALUES 96 /* Address of thread-specific data array */ #define TEB$L_TSD_COUNT 104 /* Count of thread-specific data values */ #define TEB$L_CANCEL_FLAGS 108 /* cancel flags */ #define TEB$L_CANCEL_COUNT 112 /* CMA alert scope nesting count */ #define TEB$L_THREAD_FLAGS 116 /* thread flags */ #define TEB$V_ASTACT 0 /* there's a user mode AST active */ #define TEB$V_ASTEN 1 /* use mode ASTs are enabled */ #define TEB$L_THD_ERRNO 120 /* Per-thread errno value */ #define TEB$l_reserved_4 124 /* Reserved to DECthreads */ #define TEB$S_STACK_HIWATER 8 #define TEB$PQ_STACK_HIWATER 128 /* Lowest known SP address */ #define TEB$L_HOME_RAD 136 /* Thread's home RAD */ #define TEB$L_RAD_SAFE 140 /* Scratch: written by Tru64 UNIX */ #define TEB$S_REG_STACK_BASE 8 #define TEB$PQ_REG_STACK_BASE 144 /* Current regstack base */ #define TEB$S_REG_STACK_YELLOW 8 #define TEB$PQ_REG_STACK_YELLOW 152 /* Current regstack yellow zone */ #define TEB$S_REG_STACK_GUARD 8 #define TEB$PQ_REG_STACK_GUARD 160 /* Current regstack guard zone */ #define TEB$S_REG_STACK_SIZE 8 #define TEB$PQ_REG_STACK_SIZE 168 /* Size of regstack */ #define TEB$S_REG_STACK_HIWATER 8 #define TEB$PQ_REG_STACK_HIWATER 176 /* Highest known bsp */ #define TEB$K_LENGTH 184 /* Length of TEB */ #define TEB$C_LENGTH 184 /* Length of TEB */ #define TEB$C_TSD_KEY_SSPI 1 /* TSD key value reserved for SSPI */ /* .SYMBOL_ALIGNMENT NONE */ /* $DEFEND TEB,$GBL,DEF */ /* .ENDM */ /* IA64 assembler header ends here */ #else /* IAS_ASSEMBLER */ /* CC header begins here */ /********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:06 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $TEBDEF ***/ #ifndef __TEBDEF_LOADED #define __TEBDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* Thread Environment Block Definitions */ /* */ #define TEB$M_ASTACT 0x1 #define TEB$M_ASTEN 0x2 #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _teb { #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _teb *teb$pq_flink; /* Forward queue link */ #else unsigned __int64 teb$pq_flink; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _teb *teb$pq_blink; /* Backward queue link */ #else unsigned __int64 teb$pq_blink; #endif unsigned short int teb$w_size; /* Size of TEB, in bytes */ unsigned char teb$b_version; /* Version number for TEB */ unsigned char teb$b_type; /* Structure type code for TEB */ unsigned char teb$b_reserved_2 [4]; /* Reserved to DECthreads */ unsigned __int64 teb$q_sequence; /* Thread sequence number */ unsigned __int64 teb$q_reserved_3 [2]; /* Reserved to DECthreads */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_per_kt_area; /* Address of per kernel thread area */ #else unsigned __int64 teb$pq_per_kt_area; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_stack_base; /* Address of first usable byte in stack */ #else unsigned __int64 teb$pq_stack_base; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_stack_reserve; /* Address of first byte in reserve area */ #else unsigned __int64 teb$pq_stack_reserve; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_stack_yellow; /* Address of first byte in yellow area */ #else unsigned __int64 teb$pq_stack_yellow; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_stack_guard; /* Address of first byte in guard area */ #else unsigned __int64 teb$pq_stack_guard; #endif unsigned __int64 teb$q_stack_size; /* Total stack allocation (green+reserve+yellow+red) */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void (*(*teb$pq_tsd_values)); /* Address of thread-specific data array */ #else unsigned __int64 teb$pq_tsd_values; #endif 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_29_ : 6; } teb$r_fill_28_; } teb$r_fill_27_; int teb$l_thd_errno; /* Per-thread errno value */ int teb$l_reserved_4; /* Reserved to DECthreads */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_stack_hiwater; /* Lowest known SP address */ #else unsigned __int64 teb$pq_stack_hiwater; #endif int teb$l_home_rad; /* Thread's home RAD */ int teb$l_rad_safe; /* Scratch: written by Tru64 UNIX */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_reg_stack_base; /* Current regstack base */ #else unsigned __int64 teb$pq_reg_stack_base; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_reg_stack_yellow; /* Current regstack yellow zone */ #else unsigned __int64 teb$pq_reg_stack_yellow; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_reg_stack_guard; /* Current regstack guard zone */ #else unsigned __int64 teb$pq_reg_stack_guard; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_reg_stack_size; /* Size of regstack */ #else unsigned __int64 teb$pq_reg_stack_size; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *teb$pq_reg_stack_hiwater; /* Highest known bsp */ #else unsigned __int64 teb$pq_reg_stack_hiwater; #endif } TEB; #if !defined(__VAXC) #define teb$l_thread_flags teb$r_fill_27_.teb$l_thread_flags #define teb$v_astact teb$r_fill_27_.teb$r_fill_28_.teb$v_astact #define teb$v_asten teb$r_fill_27_.teb$r_fill_28_.teb$v_asten #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _teb { #pragma __nomember_alignment unsigned __int64 teb$pq_flink; /* Forward queue link */ unsigned __int64 teb$pq_blink; /* Backward queue link */ unsigned short int teb$w_size; /* Size of TEB, in bytes */ unsigned char teb$b_version; /* Version number for TEB */ unsigned char teb$b_type; /* Structure type code for TEB */ unsigned char teb$b_reserved_2 [4]; /* Reserved to DECthreads */ unsigned int teb$q_sequence [2]; /* Thread sequence number */ unsigned int teb$q_reserved_3 [2] [2]; /* Reserved to DECthreads */ unsigned __int64 teb$pq_per_kt_area; /* Address of per kernel thread area */ unsigned __int64 teb$pq_stack_base; /* Address of first usable byte in stack */ unsigned __int64 teb$pq_stack_reserve; /* Address of first byte in reserve area */ unsigned __int64 teb$pq_stack_yellow; /* Address of first byte in yellow area */ unsigned __int64 teb$pq_stack_guard; /* Address of first byte in guard area */ unsigned int teb$q_stack_size [2]; /* Total stack allocation (green+reserve+yellow+red) */ unsigned __int64 teb$pq_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_29_ : 6; } teb$r_fill_28_; } teb$r_fill_27_; int teb$l_thd_errno; /* Per-thread errno value */ int teb$l_reserved_4; /* Reserved to DECthreads */ unsigned __int64 teb$pq_stack_hiwater; /* Lowest known SP address */ int teb$l_home_rad; /* Thread's home RAD */ int teb$l_rad_safe; /* Scratch: written by Tru64 UNIX */ unsigned __int64 teb$pq_reg_stack_base; /* Current regstack base */ unsigned __int64 teb$pq_reg_stack_yellow; /* Current regstack yellow zone */ unsigned __int64 teb$pq_reg_stack_guard; /* Current regstack guard zone */ unsigned __int64 teb$pq_reg_stack_size; /* Size of regstack */ unsigned __int64 teb$pq_reg_stack_hiwater; /* Highest known bsp */ } teb; #if !defined(__VAXC) #define teb$l_thread_flags teb$r_fill_27_.teb$l_thread_flags #define teb$v_astact teb$r_fill_27_.teb$r_fill_28_.teb$v_astact #define teb$v_asten teb$r_fill_27_.teb$r_fill_28_.teb$v_asten #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #define TEB$K_LENGTH 184 /* Length of TEB */ #define TEB$C_LENGTH 184 /* Length of TEB */ #define TEB$C_TSD_KEY_SSPI 1 /* TSD key value reserved for SSPI */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __TEBDEF_LOADED */ /* CC header ends here */ #endif /* IAS_ASSEMBLER */