/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:03 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]OBJFMT.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $TIRDEF ***/ #ifndef __TIRDEF_LOADED #define __TIRDEF_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 /* */ /* Text, information and relocation record (TIR) */ /* */ #define TIR$C_STA_GBL 0 /*Stack global symbol value */ #define TIR$C_STA_SB 1 /*Stack signed byte */ #define TIR$C_STA_SW 2 /*Stack signed word */ #define TIR$C_STA_LW 3 /*Stack longword */ #define TIR$C_STA_PB 4 /*Stack psect base plus byte offset */ #define TIR$C_STA_PW 5 /*Stack psect base plus word offset */ #define TIR$C_STA_PL 6 /*Stack psect base plus longword offset */ #define TIR$C_STA_UB 7 /*Stack unsigned byte */ #define TIR$C_STA_UW 8 /*Stack unsigned word */ #define TIR$C_STA_BFI 9 /*Stack byte from image */ #define TIR$C_STA_WFI 10 /*Stack word from image */ #define TIR$C_STA_LFI 11 /*Stack longword from image */ #define TIR$C_STA_EPM 12 /*Stack entry point mask */ #define TIR$C_STA_CKARG 13 /*Stack result of argument checking (true or false) */ #define TIR$C_STA_WPB 14 /*Stack psect base plus byte offset -- word psect number */ #define TIR$C_STA_WPW 15 /*Stack psect base plus word offset -- word psect number */ #define TIR$C_STA_WPL 16 /*Stack psect base plus longword offset -- word of psect number */ #define TIR$C_STA_LSY 17 /*Stack local symbol value */ #define TIR$C_STA_LIT 18 /*Stack literal */ #define TIR$C_STA_LEPM 19 /*Stack local symbol entry point mask */ #define TIR$C_MAXSTACOD 19 /*Last assigned code of stack group */ #define TIR$C_MINSTOCOD 20 /*First assigned store command code */ #define TIR$C_STO_SB 20 /*Store signed byte */ #define TIR$C_STO_SW 21 /*Store signed word */ #define TIR$C_STO_L 22 /*Store longword */ #define TIR$C_STO_BD 23 /*Store byte displaced */ #define TIR$C_STO_WD 24 /*Store word displaced */ #define TIR$C_STO_LD 25 /*Store longword displaced */ #define TIR$C_STO_LI 26 /*Store short literal */ #define TIR$C_STO_PIDR 27 /*Store pos. indep. data reference */ #define TIR$C_STO_PICR 28 /*Store pos. indep. code reference */ #define TIR$C_STO_RSB 29 /*Store repeated signed byte */ #define TIR$C_STO_RSW 30 /*Store repeated signed word */ #define TIR$C_STO_RL 31 /*Store repeated longword */ #define TIR$C_STO_VPS 32 /*Store arbitrary field */ #define TIR$C_STO_USB 33 /*Store unsigned byte */ #define TIR$C_STO_USW 34 /*Store unsigned word */ #define TIR$C_STO_RUB 35 /*Store repeated unsigned byte */ #define TIR$C_STO_RUW 36 /*Store repeated unsigned word */ #define TIR$C_STO_B 37 /*Store byte */ #define TIR$C_STO_W 38 /*Store word */ #define TIR$C_STO_RB 39 /*Store repeated byte */ #define TIR$C_STO_RW 40 /*Store repeated word */ #define TIR$C_STO_RIVB 41 /*Store repeated immediate variable bytes */ #define TIR$C_STO_PIRR 42 /*Store pos. indep. relative reference */ #define TIR$C_MAXSTOCOD 42 /*Last assigned store command code */ #define TIR$C_MINOPRCOD 50 /*First assigned operator command code */ #define TIR$C_OPR_NOP 50 /*No-op */ #define TIR$C_OPR_ADD 51 /*Add */ #define TIR$C_OPR_SUB 52 /*Subtract */ #define TIR$C_OPR_MUL 53 /*Multiply */ #define TIR$C_OPR_DIV 54 /*Divide */ #define TIR$C_OPR_AND 55 /*Logical AND */ #define TIR$C_OPR_IOR 56 /*Logical inclusive OR */ #define TIR$C_OPR_EOR 57 /*Logical exclusive OR */ #define TIR$C_OPR_NEG 58 /*Negate */ #define TIR$C_OPR_COM 59 /*Complement */ #define TIR$C_OPR_INSV 60 /*Insert bit field */ #define TIR$C_OPR_ASH 61 /*Arithmetic shift */ #define TIR$C_OPR_USH 62 /*Unsigned shift */ #define TIR$C_OPR_ROT 63 /*Rotate */ #define TIR$C_OPR_SEL 64 /*Select one of three longwords on top of stack */ #define TIR$C_OPR_REDEF 65 /*Redefine this symbol after pass 2 */ #define TIR$C_OPR_DFLIT 66 /*Define a literal */ #define TIR$C_MAXOPRCOD 66 /*Last assigned operator command code */ #define TIR$C_MINCTLCOD 80 /*First assigned control command code */ #define TIR$C_CTL_SETRB 80 /*Set relocation base */ #define TIR$C_CTL_AUGRB 81 /*Augment relocation base */ #define TIR$C_CTL_DFLOC 82 /*Define debug location */ #define TIR$C_CTL_STLOC 83 /*Set debug location */ #define TIR$C_CTL_STKDL 84 /*Stack debug location */ #define TIR$C_MAXCTLCOD 84 /*Last assigned control command code */ #ifdef __NEW_STARLET typedef union _tirdef { unsigned char tir$b_rectyp; /*Record type (OBJ$C_TIR) */ /* Define relocation commands */ } TIRDEF; #else /* __OLD_STARLET */ union tirdef { unsigned char tir$b_rectyp; /*Record type (OBJ$C_TIR) */ /* Define relocation commands */ } ; #endif /* #ifdef __NEW_STARLET */ /* */ /* EVAX dependent structures start here */ /* */ #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 /* __TIRDEF_LOADED */