/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $AFRDEF ***/ #ifndef __AFRDEF_LOADED #define __AFRDEF_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 AFR$K_USER_LENGTH 16 /* Length of user entry */ #define AFR$C_USER_LENGTH 16 /* Length of user entry */ #define AFR$K_VMS_LENGTH 24 /* Length of VMS entry */ #define AFR$C_VMS_LENGTH 24 /* Length of VMS entry */ #define AFR$K_EXTENDED_LENGTH 296 /* Extended length */ #define AFR$C_EXTENDED_LENGTH 296 /* Extended length */ #define AFR$C_UNINITIALIZED 0 #define AFR$C_BUFFERED 1 #define AFR$C_EXCEPTION 2 /* Values passed to start system service */ #ifdef __NEW_STARLET typedef struct _afrdef { __union { unsigned __int64 afr$q_fault_pc; /* PC of alignment fault */ __struct { unsigned int afr$l_fault_pc_l; unsigned int afr$l_fault_pc_h; } afr$r_pc_data_longwords; } afr$r_pc_data_overlay; __union { unsigned __int64 afr$q_fault_va; /* Unaligned virtual address */ __struct { unsigned int afr$l_fault_va_l; unsigned int afr$l_fault_va_h; } afr$r_va_data_longwords; } afr$r_va_data_overlay; __union { unsigned __int64 afr$q_reserved; /* Reserved for VMS */ __struct { unsigned int afr$l_reserved_l; unsigned int afr$l_reserved_h; } afr$r_reserved_longwords; } afr$r_reserved_overlay; char afr$t_image_name [256]; /* Image name */ char afr$t_user_name [16]; /* User name */ } AFRDEF; #if !defined(__VAXC) #define afr$q_fault_pc afr$r_pc_data_overlay.afr$q_fault_pc #define afr$r_pc_data_longwords afr$r_pc_data_overlay.afr$r_pc_data_longwords #define afr$l_fault_pc_l afr$r_pc_data_longwords.afr$l_fault_pc_l #define afr$l_fault_pc_h afr$r_pc_data_longwords.afr$l_fault_pc_h #define afr$q_fault_va afr$r_va_data_overlay.afr$q_fault_va #define afr$r_va_data_longwords afr$r_va_data_overlay.afr$r_va_data_longwords #define afr$l_fault_va_l afr$r_va_data_longwords.afr$l_fault_va_l #define afr$l_fault_va_h afr$r_va_data_longwords.afr$l_fault_va_h #define afr$q_reserved afr$r_reserved_overlay.afr$q_reserved #define afr$r_reserved_longwords afr$r_reserved_overlay.afr$r_reserved_longwords #define afr$l_reserved_l afr$r_reserved_longwords.afr$l_reserved_l #define afr$l_reserved_h afr$r_reserved_longwords.afr$l_reserved_h #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ struct afrdef { __union { unsigned int afr$q_fault_pc [2]; /* PC of alignment fault */ __struct { unsigned int afr$l_fault_pc_l; unsigned int afr$l_fault_pc_h; } afr$r_pc_data_longwords; } afr$r_pc_data_overlay; __union { unsigned int afr$q_fault_va [2]; /* Unaligned virtual address */ __struct { unsigned int afr$l_fault_va_l; unsigned int afr$l_fault_va_h; } afr$r_va_data_longwords; } afr$r_va_data_overlay; __union { unsigned int afr$q_reserved [2]; /* Reserved for VMS */ __struct { unsigned int afr$l_reserved_l; unsigned int afr$l_reserved_h; } afr$r_reserved_longwords; } afr$r_reserved_overlay; char afr$t_image_name [256]; /* Image name */ char afr$t_user_name [16]; /* User name */ } ; #if !defined(__VAXC) #define afr$q_fault_pc afr$r_pc_data_overlay.afr$q_fault_pc #define afr$l_fault_pc_l afr$r_pc_data_overlay.afr$r_pc_data_longwords.afr$l_fault_pc_l #define afr$l_fault_pc_h afr$r_pc_data_overlay.afr$r_pc_data_longwords.afr$l_fault_pc_h #define afr$q_fault_va afr$r_va_data_overlay.afr$q_fault_va #define afr$l_fault_va_l afr$r_va_data_overlay.afr$r_va_data_longwords.afr$l_fault_va_l #define afr$l_fault_va_h afr$r_va_data_overlay.afr$r_va_data_longwords.afr$l_fault_va_h #define afr$q_reserved afr$r_reserved_overlay.afr$q_reserved #define afr$l_reserved_l afr$r_reserved_overlay.afr$r_reserved_longwords.afr$l_reserved_l #define afr$l_reserved_h afr$r_reserved_overlay.afr$r_reserved_longwords.afr$l_reserved_h #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #define AFR$M_ENABLED 0x1 #define AFR$M_TEMP_ENABLED 0x2 #define AFR$M_PERM_ENABLED 0x4 #define AFR$M_DISABLED 0 #define AFR$M_USER_INFO 0x8 #ifdef __NEW_STARLET typedef struct _afredef { unsigned afr$v_enabled : 1; /* Enable bit */ unsigned afr$v_temp_enabled : 1; /* TRUE if enabled image by image */ unsigned afr$v_perm_enabled : 1; /* TRUE if permanently enabled */ unsigned afr$v_user_info : 1; /* If set, user info is saved */ unsigned afr$v_fill_44_ : 4; } AFREDEF; #else /* __OLD_STARLET */ struct afredef { unsigned afr$v_enabled : 1; /* Enable bit */ unsigned afr$v_temp_enabled : 1; /* TRUE if enabled image by image */ unsigned afr$v_perm_enabled : 1; /* TRUE if permanently enabled */ unsigned afr$v_user_info : 1; /* If set, user info is saved */ unsigned afr$v_fill_44_ : 4; } ; #endif /* #ifdef __NEW_STARLET */ #define AME$M_KERNEL_MODE 0x1 #define AME$M_EXEC_MODE 0x2 #define AME$M_SUPER_MODE 0x4 #define AME$M_USER_MODE 0x8 #define AME$M_USER_VA 0x10 #define AME$M_SYSTEM_VA 0x20 #define AME$M_USER_PC 0x40 #define AME$M_SYSTEM_PC 0x80 #define AME$M_USER_VA_P0 0x100 #define AME$M_USER_VA_P1 0x200 #define AME$M_USER_VA_P2 0x400 #define AME$C_SIZE 4 /* Length in bytes for mask */ #define AME$K_SIZE 4 /* Length in bytes for mask */ #ifdef __NEW_STARLET typedef struct _amedef { unsigned ame$v_kernel_mode : 1; unsigned ame$v_exec_mode : 1; unsigned ame$v_super_mode : 1; unsigned ame$v_user_mode : 1; unsigned ame$v_user_va : 1; unsigned ame$v_system_va : 1; unsigned ame$v_user_pc : 1; unsigned ame$v_system_pc : 1; unsigned ame$v_user_va_p0 : 1; unsigned ame$v_user_va_p1 : 1; unsigned ame$v_user_va_p2 : 1; unsigned ame$v_fill_45_ : 5; } AMEDEF; #else /* __OLD_STARLET */ struct amedef { unsigned ame$v_kernel_mode : 1; unsigned ame$v_exec_mode : 1; unsigned ame$v_super_mode : 1; unsigned ame$v_user_mode : 1; unsigned ame$v_user_va : 1; unsigned ame$v_system_va : 1; unsigned ame$v_user_pc : 1; unsigned ame$v_system_pc : 1; unsigned ame$v_user_va_p0 : 1; unsigned ame$v_user_va_p1 : 1; unsigned ame$v_user_va_p2 : 1; unsigned ame$v_fill_45_ : 5; } ; #endif /* #ifdef __NEW_STARLET */ /* */ /* AFLDEF defines which region a VA lies in */ /* */ #define AFL$M_P0_VA 0x1 #define AFL$M_P1_VA 0x2 #define AFL$M_P2_VA 0x4 #define AFL$M_S0S1_VA 0x8 #define AFL$M_S2_VA 0x10 #define AFL$M_PROCESS_VA 0x20 #define AFL$M_SYSTEM_VA 0x40 #ifdef __NEW_STARLET typedef struct _afldef { /* Alignment fault location */ __union { unsigned int afl$l_va_loc; __struct { unsigned afl$v_p0_va : 1; /* Address is in P0 space */ unsigned afl$v_p1_va : 1; /* Address is in P1 space */ unsigned afl$v_p2_va : 1; /* Address is in P2 space */ unsigned afl$v_s0s1_va : 1; /* Address is in S0 or S1 space */ unsigned afl$v_s2_va : 1; /* Address is in S2 space */ unsigned afl$v_process_va : 1; /* Address is in P0,P1,or P2 (process space) */ unsigned afl$v_system_va : 1; /* Address is in S0,S1,or S2 (system space) */ unsigned afl$v_fill_46_ : 1; } afl$r_va_loc_bitdefs; } afl$r_afl_overlay; } AFLDEF; #if !defined(__VAXC) #define afl$l_va_loc afl$r_afl_overlay.afl$l_va_loc #define afl$r_va_loc_bitdefs afl$r_afl_overlay.afl$r_va_loc_bitdefs #define afl$v_p0_va afl$r_va_loc_bitdefs.afl$v_p0_va #define afl$v_p1_va afl$r_va_loc_bitdefs.afl$v_p1_va #define afl$v_p2_va afl$r_va_loc_bitdefs.afl$v_p2_va #define afl$v_s0s1_va afl$r_va_loc_bitdefs.afl$v_s0s1_va #define afl$v_s2_va afl$r_va_loc_bitdefs.afl$v_s2_va #define afl$v_process_va afl$r_va_loc_bitdefs.afl$v_process_va #define afl$v_system_va afl$r_va_loc_bitdefs.afl$v_system_va #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ typedef struct _afldef { /* Alignment fault location */ __union { unsigned int afl$l_va_loc; __struct { unsigned afl$v_p0_va : 1; /* Address is in P0 space */ unsigned afl$v_p1_va : 1; /* Address is in P1 space */ unsigned afl$v_p2_va : 1; /* Address is in P2 space */ unsigned afl$v_s0s1_va : 1; /* Address is in S0 or S1 space */ unsigned afl$v_s2_va : 1; /* Address is in S2 space */ unsigned afl$v_process_va : 1; /* Address is in P0,P1,or P2 (process space) */ unsigned afl$v_system_va : 1; /* Address is in S0,S1,or S2 (system space) */ unsigned afl$v_fill_46_ : 1; } afl$r_va_loc_bitdefs; } afl$r_afl_overlay; } afldef; #if !defined(__VAXC) #define afl$l_va_loc afl$r_afl_overlay.afl$l_va_loc #define afl$v_p0_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_p0_va #define afl$v_p1_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_p1_va #define afl$v_p2_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_p2_va #define afl$v_s0s1_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_s0s1_va #define afl$v_s2_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_s2_va #define afl$v_process_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_process_va #define afl$v_system_va afl$r_afl_overlay.afl$r_va_loc_bitdefs.afl$v_system_va #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 /* __AFRDEF_LOADED */