C INTEGER*4 SYM_TBL_SIZE PARAMETER(SYM_TBL_SIZE=16384) INTEGER*4 SYM_PROC, SYM_SUBR, SYM_JMPE, + SYM_M_CODE, SYM_D_BYT, SYM_D_WRD, + SYM_D_LNG, SYM_D_QUD, SYM_D_FLT, + SYM_D_DFL, SYM_D_GFL, SYM_D_HFL, + SYM_D_CHR, SYM_D_PDS, SYM_D_LSN, + SYM_D_TNS, SYM_D_TBL, SYM_D_PTN, + SYM_D_OCT, SYM_M_DATA, SYM_G_FIXUP, + SYM_DISM, SYM_BASEADR, SYM_D_DPT, + SYM_D_DDT, SYM_D_INITAB, SYM_D_REINITAB, + SYM_D_FDT, SYM_D_FORMAT, SYM_D_RMS, + SYM_NOTDEF, SYM_TRANSFER, SYM_D_EXTENDED PARAMETER(SYM_PROC=1, ! type code converted to attribute mask + SYM_SUBR=2, + SYM_JMPE=4, + SYM_M_CODE='100007'X,! mask for all code-type symbol bits + SYM_D_BYT='8'X, + SYM_D_WRD='10'X, + SYM_D_LNG='20'X, + SYM_D_QUD='40'X, + SYM_D_FLT='80'X, + SYM_D_DFL='100'X, + SYM_D_GFL='200'X, + SYM_D_HFL='400'X, + SYM_D_CHR='800'X, + SYM_D_PDS='1000'X, + SYM_D_LSN='2000'X, + SYM_D_TNS='4000'X, + SYM_D_TBL='8000'X, + SYM_D_PTN='10000'X, + SYM_D_OCT='20000'X, + SYM_D_EXTENDED='80000'X, ! extended data types + SYM_TRANSFER='100000'X, ! shareable image transfer vector + SYM_D_RMS='200000'X, ! RMS control blocks + SYM_D_FORMAT='400000'X, ! FORTRAN precompiled format stmta + SYM_D_DPT='800000'X, ! driver prolog table + SYM_D_DDT='1000000'X, ! driver dispatch table + SYM_D_INITAB='2000000'X, ! driver initialization table + SYM_D_REINITAB='4000000'X, ! driver reinitialization table + SYM_D_FDT='8000000'X, ! driver function decision table + SYM_M_DATA='0FEBFFF8'X, ! mask of all data symbol bits + SYM_NOTDEF='10000000'X, ! symbol only referenced, never defined + SYM_G_FIXUP='20000000'X, + SYM_DISM='40000000'X, + SYM_BASEADR='80000000'X) ! base address of module data INTEGER*2 SYM_T_STATETBL, SYM_T_KEYWRDTBL, SYM_T_STATE, + SYM_T_ITMLSTDVI, SYM_T_ITMLSTJPI, + SYM_T_ITMLSTQUI, SYM_T_ITMLSTSYI, + SYM_T_ITMLSTSJC, SYM_T_ITMLSTCACL, + SYM_T_ITMLSTCHKA, SYM_T_ITMLSTLNM, + SYM_T_QUOLST, SYM_T_ITMLSTFLSCN, + SYM_T_ITMLSTLKI, SYM_T_ITMLSTUAI, + SYM_T_ITMLSTMNT, SYM_T_BASARGLST, + SYM_T_ARGLST PARAMETER(SYM_T_STATETBL=1, ! LIB$TPARSE state table top (val=keywrdtbl) + SYM_T_KEYWRDTBL=2, ! LIB$TPARSE keyword table (val=# keywords) + SYM_T_STATE=3, ! LIB$TPARSE inner state + SYM_T_ITMLSTDVI=4, ! SYS$GETDVI item list + SYM_T_ITMLSTJPI=5, ! SYS$GETJPI item list + SYM_T_ITMLSTQUI=6, ! SYS$GETQUI item list + SYM_T_ITMLSTSYI=7, ! SYS$GETSYI item list + SYM_T_ITMLSTSJC=8, ! SYS$SNDJBC item list + SYM_T_ITMLSTCACL=9, ! SYS$CHANGE_ACL item list + SYM_T_ITMLSTCHKA=10, ! SYS$CHECK_ACCESS, SYS$CHKPRO item list + SYM_T_ITMLSTLNM=11, ! SYS$CRELNM, SYS$TRNLNM item list + SYM_T_QUOLST=12, ! SYS$CREPRC quota list + SYM_T_ITMLSTFLSCN=13, ! SYS$FILESCAN item list + SYM_T_ITMLSTLKI=14, ! SYS$GETLKI item list + SYM_T_ITMLSTUAI=15, ! SYS$GETUAI, SYS$SETUAI item list + SYM_T_ITMLSTMNT=16, ! SYS$MOUNT item list + SYM_T_BASARGLST=17, ! BASIC-PLUS-2/VAX subprogram arglist + SYM_T_ARGLST=18) ! CALLG instruction arglist CHARACTER*31 SYM_NAM(SYM_TBL_SIZE) INTEGER*2 SYM_EXT_ATTR(SYM_TBL_SIZE) INTEGER*4 SYM_TYP(SYM_TBL_SIZE), SYM_VAL(SYM_TBL_SIZE), + SYM_TBL_PTR, OLD_SMTB_PTR, + SYM_EXT_VAL(SYM_TBL_SIZE) LOGICAL*1 SYM_FOUND_NEW_CODE, SYM_NEED_MACRO(20) C COMMON/SYM_TBL/ + SYM_TBL_PTR, + OLD_SMTB_PTR, + SYM_VAL, + SYM_TYP, + SYM_EXT_VAL, + SYM_EXT_ATTR, + SYM_NAM, + SYM_FOUND_NEW_CODE, + SYM_NEED_MACRO C