SPL,L,O,M ! NAME: IN.IT ! SOURCE: 92070-18022 ! RELOC: 92070-16022 ! PGMR: M.L.K. ! ! *************************************************************** ! * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * ! * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * ! * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* ! * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * ! *************************************************************** ! ! NAME IN.IT(7) " 92070-1X022 REV.1941 790906" ! ! THIS ROUTINE HANDLES THE INITIALIZATION OF THE ! INPUT, LOG AND LIST DEVICES FOR THE RTE-LC FMGR. ! THE SCHEDULING PARAMETERS ARE PASSED TO IN.IT THROUGH ! THE FIRST PARAMETERS OF PRAM. ! ! EXTERNAL SUBROUTINES LET .DFER BE SUBROUTINE,EXTERNAL,DIRECT!MOVE NAME LET EXEC BE SUBROUTINE,EXTERNAL LET OPEN. BE SUBROUTINE,EXTERNAL !FMGR OPEN ROUTINE ! EXTERNAL FUNCTIONS LET IFTTY BE FUNCTION,EXTERNAL !RETURNS INTERACTIVE FLAG LET LOGLU BE FUNCTION,EXTERNAL !RETURNS CONSOLE LU ! EXTERNAL VARIBLES LET C.BUF BE INTEGER,EXTERNAL !INPUT BUFFER LET CAM.I BE INTEGER,EXTERNAL !COMND INPUT DCB LET CAM.O BE INTEGER,EXTERNAL !LOG LU LET CAMS. BE INTEGER(61),EXTERNAL !XFER STACK LET ECH BE INTEGER,EXTERNAL !ECHO WORD COUNT LET G0.. BE INTEGER(48),EXTERNAL !GLOBAL ARRAY LET INT. BE INTEGER,EXTERNAL !INPUT INTERACTIVE FLAG LET NO.RD BE INTEGER,EXTERNAL !NO READ FLAG LET P.7 BE INTEGER,EXTERNAL !7P GLOBAL LET P.TR BE INTEGER,EXTERNAL !XFER STACK POINTER LET SVCOD BE INTEGER,EXTERNAL !FMGR SEVERITY CODE LET TMP. BE INTEGER,EXTERNAL !LIST NAMR ARRAY LET XPAND BE INTEGER,EXTERNAL !ERROR EXPANSION FLG ! INTERNAL CONSTANTS LET BLANK BE CONSTANT (20040K) !ASCII LET CONLU BE INTEGER !CONSOLE LU ! ! IN.IT:SUBROUTINE(PCNT,PRAM,ER) GLOBAL LET ER BE INTEGER LET PCNT BE INTEGER LET PRAM(64) BE INTEGER ! CONLU _ LOGLU(D) !GET CONSOLE LU ! ! SET UP INPUT DEVICE AND LOG DEVICE ! IF PRAM(1) >= 20000K \IF INPUT IS ASCII THEN[ \ IFNOT PRAM(2) THEN PRAM(2)_BLANK; \IF 3 & 4 CHARS=0, BLANK IFNOT PRAM(3) THEN PRAM(3)_BLANK; \IF 4 & 5 CHARS=0, BLANK INT._ 0; \SET INPUT INTERACTIVE TO FALSE G0..(1)_ 3; \SET 0G TYPE TO ASCII CALL .DFER(G0..(2),PRAM(1)); \COPY INPUT TO 0G CAMS.(2)_ CONLU; \INIT XFER STACK P.TR_ @CAMS. + 6; \POINT TO NEXT ENTRY CAM.O_ CONLU; \SET LOG TO CONSOLE TMP._ PRAM(5) ], \SAVE LIST LU ELSE[ \IF INPUT IS LU IFNOT PRAM(1) THEN PRAM(1)_ CONLU; \DEFAULT INPUT TO CONSOLE INT._ IFTTY(PRAM(1)); \SET INTERACTIVE FLAG G0..(1)_ 1; \SET 0G TYPE TO INTEGER G0..(2)_ PRAM(1); \SET INPUT LU TO OG CAM.O_ PRAM(2); \SET LOG DEVICE TMP._ PRAM(3); \SAVE THE LIST LU PRAM(2),PRAM(3)_ 0] !CLEAR FOR OPEN. CALL OPEN.(CAM.I,PRAM(1),0.0,411K) !OPEN INPUT DEVICE ! ! CHECK LOG DEVICE ! IFNOT CAM.O THEN[ \IF LOG=0 CAM.O_ CONLU], \ THEN USE THE CONSOLE ELSE[ \IF LOG#0 IFNOT IFTTY(CAM.O) THEN[ \IS IT INTERACTIVE? IF INT. \NO, IS THE INPUT INTERACTIVE? THEN CAM.O_ PRAM(1), \YES, USE IT ELSE CAM.O_ CONLU]] !NO, USE CONSOLE ! ! CHECK LIST DEVICE ! IFNOT TMP. THEN TMP._ CONLU !DEFAULT TO CONSOLE ! ! SET SEVERITY CODES ! SVCOD_ PRAM(4) !GET PASSED SEVERITY CODE IF SVCOD =< 0 THEN SVCOD_ 1000 !SET WITHIN RANGE XPAND_ SVCOD/1000 !SET ERR XPANSION FLAG SVCOD_ .B. !SET SV CODE IF SVCOD > 4 THEN SVCOD_ 4 !SET WITHIN RANGE P.7_ SVCOD + 1000*XPAND !SET GLOBAL 7P TO SEVERITY CODE ! ! CHECK FOR RUN STRING ! CALL EXEC(14,1,C.BUF,40) !CHECK FOR PASSED STRING ECH_ .B. !SAVE COUNT FOR ECHO IF ECH \IF STRING PASSED THEN[ \ IF (C.BUF AND 177400K) = 35000K \AND IF IT BEGINS WITH ":" THEN[ \ C.BUF_ C.BUF - 15000K; \CLEAR THE COLON NO.RD_ -1]] !SET NO READ FLAG RETURN END END END$