/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]SRMDEF.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $SRMDEF ***/ #ifndef __SRMDEF_LOADED #define __SRMDEF_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 /*+ */ /* Define SRM Hardware symbols */ /*- */ #define SRM$K_INT_OVF_T 1 /* Integer overflow trap code */ #define SRM$K_INT_DIV_T 2 /* Integer divide by zero trap code */ #define SRM$K_FLT_OVF_T 3 /* Floating overflow trap code */ #define SRM$K_FLT_DIV_T 4 /* Floating/decimal Divide by zero trap code */ #define SRM$K_FLT_UND_T 5 /* Floating Underflow trap code */ #define SRM$K_DEC_OVF_T 6 /* Decimal string overflow trap code */ #define SRM$K_SUB_RNG_T 7 /* Subscript range trap */ #define SRM$K_FLT_OVF_F 8 /* Floating Overflow fault code */ #define SRM$K_FLT_DIV_F 9 /* Floating Divide by zero fault code */ #define SRM$K_FLT_UND_F 10 /* Floating Underflow fault code */ #define SRM$M_EXC_SUM_SWC 0x1 #define SRM$M_EXC_SUM_INV 0x2 #define SRM$M_EXC_SUM_DZE 0x4 #define SRM$M_EXC_SUM_OVF 0x8 #define SRM$M_EXC_SUM_UNF 0x10 #define SRM$M_EXC_SUM_INE 0x20 #define SRM$M_EXC_SUM_IOV 0x40 #ifdef __NEW_STARLET typedef struct _srm { __union { unsigned int srm$l_exc_sum; __struct { unsigned srm$v_exc_sum_swc : 1; unsigned srm$v_exc_sum_inv : 1; unsigned srm$v_exc_sum_dze : 1; unsigned srm$v_exc_sum_ovf : 1; unsigned srm$v_exc_sum_unf : 1; unsigned srm$v_exc_sum_ine : 1; unsigned srm$v_exc_sum_iov : 1; unsigned srm$v_fill_1 : 25; } srm$r_exc_sum_bits; } srm$r_exc_sum_overlay; } SRM; #if !defined(__VAXC) #define srm$l_exc_sum srm$r_exc_sum_overlay.srm$l_exc_sum #define srm$v_exc_sum_swc srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_swc #define srm$v_exc_sum_inv srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_inv #define srm$v_exc_sum_dze srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_dze #define srm$v_exc_sum_ovf srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_ovf #define srm$v_exc_sum_unf srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_unf #define srm$v_exc_sum_ine srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_ine #define srm$v_exc_sum_iov srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_iov #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ typedef struct _srm { __union { unsigned int srm$l_exc_sum; __struct { unsigned srm$v_exc_sum_swc : 1; unsigned srm$v_exc_sum_inv : 1; unsigned srm$v_exc_sum_dze : 1; unsigned srm$v_exc_sum_ovf : 1; unsigned srm$v_exc_sum_unf : 1; unsigned srm$v_exc_sum_ine : 1; unsigned srm$v_exc_sum_iov : 1; unsigned srm$v_fill_1 : 25; } srm$r_exc_sum_bits; } srm$r_exc_sum_overlay; } srm; #if !defined(__VAXC) #define srm$l_exc_sum srm$r_exc_sum_overlay.srm$l_exc_sum #define srm$v_exc_sum_swc srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_swc #define srm$v_exc_sum_inv srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_inv #define srm$v_exc_sum_dze srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_dze #define srm$v_exc_sum_ovf srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_ovf #define srm$v_exc_sum_unf srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_unf #define srm$v_exc_sum_ine srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_ine #define srm$v_exc_sum_iov srm$r_exc_sum_overlay.srm$r_exc_sum_bits.srm$v_exc_sum_iov #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #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 /* __SRMDEF_LOADED */