/* * * OBJFMT -- "EVAX" object record definitions */ #ifndef _EOBJRECDEF_H #define _EOBJRECDEF_H /* Alpha-specific record types */ #define EOBJ$C_EMH 8 /* EVAX module header record */ #define EOBJ$C_EEOM 9 /* EVAX end of module record */ #define EOBJ$C_EGSD 10 /* EVAX global symbol definition record */ #define EOBJ$C_ETIR 11 /* EVAX text information record */ #define EOBJ$C_EDBG 12 /* EVAX debugger information record */ #define EOBJ$C_ETBT 13 /* EVAX traceback information record */ #define EOBJ$C_MAXRECTYP 13 /* last assigned record type */ /* misc. constants */ #define EOBJ$K_SUBTYP 4 #define EOBJ$C_SUBTYP 4 #define EOBJ$C_MAXRECSIZ 8192 /* maximum legal record size */ #define EOBJ$C_STRLVL 2 /* structure level */ #define EOBJ$C_SYMSIZ 64 /* maximum symbol length */ #define EOBJ$C_STOREPLIM (-1) /* maximum repeat count on store commands */ #define EOBJ$C_PSCALILIM 16 /* maximum Psect alignment */ struct eobjrecdef { unsigned short eobj$w_rectyp; /* first byte always record type */ unsigned short eobj$w_size; /* second is always record size */ unsigned short eobj$w_subtyp; /* record sub-type byte */ unsigned char eobj$b_mhd_strlv; /* structure level */ unsigned char eobj$b_mhd_hold; /* alignment temp */ union { unsigned short eobj$w_mhd_recsz; /* maximum record size */ struct { unsigned : 16; /* short fill */ char eobj$t_mhd_name[1]; /* module name field */ } eobj$r_mhd_recsz_fields; } eobj$r_mhd_recsz_overlay; }; #endif /*_EOBJRECDEF_H*/