#ifndef __CHFDEF_LOADED #define __CHFDEF_LOADED 1 /* * - Structure Definitions for Condition Handlers * * Copyright (c) 1993 by Digital Equipment Corporation. All rights reserved. * * DEC C for OpenVMS VAX and OpenVMS AXP * DEC C++ for OpenVMS VAX and OpenVMS AXP */ #if defined(__DECC) || defined(__DECCXX) #pragma __nostandard /* This file uses non-ANSI-Standard features */ #else #pragma nostandard #endif #ifdef __ALPHA #pragma __member_alignment __save #pragma __member_alignment #include struct chf$signal_array { int chf$l_sig_args; /* number of signal array arguments (variable) */ int chf$l_sig_name; /* name of condition */ int chf$l_sig_arg1; /* first signal specific argument */ /* NOTE: Following chf$l_sig_arg1 are two longwords containing the values (at the time of the exception) of the program counter and processor status longword, respectively */ }; struct chf$mech_array { int64 chf$q_mch_args; /* number of mechanism array arguments (always 4) */ int64 chf$q_mch_frame; /* establisher frame address */ /* Note: see SFDEF.H for the definition of struct sf$frame */ int64 chf$q_mch_depth; /* frame depth of establisher */ int64 chf$q_mch_daddr; /* handler data address */ int64 chf$q_mch_EST; int64 chf$q_mch_SIG; int64 chf$q_mch_savr0; /* saved register 0 (at time of condition) */ int64 chf$q_mch_savr1; /* saved register 1 (at time of condition) */ int64 chf$q_mch_savr16; int64 chf$q_mch_savr17; int64 chf$q_mch_savr18; int64 chf$q_mch_savr19; int64 chf$q_mch_savr20; int64 chf$q_mch_savr21; int64 chf$q_mch_savr22; int64 chf$q_mch_savr23; int64 chf$q_mch_savr24; int64 chf$q_mch_savr25; int64 chf$q_mch_savr26; int64 chf$q_mch_savr27; int64 chf$q_mch_savr28; int64 chf$q_mch_savf0; int64 chf$q_mch_savf1; int64 chf$q_mch_savf10; int64 chf$q_mch_savf11; int64 chf$q_mch_savf12; int64 chf$q_mch_savf13; int64 chf$q_mch_savf14; int64 chf$q_mch_savf15; int64 chf$q_mch_savf16; int64 chf$q_mch_savf17; int64 chf$q_mch_savf18; int64 chf$q_mch_savf19; int64 chf$q_mch_savf20; int64 chf$q_mch_savf21; int64 chf$q_mch_savf22; int64 chf$q_mch_savf23; int64 chf$q_mch_savf24; int64 chf$q_mch_savf25; int64 chf$q_mch_savf26; int64 chf$q_mch_savf27; int64 chf$q_mch_savf28; int64 chf$q_mch_savf29; int64 chf$q_mch_savf30; }; struct chf$arglist { struct chf$signal_array *chf$l_sigarglst; /* pointer to signal array */ struct chf$mech_array *chf$l_mcharglst; /* pointer to mechanism array */ }; #pragma __member_alignment __restore #else #include struct chf$signal_array { long chf$l_sig_args; /* number of signal array arguments (variable) */ long chf$l_sig_name; /* name of condition */ long chf$l_sig_arg1; /* first signal specific argument */ /* NOTE: Following chf$l_sig_arg1 are two longwords containing the values (at the time of the exception) of the program counter and processor status longword, respectively */ }; struct chf$mech_array { long chf$l_mch_args; /* number of mechanism array arguments (always 4) */ struct sf$frame *chf$l_mch_frame; /* establisher frame address */ /* Note: see SFDEF.H for the definition of struct sf$frame */ long chf$l_mch_depth; /* frame depth of establisher */ long chf$l_mch_savr0; /* saved register 0 (at time of condition) */ long chf$l_mch_savr1; /* saved register 1 (at time of condition) */ }; struct chf$arglist { struct chf$signal_array *chf$l_sigarglst; /* pointer to signal array */ struct chf$mech_array *chf$l_mcharglst; /* pointer to mechanism array */ }; #endif /* VAX version used */ #if defined(__DECC) || defined(__DECCXX) #pragma __standard /* This file uses non-ANSI-Standard features */ #else #pragma standard #endif #endif /* __CHFDEF_LOADED */