.ONERR ERXIT .; .; Build a version of INDIRECT to support large system SYSGENs. .; .; LHS077 2/2/83 Add support for ICQRES module ICPGTK .; .ENABLE GLOBAL .ENABLE SUBSTITUTION .; .; SET UP PARAMETERS SPECIFIC TO THIS VARIANT .; .SETS $TYP1 "SGN" .IFT .SETS $TYP1 "BSL" .SETS DATFIL "4" ; ALLOW 4 DATA FILES .SETS DALTBL "20" ; ALLOW 20 DIRECT ACCESS LABELS .SETS MXEXQT "1" ; ALLOW 1 XQT STATUS BLOCKS .SETS MXSUBR "4" ; ALLOW 4 SUBROUTINE LEVELS .SETS MXSTRG "204" ; SET BUFFER LENGTH TO 132. BYTES .SETS MXMAXD "3" ; ALLOW MAXIMUM FILE DEPTH OF 3 .; .; ESTABLISH SOME LOCAL CONDITIONALS .; .SETS $LI "KT1:[1,24]" .SETS $SL "KT0:[1,1]" .SETS $TK "KT0:[1,54]" .SETS LBR "ICP11M" ; RSX-11M .; .; NOW CREATE ICQBLD.ODL .; .OPEN MD0:ICQ'$TYP1'BLD.ODL .DATA ; .DATA ; TKB .ODL file for ICP variant "ICQ'$TYP1'" .DATA ; .DATA ; ICQ'$TYP1'BLD.ODL -- INDIRECT overlay descriptor file for the .DATA ; "ICQ'$TYP1'" form of the INDIRECT command processor. .DATA ; .DATA ; .DATA ; .DATA ; COPYRIGHT (c) 1981 BY DIGITAL EQUIPMENT CORPORATION. .DATA ; ALL RIGHTS RESERVED. .DATA ; This software is furnished under a license and may be used .DATA ; or copied only in accordance with the terms of such license. .DATA ; .DATA ; .DATA ; .DATA .DATA .ROOT ICQ .DATA PRVI: .FCTR MTSK .DATA SDEF: .FCTR SYSD .DATA EDEF: .FCTR EXED .DATA .NAME DEBG .DATA .NAME XSGN .; .; NOW ADD THE COMMON ODL .; .ENABLE DATA ;------------------------------------------------------------------ ; ; ICQ is the highly overlaid INDIRECT for RSX-11M. ; ; It combines FCS with the overlay structure and is designed to ; maximize the available symbol table space in order to support ; the RSX-11M SYSGEN when INDIRECT is installed as a 12kw task. ; .NAME ROOT ICQ: .FCTR SR0-SR1-SR2-PRVI-SDEF-EXED-OVT,OVI,POTREE,FCXCOT ICQRES: .FCTR SR0-IGTN-SR2-PRVI-SDEF-EXED-OVQ,OVE,POTREE SR0: .FCTR XSGN-ROOT-IROT-IVEC-IIMP-IFIL SR1: .FCTR CBTA-CATB-IGTN SR2: .FCTR ISU1-ISU2-ISU3-ISUT-IONR-IASV-IWFT-IMEN-ECM1 OVT:.FCTR *(INX,SUB,FDC,GOT,CHA,SAK,SEG,MCR,ENB,IIF,FPR,IFC,PDW,ERA,STP,IPA,TES) OVQ:.FCTR *(IXR,SUB,FDC,GOT,CHA,SAK,SEG,MCR,ENB,IIF,FPS,IFC,PDW,ERA,STP,IPA,TES) INX: .FCTR IINX-*(IIN2-GTKN,IEXI-EXST,IIN3-EXED,IIN4-IIN5) IXR: .FCTR IINX-*(IIN2-GTKN,IEXI,IIN3-EXED,IIN4-IIN5) SUB: .FCTR ISUB FDC: .FCTR IFDC-IPOP GOT: .FCTR IGOT-IPOP-IPRS CHA: .FCTR ICHA-ITPA-ITDV-IPOP IIF: .FCTR IIF1-*(IIF2,IIF3,IIF4-ISU4) IFC: .FCTR IFCL-IPRS-ISU5 PDW: .FCTR IPDW MCR: .FCTR IMCR-IATS-SDEF ENB: .FCTR IENB-ISU5 SAK: .FCTR IASK-IPRS-*(IAS2-ISU6,IAS3-ISU4,IAS4,IAS5) SEG: .FCTR ISET-IPRS-ISU4 ERA: .FCTR IERA-IPOP-IFMO STP: .FCTR ISTP-IBLK-IPOP IPA: .FCTR IPAR-IPRS-ISU4 TES: .FCTR ITES-ISU6-ISU4 ;------------------------------------------------------------------ ; ; ICP has a more optimal overlay structure used in larger RSX-11M ; systems where maximum symbol table space is not required. This version ; is intended for established RSX-11M systems. ; ICP: .FCTR PRVI-DEBG-MR1-SDEF-EXED-XSGN-ROOT-OVM,POTREE,OVD,FCXCOT ICPRES: .FCTR PRVI-DEBG-MR0-SDEF-EXED-XSGN-ROOT-OVP,POTREE,OVJ MR0: .FCTR MRU-MRS-MRB-MRC-MRE-SUB MR1: .FCTR MRU-MRS-MRB-MRC-MRD-MRE-SUB MRU: .FCTR IROT-IVEC-IIMP-IFIL MRS: .FCTR IONR-IMEM MRB: .FCTR ISU1-IASV-IPOP-ISU2-IPRS-ISU3-ISUT-IGNB-IGTN MRC: .FCTR IMCR-IWFT-IBLK MRD: .FCTR CBTA-CA5B MRE: .FCTR ECM1 OVF: .FCTR *(FPS,FPC,PSS,ASK,PSY,CMD,INI,IIF,IGO,TES,ITR) OVM: .FCTR *(FPR,FPC,PSS,ASK,PSY,CMD,INI,IIF,IGO,TES,ITR) OVP: .FCTR *(FPS,FPC,PSS,ASK,PSY,CMD,INR,IIF,IGO,TES,ITR) ASK: .FCTR IASK-*(IAS2-ISU6,IAS3-ISU4,IAS4,IAS5) PSY: .FCTR IPAR-ISU4-IFMO CMD: .FCTR IENB-ISU5-IERA INI: .FCTR IINX-*(IIN2-GTKN-IEXI-EXST-SDEF,IIN3-EXED,IIN4-IIN5) INR: .FCTR IINX-*(IIN2-GTKN-IEXI-SDEF,IIN3-EXED,IIN4-IIN5) FPR: .FCTR IFOP-ISU5 FPS: .FCTR IFOP-ISU5-IFEX FPC: .FCTR IFCL-ICHA-IATS-ISTP-ISU5 PSS: .FCTR ISET-IPDW-ISU4 IGO: .FCTR IGOT-IFDC ITR: .FCTR ITPA-ITDV-ISU4 ;------------------------------------------------------------------ ; ; ICM/ICMRES/ICMFSL are the overlay descriptions for the RSX-11M-PLUS ; non-privileged INDIRECT tasks. All modules are ; memory resident and the task can be mapped to FCSFSL or FCSRES ; ICM: .FCTR ROOT-IGTN-IL-GTKN-EXED-FORM-NETW,FDRV ICMFSL: .FCTR ROOT-IGTN-IL-GTKN-EXED-FORM-NETW,FDRV ICMRES: .FCTR ROOT-IGTN-IL-GTKN-EXED-FORM-NETW,FDRV ;INDDB6: .FCTR XSGN-ROOT-IGTN-IL-DEBG-GTKN-EXED-FORM-NETW,FDRV IL: .FCTR IL0-IL1-IL2-IL3-IL4-IL5-IL6-IL7 IL0: .FCTR IROT-IASK-IASV-IAS2-IAS3-IAS4-IAS5-IBLK-IENB-IERA-IERR IL1: .FCTR IFDC-IFEX-IFCL-IFIL-IFOP-IGNB-IEXI IL2: .FCTR IGOT-ICHA-IIF1-IIF2-IIF3-IIF4-IIMP-IMCR-IATS-IMEM-INP1-IONR IL3: .FCTR IPAR-IPDW-IPO1-IPOP-IPRC-IPRS-ISET-ISTP-ISUT-ISUB IL4: .FCTR ISU1-ISU2-ISU3-ISU4-ISU5-ISU6-ITES-IVEC-IWFT IL5: .FCTR ICHN-ITPA-ITDV IL6: .FCTR IINX-IIN2-IIN3-IIN4-IIN5 IL7: .FCTR ISYT-ISYC-ISY1-ISY2-ISY3 ;----------------------------------------------------------------- ; IC6 is the RSX11M-PLUS BL6 privileged version of the task. It is ; meant to have full functionality without GIN support. ;------------------------------------------------------------------ IC6: .FCTR PRVI-DEBG-MR1-SDEF-EXED-XSGN-ROOT-OVF,POTREE,OVD ; ; TASK INITIATION CO-TREE ; .NAME XCLI POTREE: .FCTR XCLI-*(INP1-EXED-SDEF,IPO1) ;------------------------------------------------------------------ ; ; INDIRECT SUBROUTINES CO-TREE ; .NAME INDTRE OVI: .FCTR INDTRE-*(IERR,IPRC-IGNB,IST,ECM2-ULIB,ECM3-ICHN) OVD: .FCTR INDTRE-*(IERR,IPRC-ICHN,IST,ECM2-ULIB,ECM3) OVE: .FCTR INDTRE-*(IERR,IPRC-IGNB,IST,ECM2-ULIB,ECM3-ICHN-EXPF) OVJ: .FCTR INDTRE-*(IERR,IPRC-ICHN,IST,ECM2-ULIB,ECM3-EXPF) IST: .FCTR ISYC-*(ISYT-SDEF,ISY1-SDEF,ISY2-ISY3) ;------------------------------------------------------------------ ; ; FCS-11 FILE SYSTEM CO-TREE ; .NAME FCS FCXCOT: .FCTR FCS-RQCB-PPAS-OCVT-SLC-*(CSI,OPF,GPT) SLC: .FCTR '$SL'SYSLIB/LB:DIRECT:ASSLUN CSI: .FCTR '$SL'SYSLIB/LB:.CSI1:.CSI2 OPF: .FCTR OP0-*(OP1-OP2-FEX,OP5,OP4-OP6) OP0: .FCTR '$SL'SYSLIB/LB:OPFNB:PARSE OP1: .FCTR '$SL'SYSLIB/LB:FINIT OP2: .FCTR '$SL'SYSLIB/LB:RDWAIT OP4: .FCTR '$SL'SYSLIB/LB:PARSDI OP5: .FCTR '$SL'SYSLIB/LB:PARSDV OP6: .FCTR '$SL'SYSLIB/LB:PARSFN FEX: .FCTR IFEX-EXPF GPT: .FCTR GPCOM-*(GET-PMK,PUT,CLO) GPCOM: .FCTR GPC0-GPC1-GPC2 GPC0: .FCTR '$SL'SYSLIB/LB:EOFCHK:MOVREC:POSREC:PGCR:RDWAIT:WTWAIT GPC1: .FCTR '$SL'SYSLIB/LB:POINT:POSIT:RDRN:RETADR:CKALOC:CONTRL:DARITH GPC2: .FCTR '$SL'SYSLIB/LB:RWBLK:WATNOD:WATSET GET: .FCTR '$SL'SYSLIB/LB:GETSQ PUT: .FCTR '$SL'SYSLIB/LB:PUTSQ CLO: .FCTR '$SL'SYSLIB/LB:CLOSE:DLFNB PMK: .FCTR '$SL'SYSLIB/LB:PNTMRK ;------------------------------------------------------------------ ; ; DEFINE FACTORS FOR THE MODULES USED BY THE ABOVE ELEMENTS ; IASK: .FCTR '$LI''LBR'/LB:INDASK IASV: .FCTR '$LI''LBR'/LB:INDASV IAS2: .FCTR '$LI''LBR'/LB:INDAS2 IAS3: .FCTR '$LI''LBR'/LB:INDAS3 IAS4: .FCTR '$LI''LBR'/LB:INDAS4 IAS5: .FCTR '$LI''LBR'/LB:INDAS5 IATS: .FCTR '$LI''LBR'/LB:INDATS IBLK: .FCTR '$LI''LBR'/LB:INDBLK ICHA: .FCTR '$LI''LBR'/LB:INDCHA ICHN: .FCTR '$LI''LBR'/LB:INDCHN IENB: .FCTR '$LI''LBR'/LB:INDENB IERA: .FCTR '$LI''LBR'/LB:INDERA IERR: .FCTR '$LI''LBR'/LB:INDERR IEXI: .FCTR '$LI''LBR'/LB:INDEXI IFDC: .FCTR '$LI''LBR'/LB:INDFDC IFEX: .FCTR '$LI''LBR'/LB:INDFEX IFCL: .FCTR '$LI''LBR'/LB:INDFCL IFIL: .FCTR '$LI''LBR'/LB:INDFIL IFMI: .FCTR '$LI''LBR'/LB:INDFMI IFMO: .FCTR '$LI''LBR'/LB:INDFMO IFMS: .FCTR '$LI''LBR'/LB:INDFMS IFMX: .FCTR '$LI''LBR'/LB:INDFMX IFUT: .FCTR '$LI''LBR'/LB:INDFUT IFOP: .FCTR '$LI''LBR'/LB:INDFOP IGNB: .FCTR '$LI''LBR'/LB:INDGNB IGOT: .FCTR '$LI''LBR'/LB:INDGOT IGTK: .FCTR '$LI''LBR'/LB:INDGTK IIF1: .FCTR '$LI''LBR'/LB:INDIF1 IIF2: .FCTR '$LI''LBR'/LB:INDIF2 IIF3: .FCTR '$LI''LBR'/LB:INDIF3 IIF4: .FCTR '$LI''LBR'/LB:INDIF4 IIMP: .FCTR '$LI''LBR'/LB:INDIMP IINX: .FCTR '$LI''LBR'/LB:INDINX IIN2: .FCTR '$LI''LBR'/LB:INDIN2 IIN3: .FCTR '$LI''LBR'/LB:INDIN3 IIN4: .FCTR '$LI''LBR'/LB:INDIN4 IIN5: .FCTR '$LI''LBR'/LB:INDIN5 IMCR: .FCTR '$LI''LBR'/LB:INDMCR IMEM: .FCTR '$LI''LBR'/LB:INDMEM IMEN: .FCTR '$LI''LBR'/LB:INDMEN INEN: .FCTR '$LI''LBR'/LB:INDNEN INP1: .FCTR '$LI''LBR'/LB:INDNP1 IONR: .FCTR '$LI''LBR'/LB:INDONR IPAR: .FCTR '$LI''LBR'/LB:INDPAR IPDW: .FCTR '$LI''LBR'/LB:INDPDW IPO1: .FCTR '$LI''LBR'/LB:INDPO1 IPOP: .FCTR '$LI''LBR'/LB:INDPOP IPRC: .FCTR '$LI''LBR'/LB:INDPRC IPRS: .FCTR '$LI''LBR'/LB:INDPRS IROT: .FCTR '$LI''LBR'/LB:INDROT ISET: .FCTR '$LI''LBR'/LB:INDSET ISTP: .FCTR '$LI''LBR'/LB:INDSTP ISUB: .FCTR '$LI''LBR'/LB:INDSUB ISUT: .FCTR '$LI''LBR'/LB:INDSUT ISU1: .FCTR '$LI''LBR'/LB:INDSU1 ISU2: .FCTR '$LI''LBR'/LB:INDSU2 ISU3: .FCTR '$LI''LBR'/LB:INDSU3 ISU4: .FCTR '$LI''LBR'/LB:INDSU4 ISU5: .FCTR '$LI''LBR'/LB:INDSU5 ISU6: .FCTR '$LI''LBR'/LB:INDSU6 ISYC: .FCTR '$LI''LBR'/LB:INDSYC ISYT: .FCTR '$LI''LBR'/LB:INDSYT ISY1: .FCTR '$LI''LBR'/LB:INDSY1 ISY2: .FCTR '$LI''LBR'/LB:INDSY2 ISY3: .FCTR '$LI''LBR'/LB:INDSY3 ITDV: .FCTR '$LI''LBR'/LB:INDTDV ITES: .FCTR '$LI''LBR'/LB:INDTES ITPA: .FCTR '$LI''LBR'/LB:INDTPA IVEC: .FCTR '$LI''LBR'/LB:INDVEC IWFT: .FCTR '$LI''LBR'/LB:INDWFT IXMD: .FCTR '$LI''LBR'/LB:INDXMD IGTN: .FCTR '$LI''LBR'/LB:INDGTN ; ; DESCRIBE MODULES REQUIRED FOR FMS-11 SUPPORT IN THE NON-PRIVILEGED ; RSX-11M-PLUS VERSIONS OF INDIRECT. ; ; THESE FACTORS REFERENCE FMS-11/RSX V1.0 MODULES. ; FORM: .FCTR IFMS-IFMI-IFMX-VEXT-FDAT-IFUT .NAME FMS11 FDRV: .FCTR FMS11-*(IF10,IF52) IF10: .FCTR '$LI''LBR'/LB:INDF10-'$SL'FDVLIB/LB IF52: .FCTR '$LI''LBR'/LB:INDF52-'$SL'F52LIB/LB FDAT: .FCTR '$SL'FDVLIB/LB:FDVDAT VEXT: .FCTR '$SL'SYSLIB/LB:VEXTA NETW: .FCTR INEN ; ; DESCRIBE VARIOUS MODULES EXTRACTED FROM THE SYSTEM LIBRARY ; ECM1: .FCTR '$SL'SYSLIB/LB:EGCML ECM2: .FCTR '$SL'SYSLIB/LB:EGCML2 ECM3: .FCTR '$SL'SYSLIB/LB:EGCML3 ULIB: .FCTR '$SL'SYSLIB/LB:ULA:ULAIN:ULAFD RQCB: .FCTR '$SL'SYSLIB/LB:RQLCB CBTA: .FCTR '$SL'SYSLIB/LB:CBTA CATB: .FCTR '$SL'SYSLIB/LB:CATB CA5B: .FCTR '$SL'SYSLIB/LB:CAT5B OCVT: .FCTR '$SL'SYSLIB/LB:.ODCVT MTSK: .FCTR '$LI'MCR/LB:GTTSK:GTMNM EXST: .FCTR '$SL'SYSLIB/LB:EXST GTKN: .FCTR '$LI'PIPUTL/LB:GTKNM SYSD: .FCTR '$TK'RSX11M.STB/SS EXED: .FCTR '$SL'EXELIB/LB:EXEDF EXPF: .FCTR '$SL'SYSLIB/LB:EXPFN PPAS: .FCTR '$SL'SYSLIB/LB:PPNASC ; ; DESCRIBE MODULES USED FOR DEBUGGING INDIRECT ; DEBD: .FCTR '$SL'DEBUG/LB:DDT/DA DEBO: .FCTR '$SL'DEBUG/LB:ODTRSX/DA ; ; End of common overlay descriptions ; .END .DISABLE DATA .CLOSE .SETN LUNCTR 6.+'DATFIL' .; .; NOW CREATE THE ICQBLD.CMD .; .OPEN MD0:ICQ'$TYP1'BLD.CMD .DATA ; .DATA ; TKB .CMD file for ICP variant "ICQ'$TYP1'" .DATA ; .DATA ; ICQ'$TYP1'BLD.CMD -- build the "ICQ'$TYP1'" form of the indirect .DATA ; command processor .DATA ; .DATA ; .DATA ; COPYRIGHT (c) 1981 BY DIGITAL EQUIPMENT CORPORATION. .DATA ; ALL RIGHTS RESERVED. .DATA ; .DATA ; This software is furnished under a license and may be used .DATA ; or copied only in accordance with the terms of such license. .DATA ; .DATA ; .DATA MD0:ICQ'$TYP1'/PR/MM/AL/FU/-FP/-IP=MD0:ICQ'$TYP1'BLD/MP .DATA ; .DATA GBLDEF=WPRI:12 .DATA PRI=64 .DATA STACK=128 .DATA PAR=GEN:0:60000 .DATA IDENT=6.0 .DATA UNITS='LUNCTR' .DATA ASG=TI:1:2:5 .DATA ASG=SY:3:4:6 .SETN LUN 7. .; .; INSERT "ASG=SY:X" COMMANDS FOR AS MANY DATA FILES AS SPECIFIED .; .LUNLOP: .IF LUN > LUNCTR .GOTO LUNDUN .DATA ASG=SY:'LUN' .INC LUN .GOTO LUNLOP .LUNDUN: .DATA TASK=...AT. .DATA GBLDEF=SUPPOT:1 ; 1=>DONT SUPRESS P-O TASKING .DATA GBLDEF=DEFCML:0 ; 1=>ATTEMPT NO-COMMAND ACTION .DATA GBLDEF=N$DATF:'DATFIL' ; MAXIMUM DATAFILES [MIN:0 MAX:4] .DATA GBLDEF=N$DLAB:'DALTBL' ; LABEL CACHE SIZE [MIN:0 MAX:20] .DATA GBLDEF=N$EXQT:'MXEXQT' ; PARALLEL ".XQT" [MIN:0 MAX:10] .DATA GBLDEF=M$XSND:'MXSUBR' ; .GOSUB DEPTH [MIN:1 MAX:20] .DATA GBLDEF=S$RMAX:'MXSTRG' ; STRING LENGTH [MIN:120 MAX:204] .DATA GBLDEF=M$MAXD:'MXMAXD' ; FILE NEST DEPTH [MIN:1 MAX:4] .; .; To specify a default command directory for "@xxx" where "xxx.cmd" doesnt .; exist in the current directory, code the UIC as .word group*400+user and .; modify the GBLDEF=D$CUIC: command below. The device is fixed as LB:. Values .; of 0=> dont attempt any default. 1=> try LB:[LIBUIC]. .; .DATA GBLDEF=D$CUIC:1 ; BINARY FOR DEFAULT COMMAND DIRECTORY .DATA GBLPAT=ROOT:EXTBUF:0 ; FMS-11 BUFFER ALLOCATION INCREMENT .DATA / .CLOSE .SETF INSTKB .IFNINS TKB .SETT INSTKB .IFT INSTKB INS LB:''TKB TKB @MD0:ICQ'$TYP1'BLD .SETN XITSTS .IFT INSTKB REM TKB .IF XITSTS NE .EXIT 1 .SETF INSPIP .IFNINS PIP .SETT INSPIP .IFT INSPIP INS LB:''PIP .SETS CURUIC "''" SET /UIC='' PIP KT0:/NV/-CD=MD0:'CURUIC'ICQ'$TYP1'.TSK SET /UIC='CURUIC' PIP MD0:ICQ'$TYP1'.TSK;*/DE,ICQ'$TYP1'BLD.CMD;*,ICQ'$TYP1'BLD.ODL;* .IFT INSPIP REM PIP ; ; When this command file exits, type the following commands in order to ; use ICQ'$TYP1' as the indirect command processor ...AT., then re-invoke ; this command file to perform the modification process. ; ; REM ...AT. ; INS SY:''ICQ'$TYP1' ; .EXIT 1 .ERXIT: .EXIT 4