/********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:07:13 by OpenVMS SDL V3.7 */ /* Source: 09-NOV-2023 12:07:10 $1$DGA8345:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $CHFDEF ***/ #ifndef __CHFDEF_LOADED #define __CHFDEF_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 /* */ /* CONDITION HANDLING ARGUMENT LIST OFFSETS */ /* THERE ARE FOUR CONDITIONAL HANDLING STRUCTURES: THE PRIMARY ARGUMENT */ /* LIST, THE SIGNAL AND MECHANISM ARRAYS AND THE ALPHA EXCEPTION RECORD */ /* ALL ARE IDENTIFIED BY THE SAME BLOCK PREFIX. */ /* */ #ifdef __NEW_STARLET struct _chfdef1; struct _chfdef2; struct _chfdef6; #else struct chfdef1; struct chfdef2; struct chfdef6; #endif #ifdef __cplusplus /* Define structure prototypes */ struct _chfdef1; struct _chfdef2; #endif /* #ifdef __cplusplus */ #ifdef __NEW_STARLET typedef struct _chfdef { struct _chfdef1 *chf$l_sigarglst; /*ADDRESS OF SIGNAL ARGUMENTS ~~~ struct chfdef1 ~~~ */ int chfdef$$_fill_1; /* Upper 32 bits of PACKed structure */ struct _chfdef2 *chf$l_mcharglst; /*ADDRESS OF MECHANISM ARGUMENTS ~~~ struct chfdef2 ~~~ */ } CHFDEF; #else /* __OLD_STARLET */ struct chfdef { struct chfdef1 *chf$l_sigarglst; /*ADDRESS OF SIGNAL ARGUMENTS */ int chfdef$$_fill_1; /* Upper 32 bits of PACKed structure */ struct chfdef2 *chf$l_mcharglst; /*ADDRESS OF MECHANISM ARGUMENTS */ } ; #endif /* #ifdef __NEW_STARLET */ #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _chfdef1 { #pragma __nomember_alignment __union { int chf$is_sig_args; /*NUMBER OF SIGNAL ARGUMENTS */ int chf$l_sig_args; /*obsolete def */ } chf$r_sig_args_desc; __union { int chf$is_sig_name; /*SIGNAL NAME */ int chf$l_sig_name; /*obsolete def */ } chf$r_sig_name_desc; __union { int chf$is_sig_arg1; /*FIRST SIGNAL SPECIFIC ARGUMENT */ int chf$l_sig_arg1; /*obsolete def */ } chf$r_sig_arg1_desc; } CHFDEF1; #if !defined(__VAXC) #define chf$is_sig_args chf$r_sig_args_desc.chf$is_sig_args #define chf$l_sig_args chf$r_sig_args_desc.chf$l_sig_args #define chf$is_sig_name chf$r_sig_name_desc.chf$is_sig_name #define chf$l_sig_name chf$r_sig_name_desc.chf$l_sig_name #define chf$is_sig_arg1 chf$r_sig_arg1_desc.chf$is_sig_arg1 #define chf$l_sig_arg1 chf$r_sig_arg1_desc.chf$l_sig_arg1 #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif struct chfdef1 { #pragma __nomember_alignment __union { int chf$is_sig_args; /*NUMBER OF SIGNAL ARGUMENTS */ int chf$l_sig_args; /*obsolete def */ } chf$r_sig_args_desc; __union { int chf$is_sig_name; /*SIGNAL NAME */ int chf$l_sig_name; /*obsolete def */ } chf$r_sig_name_desc; __union { int chf$is_sig_arg1; /*FIRST SIGNAL SPECIFIC ARGUMENT */ int chf$l_sig_arg1; /*obsolete def */ } chf$r_sig_arg1_desc; } ; #if !defined(__VAXC) #define chf$is_sig_args chf$r_sig_args_desc.chf$is_sig_args #define chf$l_sig_args chf$r_sig_args_desc.chf$l_sig_args #define chf$is_sig_name chf$r_sig_name_desc.chf$is_sig_name #define chf$l_sig_name chf$r_sig_name_desc.chf$l_sig_name #define chf$is_sig_arg1 chf$r_sig_arg1_desc.chf$is_sig_arg1 #define chf$l_sig_arg1 chf$r_sig_arg1_desc.chf$l_sig_arg1 #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #define CHF$M_FPREGS_VALID 0x1 #define CHF$M_FPREGS2_VALID 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 _chfdef2 { #pragma __nomember_alignment __union { __int64 chf$q_mch_args; __struct { int chf$is_mch_args; __union { int chf$is_mch_flags; /*Flags */ __struct { /*Flags bits. */ unsigned chf$v_fpregs_valid : 1; /*FP registers stored in MCH. */ unsigned chf$v_fpregs2_valid : 1; unsigned chf$v_fill_71_ : 6; } chf$r_mch_flags_bits; } chf$r_mch_flags_desc; } chf$r_mch_args_desc2; } chf$r_mch_args_desc1; __int64 chf$q_mch_frame; __union { __int64 chf$q_mch_depth; __struct { /*2 longwords which are part of MCH_DEPTH */ int chf$is_mch_depth; /*FRAME DEPTH OF ESTABLISHER */ int chf$is_mch_resvd1; /*reserved, paired with DEPTH */ } chf$r_mch_depth_field; } chf$r_mch_depth_desc; __int64 chf$q_mch_daddr; __int64 chf$q_mch_esf_addr; __int64 chf$q_mch_sig_addr; __union { __int64 chf$q_mch_savr0; __int64 chf$q_mch_retval; __int64 chf$ih_mch_retval; } chf$r_retval; __union { __int64 chf$q_mch_savr1; __int64 chf$q_mch_retval2; __int64 chf$ih_mch_retval2; } chf$r_retval2; #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 *chf$ph_mch_sig64_addr; /*64-bit sig array ptr */ #else unsigned __int64 chf$ph_mch_sig64_addr; #endif __union { __int64 chf$q_mch_savxmm0; __int64 chf$fh_mch_retval_float; } chf$r_retval_float; __union { __int64 chf$q_mch_savxmm0x; __int64 chf$fh_mch_retval_floatx; } chf$r_retval_floatx; __union { __int64 chf$q_mch_savxmm1; __int64 chf$fh_mch_retval_float2; } chf$r_retval2_float; __union { __int64 chf$q_mch_savxmm1x; __int64 chf$fh_mch_retval_float2x; } chf$r_retval2_floatx; unsigned __int64 chf$ih_mch_xsave_state; #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 *chf$ph_mch_xsave; #else unsigned __int64 chf$ph_mch_xsave; #endif unsigned __int64 chf$ih_mch_xsave_length; #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 *chf$ph_mch_ossd; #else unsigned __int64 chf$ph_mch_ossd; #endif unsigned __int64 chf$q_mch_invo_handle; #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 *chf$ph_mch_uwr_start; #else unsigned __int64 chf$ph_mch_uwr_start; #endif } CHFDEF2; #if !defined(__VAXC) #define chf$q_mch_args chf$r_mch_args_desc1.chf$q_mch_args #define chf$r_mch_args_desc2 chf$r_mch_args_desc1.chf$r_mch_args_desc2 #define chf$is_mch_args chf$r_mch_args_desc2.chf$is_mch_args #define chf$is_mch_flags chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$is_mch_flags #define chf$r_mch_flags_bits chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits #define chf$v_fpregs_valid chf$r_mch_flags_bits.chf$v_fpregs_valid #define chf$v_fpregs2_valid chf$r_mch_flags_bits.chf$v_fpregs2_valid #define chf$q_mch_depth chf$r_mch_depth_desc.chf$q_mch_depth #define chf$is_mch_depth chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_depth #define chf$is_mch_resvd1 chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_resvd1 #define chf$q_mch_savr0 chf$r_retval.chf$q_mch_savr0 #define chf$q_mch_retval chf$r_retval.chf$q_mch_retval #define chf$ih_mch_retval chf$r_retval.chf$ih_mch_retval #define chf$q_mch_savr1 chf$r_retval2.chf$q_mch_savr1 #define chf$q_mch_retval2 chf$r_retval2.chf$q_mch_retval2 #define chf$ih_mch_retval2 chf$r_retval2.chf$ih_mch_retval2 #define chf$q_mch_savxmm0 chf$r_retval_float.chf$q_mch_savxmm0 #define chf$fh_mch_retval_float chf$r_retval_float.chf$fh_mch_retval_float #define chf$q_mch_savxmm0x chf$r_retval_floatx.chf$q_mch_savxmm0x #define chf$fh_mch_retval_floatx chf$r_retval_floatx.chf$fh_mch_retval_floatx #define chf$q_mch_savxmm1 chf$r_retval2_float.chf$q_mch_savxmm1 #define chf$fh_mch_retval_float2 chf$r_retval2_float.chf$fh_mch_retval_float2 #define chf$q_mch_savxmm1x chf$r_retval2_floatx.chf$q_mch_savxmm1x #define chf$fh_mch_retval_float2x chf$r_retval2_floatx.chf$fh_mch_retval_float2x #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 struct chfdef2 { #pragma __nomember_alignment __union { __int64 chf$q_mch_args; __struct { int chf$is_mch_args; __union { int chf$is_mch_flags; /*Flags */ __struct { /*Flags bits. */ unsigned chf$v_fpregs_valid : 1; /*FP registers stored in MCH. */ unsigned chf$v_fpregs2_valid : 1; unsigned chf$v_fill_71_ : 6; } chf$r_mch_flags_bits; } chf$r_mch_flags_desc; } chf$r_mch_args_desc2; } chf$r_mch_args_desc1; __int64 chf$q_mch_frame; __union { __int64 chf$q_mch_depth; __struct { /*2 longwords which are part of MCH_DEPTH */ int chf$is_mch_depth; /*FRAME DEPTH OF ESTABLISHER */ int chf$is_mch_resvd1; /*reserved, paired with DEPTH */ } chf$r_mch_depth_field; } chf$r_mch_depth_desc; __int64 chf$q_mch_daddr; __int64 chf$q_mch_esf_addr; __int64 chf$q_mch_sig_addr; __union { __int64 chf$q_mch_savr0; __int64 chf$q_mch_retval; __int64 chf$ih_mch_retval; } chf$r_retval; __union { __int64 chf$q_mch_savr1; __int64 chf$q_mch_retval2; __int64 chf$ih_mch_retval2; } chf$r_retval2; unsigned __int64 chf$ph_mch_sig64_addr; /*64-bit sig array ptr */ __union { __int64 chf$q_mch_savxmm0; __int64 chf$fh_mch_retval_float; } chf$r_retval_float; __union { __int64 chf$q_mch_savxmm0x; __int64 chf$fh_mch_retval_floatx; } chf$r_retval_floatx; __union { __int64 chf$q_mch_savxmm1; __int64 chf$fh_mch_retval_float2; } chf$r_retval2_float; __union { __int64 chf$q_mch_savxmm1x; __int64 chf$fh_mch_retval_float2x; } chf$r_retval2_floatx; unsigned __int64 chf$ih_mch_xsave_state; unsigned __int64 chf$ph_mch_xsave; unsigned __int64 chf$ih_mch_xsave_length; unsigned __int64 chf$ph_mch_ossd; unsigned int chf$q_mch_invo_handle [2]; unsigned __int64 chf$ph_mch_uwr_start; } ; #if !defined(__VAXC) #define chf$q_mch_args chf$r_mch_args_desc1.chf$q_mch_args #define chf$is_mch_args chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$is_mch_args #define chf$is_mch_flags chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$is_mch_flags #define chf$v_fpregs_valid chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits.chf$v_fpregs_valid #define chf$v_fpregs2_valid chf$r_mch_args_desc1.chf$r_mch_args_desc2.chf$r_mch_flags_desc.chf$r_mch_flags_bits.chf$v_fpregs2_valid #define chf$q_mch_depth chf$r_mch_depth_desc.chf$q_mch_depth #define chf$is_mch_depth chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_depth #define chf$is_mch_resvd1 chf$r_mch_depth_desc.chf$r_mch_depth_field.chf$is_mch_resvd1 #define chf$q_mch_savr0 chf$r_retval.chf$q_mch_savr0 #define chf$q_mch_retval chf$r_retval.chf$q_mch_retval #define chf$ih_mch_retval chf$r_retval.chf$ih_mch_retval #define chf$q_mch_savr1 chf$r_retval2.chf$q_mch_savr1 #define chf$q_mch_retval2 chf$r_retval2.chf$q_mch_retval2 #define chf$ih_mch_retval2 chf$r_retval2.chf$ih_mch_retval2 #define chf$q_mch_savxmm0 chf$r_retval_float.chf$q_mch_savxmm0 #define chf$fh_mch_retval_float chf$r_retval_float.chf$fh_mch_retval_float #define chf$q_mch_savxmm0x chf$r_retval_floatx.chf$q_mch_savxmm0x #define chf$fh_mch_retval_floatx chf$r_retval_floatx.chf$fh_mch_retval_floatx #define chf$q_mch_savxmm1 chf$r_retval2_float.chf$q_mch_savxmm1 #define chf$fh_mch_retval_float2 chf$r_retval2_float.chf$fh_mch_retval_float2 #define chf$q_mch_savxmm1x chf$r_retval2_floatx.chf$q_mch_savxmm1x #define chf$fh_mch_retval_float2x chf$r_retval2_floatx.chf$fh_mch_retval_float2x #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #define CHF$M_CALEXT_CANCEL 0x1 #define CHF$M_CALEXT_LAST 0x2 #define CHF$K_CALEXT_LENGTH 16 /*LENGTH OF CATCH-ALL DESC BLOCK */ #define CHF$C_CALEXT_LENGTH 16 /*LENGTH OF CATCH-ALL DESC BLOCK */ #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _chfdef3 { #pragma __nomember_alignment int chf$l_calext_link; /*CATCH-ALL EXTENSION LINK */ int chf$l_calext_address; /*ADDRESS OF CATCH-ALL EXTENSION */ __union { unsigned int chf$l_calext_flags; /*FLAGS */ __struct { /*FLAGS BITS */ unsigned chf$v_calext_cancel : 1; /*REMOVE CATCH-ALL EXTENSION */ unsigned chf$v_calext_last : 1; /*LAST CATCH-ALL EXTENSION */ unsigned chf$v_fill_72_ : 6; } chf$r_calext_flags_bits; } chf$r_calext_flags_desc; unsigned int chf$l_calext_reserved; /*RESERVED */ } CHFDEF3; #if !defined(__VAXC) #define chf$l_calext_flags chf$r_calext_flags_desc.chf$l_calext_flags #define chf$v_calext_cancel chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_cancel #define chf$v_calext_last chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_last #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif struct chfdef3 { #pragma __nomember_alignment int chf$l_calext_link; /*CATCH-ALL EXTENSION LINK */ int chf$l_calext_address; /*ADDRESS OF CATCH-ALL EXTENSION */ __union { unsigned int chf$l_calext_flags; /*FLAGS */ __struct { /*FLAGS BITS */ unsigned chf$v_calext_cancel : 1; /*REMOVE CATCH-ALL EXTENSION */ unsigned chf$v_calext_last : 1; /*LAST CATCH-ALL EXTENSION */ unsigned chf$v_fill_72_ : 6; } chf$r_calext_flags_bits; } chf$r_calext_flags_desc; unsigned int chf$l_calext_reserved; /*RESERVED */ } ; #if !defined(__VAXC) #define chf$l_calext_flags chf$r_calext_flags_desc.chf$l_calext_flags #define chf$v_calext_cancel chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_cancel #define chf$v_calext_last chf$r_calext_flags_desc.chf$r_calext_flags_bits.chf$v_calext_last #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #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 _chfdef6 { #pragma __nomember_alignment __union { int chf64$l_sig_args; /* Longword including count & options */ __struct { short int chf64$w_sig_arg_count; /* Word holding count itself */ short int chf64$w_sig_msg_options; /* Word containing message options */ } chf64$r_sig_words; } chf64$r_sig_args_union; int chf64$l_signal64; /* 64-bit array tag: overlays sig_name of 32b version */ __int64 chf64$q_sig_name; /* Signal value */ __int64 chf64$q_sig_arg1; /* First signal argument */ } CHFDEF6; #if !defined(__VAXC) #define chf64$l_sig_args chf64$r_sig_args_union.chf64$l_sig_args #define chf64$w_sig_arg_count chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_arg_count #define chf64$w_sig_msg_options chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_msg_options #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 struct chfdef6 { #pragma __nomember_alignment __union { int chf64$l_sig_args; /* Longword including count & options */ __struct { short int chf64$w_sig_arg_count; /* Word holding count itself */ short int chf64$w_sig_msg_options; /* Word containing message options */ } chf64$r_sig_words; } chf64$r_sig_args_union; int chf64$l_signal64; /* 64-bit array tag: overlays sig_name of 32b version */ int chf64$q_sig_name [2]; /* Signal value */ int chf64$q_sig_arg1 [2]; /* First signal argument */ } ; #if !defined(__VAXC) #define chf64$l_sig_args chf64$r_sig_args_union.chf64$l_sig_args #define chf64$w_sig_arg_count chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_arg_count #define chf64$w_sig_msg_options chf64$r_sig_args_union.chf64$r_sig_words.chf64$w_sig_msg_options #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #ifdef __NEW_STARLET #define chf$arglist _chfdef #define chf$signal_array _chfdef1 #define chf$mech_array _chfdef2 #define chf64$signal_array _chfdef6 #define CHF$ARGLIST CHFDEF #define CHF$SIGNAL_ARRAY CHFDEF1 #define CHF$MECH_ARRAY CHFDEF2 #define CHF64$SIGNAL_ARRAY CHFDEF6 #else #define chf$arglist chfdef #define chf$signal_array chfdef1 #define chf$mech_array chfdef2 #define chf64$signal_array chfdef6 #endif #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 /* __CHFDEF_LOADED */