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 <BLANK,BLANK> 
      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$
                                                            