!*** MODULE $OBJRECDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN PARAMETER OBJ$M_PSC_PIC = '00000001'X PARAMETER OBJ$M_PSC_LIB = '00000002'X PARAMETER OBJ$M_PSC_OVL = '00000004'X PARAMETER OBJ$M_PSC_REL = '00000008'X PARAMETER OBJ$M_PSC_GBL = '00000010'X PARAMETER OBJ$M_PSC_SHR = '00000020'X PARAMETER OBJ$M_PSC_EXE = '00000040'X PARAMETER OBJ$M_PSC_RD = '00000080'X PARAMETER OBJ$M_PSC_WRT = '00000100'X PARAMETER OBJ$M_SYM_WEAK = '00000001'X PARAMETER OBJ$M_SYM_DEF = '00000002'X PARAMETER OBJ$M_SYM_UNI = '00000004'X PARAMETER OBJ$M_SYM_REL = '00000008'X PARAMETER OBJ$M_SYMV_WEAK = '00000001'X PARAMETER OBJ$M_SYMV_DEF = '00000002'X PARAMETER OBJ$M_SYMV_UNI = '00000004'X PARAMETER OBJ$M_SYMV_REL = '00000008'X PARAMETER OBJ$M_SYMM_WEAK = '00000001'X PARAMETER OBJ$M_SYMM_DEF = '00000002'X PARAMETER OBJ$M_SYMM_UNI = '00000004'X PARAMETER OBJ$M_SYMM_REL = '00000008'X STRUCTURE /SDADEFS/ UNION MAP BYTE OBJ$B_TYPE ! Type of record END MAP MAP BYTE OBJ$B_GSD_TYPE ! Type of GSD record END MAP END UNION UNION MAP BYTE OBJ$B_PSC_ALI ! PSECT alignment (2**n) UNION MAP INTEGER*2 OBJ$W_PSC_FLAG ! PSECT flags: END MAP MAP PARAMETER OBJ$S_PSC_PIC = 1 PARAMETER OBJ$V_PSC_PIC = 0 ! Position independent PARAMETER OBJ$S_PSC_LIB = 1 PARAMETER OBJ$V_PSC_LIB = 1 ! Defined from sharable image PARAMETER OBJ$S_PSC_OVL = 1 PARAMETER OBJ$V_PSC_OVL = 2 ! Overlaid psect PARAMETER OBJ$S_PSC_REL = 1 PARAMETER OBJ$V_PSC_REL = 3 ! Requires relocation PARAMETER OBJ$S_PSC_GBL = 1 PARAMETER OBJ$V_PSC_GBL = 4 ! PSECT is global PARAMETER OBJ$S_PSC_SHR = 1 PARAMETER OBJ$V_PSC_SHR = 5 ! Potentially sharable PARAMETER OBJ$S_PSC_EXE = 1 PARAMETER OBJ$V_PSC_EXE = 6 ! Executable PARAMETER OBJ$S_PSC_RD = 1 PARAMETER OBJ$V_PSC_RD = 7 ! Can be read PARAMETER OBJ$S_PSC_WRT = 1 PARAMETER OBJ$V_PSC_WRT = 8 ! Can be written BYTE %FILL (2) END MAP END UNION INTEGER*4 OBJ$L_PSC_LEN ! Length of PSECT CHARACTER*1 OBJ$T_PSC_NAME ! PSECT name (counted string) END MAP MAP BYTE OBJ$B_SYM_DTYPE ! Data type (see Arch. Handbook, Ap. C) UNION MAP INTEGER*2 OBJ$W_SYM_FLAGS ! Symbol flags: END MAP MAP PARAMETER OBJ$S_SYM_WEAK = 1 PARAMETER OBJ$V_SYM_WEAK = 0 ! Weak resolution (0 = strong) PARAMETER OBJ$S_SYM_DEF = 1 PARAMETER OBJ$V_SYM_DEF = 1 ! Definition (0 = reference) PARAMETER OBJ$S_SYM_UNI = 1 PARAMETER OBJ$V_SYM_UNI = 2 ! Universal definition (0 = local) PARAMETER OBJ$S_SYM_REL = 1 PARAMETER OBJ$V_SYM_REL = 3 ! Relative symbol (0 = absolute) BYTE %FILL (1) END MAP END UNION BYTE OBJ$B_SYM_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_SYM_VALUE ! Value of symbol (only if def) CHARACTER*1 OBJ$T_SYM_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_EPM_DTYPE ! Data type (see Arch. Handbook, Ap. C) INTEGER*2 OBJ$W_EPM_FLAGS ! Flags (same as SYM_FLAGS) BYTE OBJ$B_EPM_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_EPM_VALUE ! Value of symbol (only if def) INTEGER*2 OBJ$W_EPM_MASK ! Entry mask CHARACTER*1 OBJ$T_EPM_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_SYMV_DTYPE ! Data type (see Arch. Handbook, Ap. C) UNION MAP INTEGER*2 OBJ$W_SYMV_FLAGS ! Symbol flags: END MAP MAP PARAMETER OBJ$S_SYMV_WEAK = 1 PARAMETER OBJ$V_SYMV_WEAK = 0 ! Weak resolution (0 = strong) PARAMETER OBJ$S_SYMV_DEF = 1 PARAMETER OBJ$V_SYMV_DEF = 1 ! Definition (0 = reference) PARAMETER OBJ$S_SYMV_UNI = 1 PARAMETER OBJ$V_SYMV_UNI = 2 ! Universal definition (0 = local) PARAMETER OBJ$S_SYMV_REL = 1 PARAMETER OBJ$V_SYMV_REL = 3 ! Relative symbol (0 = absolute) BYTE %FILL (1) END MAP END UNION BYTE OBJ$B_SYMV_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_SYMV_VALUE ! Value of symbol (only if def) INTEGER*4 OBJ$L_SYMV_VECTOR ! Vectored value of symbol (only if def) CHARACTER*1 OBJ$T_SYMV_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_EPMV_DTYPE ! Data type (see Arch. Handbook, Ap. C) INTEGER*2 OBJ$W_EPMV_FLAGS ! Flags (same as SYM_FLAGS) BYTE OBJ$B_EPMV_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_EPMV_VALUE ! Value of symbol (only if def) INTEGER*4 OBJ$L_EPMV_VECTOR ! Vectored value of symbol (only if def) INTEGER*2 OBJ$W_EPMV_MASK ! Entry mask CHARACTER*1 OBJ$T_EPMV_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_SYMM_DTYPE ! Data type (see Arch. Handbook, Ap. C) UNION MAP INTEGER*2 OBJ$W_SYMM_FLAGS ! Symbol flags: END MAP MAP PARAMETER OBJ$S_SYMM_WEAK = 1 PARAMETER OBJ$V_SYMM_WEAK = 0 ! Weak resolution (0 = strong) PARAMETER OBJ$S_SYMM_DEF = 1 PARAMETER OBJ$V_SYMM_DEF = 1 ! Definition (0 = reference) PARAMETER OBJ$S_SYMM_UNI = 1 PARAMETER OBJ$V_SYMM_UNI = 2 ! Universal definition (0 = local) PARAMETER OBJ$S_SYMM_REL = 1 PARAMETER OBJ$V_SYMM_REL = 3 ! Relative symbol (0 = absolute) BYTE %FILL (1) END MAP END UNION BYTE OBJ$B_SYMM_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_SYMM_VALUE ! Value of symbol (only if def) INTEGER*4 OBJ$L_SYMM_VERSION_MASK ! Version mask of symbol (only if def) CHARACTER*1 OBJ$T_SYMM_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_EPMM_DTYPE ! Data type (see Arch. Handbook, Ap. C) INTEGER*2 OBJ$W_EPMM_FLAGS ! Flags (same as SYM_FLAGS) BYTE OBJ$B_EPMM_PSIND ! PSECT index (only if def) INTEGER*4 OBJ$L_EPMM_VALUE ! Value of symbol (only if def) INTEGER*4 OBJ$L_EPMM_VERSION_MASK ! Version mask of symbol (only if def) INTEGER*2 OBJ$W_EPMM_MASK ! Entry mask CHARACTER*1 OBJ$T_EPMM_NAME ! Symbol name (counted string) END MAP MAP BYTE OBJ$B_EOM_SEV ! Error severity for module BYTE OBJ$B_EOM_PSIND ! PSECT index of transfer address INTEGER*4 OBJ$L_EOM_TRANS ! Transfer address END MAP END UNION END STRUCTURE ! SDADEFS PARAMETER OBJ$C_HDR = '00000000'X ! Module header record PARAMETER OBJ$C_HDR_MHD = '00000000'X ! Main header record PARAMETER OBJ$C_HDR_LNM = '00000001'X ! Language processor record PARAMETER OBJ$C_HDR_SRC = '00000002'X ! Source files description PARAMETER OBJ$C_HDR_TTL = '00000003'X ! Title text PARAMETER OBJ$C_HDR_CPR = '00000004'X ! Copyright text PARAMETER OBJ$C_HDR_MTC = '00000005'X ! Maintenance text PARAMETER OBJ$C_HDR_GTX = '00000006'X ! General text PARAMETER OBJ$C_GSD = '00000001'X ! Global symbol definition record PARAMETER OBJ$C_GSD_PSC = '00000000'X ! P-sect definition PARAMETER OBJ$C_GSD_SYM = '00000001'X ! Symbol (simple) definition PARAMETER OBJ$C_GSD_EPM = '00000002'X ! Entry point definition PARAMETER OBJ$C_GSD_PRO = '00000003'X ! Procedure definition PARAMETER OBJ$C_GSD_SYMW = '00000004'X ! Symbol definition with word psect PARAMETER OBJ$C_GSD_EPMW = '00000005'X ! Entry point definition with word psect PARAMETER OBJ$C_GSD_PROW = '00000006'X ! Procedure definition with word psect PARAMETER OBJ$C_GSD_IDC = '00000007'X ! Random entity check PARAMETER OBJ$C_GSD_ENV = '00000008'X ! Environment definition PARAMETER OBJ$C_GSD_LSY = '00000009'X ! Local symbol definition/reference PARAMETER OBJ$C_GSD_LEPM = '0000000A'X ! Local symbol entry point def. PARAMETER OBJ$C_GSD_LPRO = '0000000B'X ! Local symbol procedure def. PARAMETER OBJ$C_GSD_SPSC = '0000000C'X ! Shareable image psect definition PARAMETER OBJ$C_GSD_SYMV = '0000000D'X ! Global symbol definition (vectored) PARAMETER OBJ$C_GSD_EPMV = '0000000E'X ! Entry point definition (vectored) PARAMETER OBJ$C_GSD_PROV = '0000000F'X ! Procedure definition (vectored) PARAMETER OBJ$C_GSD_SYMM = '00000010'X ! Global symbol definition (special double valued) PARAMETER OBJ$C_GSD_EPMM = '00000011'X ! Entry point definition (special double valued) PARAMETER OBJ$C_GSD_PROM = '00000012'X ! Procedure definition (special double valued) PARAMETER OBJ$C_TIR = '00000002'X ! Text information record PARAMETER OBJ$C_EOM = '00000003'X ! End of module record PARAMETER OBJ$C_DBG = '00000004'X ! Debugger information record PARAMETER OBJ$C_TBT = '00000005'X ! Traceback information record PARAMETER OBJ$C_LNK = '00000006'X ! Linker options record PARAMETER OBJ$C_EOMW = '00000007'X ! End of module record with word psect PARAMETER OBJ$C_MAXRECTYP = '00000007'X ! Last assigned record type PARAMETER OBJ$K_SUBTYP = '00000001'X PARAMETER OBJ$C_SUBTYP = '00000001'X PARAMETER OBJ$C_MAXRECSIZ = '00000800'X ! Maximum legal record size PARAMETER OBJ$C_STRLVL = '00000000'X ! Structure level PARAMETER OBJ$C_SYMSIZ = '0000001F'X ! Maximum symbol length PARAMETER OBJ$C_STOREPLIM = -1 ! Maximum repeat count on store commands PARAMETER OBJ$C_PSCALILIM = '00000009'X ! Maximum p-sect alignment STRUCTURE /OBJRECDEF/ BYTE OBJ$B_RECTYP ! First byte always record type ! Permissable record types BYTE OBJ$B_SUBTYP ! Record sub-type byte BYTE OBJ$B_MHD_STRLV ! Structure level UNION MAP INTEGER*2 OBJ$W_MHD_RECSZ ! Maximum record size END MAP MAP BYTE %FILL(1:2) ! unsupported type CHARACTER*0 OBJ$T_MHD_NAME ! Module name field ! Misc. constants END MAP END UNION END STRUCTURE ! OBJRECDEF !DEC$ END OPTIONS