*DECK TENVIRN 
      PROC TENVIRN; 
      BEGIN 
      CONTROL STEXT;
                 STATUS SOURCELOC      #LOC OF NEXT SOURCE TO CRACK:   #
                        INPUT,         #INPUT FILE OR TERMINAL         #
                        GET1ST,        #SIS FILE, 1ST RECORD USING KEY #
                        GETNEXT;       #SIS FILE, NEXT RECORD USING KEY#
      COMMON ENVIRON;        #COMMON AREA TO DESCRIBE THE ENVIRONMENT # 
      BEGIN 
          ITEM DATE        C(10);  #CURRENT DATE #
          ITEM TIME        C(10);  #TIME OF THE DAY # 
          ITEM TERMINAL    I;      #0=BATCH, 1=TTY, 2=CRT # 
          ITEM NBLINES     I;      #O"7777" FOR BATCH AND TTY  #
          ITEM CHPLINE     I;      #CHARACTERS PER LINE OF CRT #
          ITEM SEPARATOR C(10);     # CHARACTER IN USE AS LITERAL   # 
                                     # DELIMITER.    #
          ITEM ITEMSIZE B;
          ITEM SEP1 B;
          ITEM READFROM S:SOURCELOC;   #FLAG FOR INPUT SOURCE LOC.     #
          ITEM FULLSYNTX B; 
          ITEM RECORDFLAG B;       # RECORDING FLAG, TURNED ON BY THE 
                                     RECORDING DIRECTIVE.  WHEN THE FLAG
                                     IS ON, THE DIRECTIVES THAT CAN BE
                                     RECORDED ARE WRITTEN ONTO THE QU 
                                     CATALOG ZZZZZQ2 OR ONTO THE USER 
                                     CATALOG NAMED IN THE MOST RECENT 
                                     VERSION DIRECTIVE.                #
      ITEM CURRSESS;    # CURRENT SESSION ID WHEN RECORDING 
                        BASIC DIRECTIVES #
      ITEM CURRDIR;     # CURRENT DIRECTIVE ID WHEN RECORDING 
                        BASIC DIRECTIVES #
      ITEM PROMPDIR C(10);    # PROMPT FOR NEXT DIRECTIVE # 
          ITEM PRIMARY I;          #LEVEL OF CURRENT PRIMARY OVERLAY #
          ITEM SECONDARY I;        #LEVEL OF CURRENT SECONDARY OVERLAY #
          ITEM HIGHEST I;   # HIGHEST AVAILABLE STORAGE ADDRESS        #
          ITEM OLD65 I;      # LAST WORD +1 OF LAST COMPLETED LOAD     #
          ITEM BASEX0 I;      #BASE ADDRESS OF OVERLAYS X-0 # 
          ITEM BASE1X I;      #BASE ADDRESS OF OVERLAYS 1-X # 
          ARRAY FLAGS[0]; 
               ITEM LIBRARYFLAG  U(0,0,1),  #QU LIBRARY/QU LOCAL BIT   #
                    INTERCOMFLAG B(0,1,1),  #INTERCOM INSTALLED FLAG   #
                    DEBUGFLAG    B(0,2,1),  #DEBUG MODE FLAG           #
                    CROPEN       B(0,3,1),  # NEXT OPEN IS FOR *CREATE*#
                    OS$LEVEL     U(0,6,6),  # OPERATING SYSTEM LEVEL   #
                    FLAGWORD     I(0,0,60); 
          ITEM SSECONDAR; 
                 ITEM WDIRFLAG B; 
      ITEM INPUTSAVED  B,   # TRUE IF INPUT SAVED ON SOURCE # 
           LXBEGIN,  #THESE TWO USED FOR KEEPING TRACK OF MULTIPLE #
           OLDLEX,   # DIRECTIVES FOR STKOUT #
           PERDUMMY B,  #TRUE IF DOING DUMMY PERFORM #
           OLDKEY C(10);   # FOR SAVING KEYS DURING NESTED -PERFORM-S. # FEAT157
                 ITEM STKFLAG B;
      ITEM OLDTYPE;  # LOC TO SAVE OLD TYPEALOW VALUE # 
      ITEM IFFAIL B;    # TRUE IF TEMPORARY IF WAS UNTRUE # 
         ARRAY CURSEATT[1];;                                            004760
         ARRAY DATEATT[1];;                                             004770
         ARRAY TIMEATT[1];;                                             004780
          ITEM PRESUMFG B; ITEM RWSOURCE B; 
      ITEM CT100;   #ADD ON TO LEXPTR FOR POSITN IN DIRECTIVE#
      ITEM PLACEFLAG;    # 0 IF AT BEGINNING OF RECORD #                002230
                         # 1 IF AFTER FIRST DIRECTIVE  #                002240
                         # 77 IF MIXED TYPE DIRECTIVES #                002250
 # FLAGS USED FOR VETO MODE TESTS # 
      ITEM PROCEXFLAG,   # 0 IF NO PROCEED/EXIT ENTERED # 
                         # 1 IF PROCEED, 2 IF EXIT #
          PERVFLAG,   # 0 IF NO PASS/VETO IN PERFORM #
                         # 1 IF VETO, 2 IF PASS   # 
          VETOFLAG  B;   # TRUE IF VETO ON, ELSE FALSE #
      ITEM PERFLG B;  # TRUE IF DOING A PERFORM # 
      ITEM SEARCHFLAG B;   # TRUE IF XMISSN CONTAINS COMMAND REQUIRING #
                           # 4X OVERLAY (IF,UPDATE,DISPLAY,INSERT,ETC) #
      ITEM NEXTXMISSN B;   # TRUE IF PREVIOUS XMISSN CONTAINED IF  #
                           # OR UPDATE, SO MUST HOOK ON NEXT XMISSN#
          ITEM FSIZE; 
          ARRAY TYPET;
              ITEM TYPETWD I(0,0,60), 
          TYPETSB B(0,0,1), 
          TYPETHL U(0,1,17),
          TYPETCI B(0,18,1),
          TYPETTL U(0,19,17), 
                   TYPETCP I(0,36,24);
          ITEM DIRLEXID;                                                001190
         ITEM INTUSID C(10);  # INTERCOM USER ID #
           ITEM NOTRMX; 
           ITEM CURRENTSOURC; 
          ITEM USERID C(10);       # USER-ID REGISTER                  #
          ARRAY UIATTR[1];;        # USER-ID ATTRIBUTES                #
          ITEM BATCHMD     B;      # FLAG FOR RUNNING IN BATCH MODE    #
      END                    # END OF COMMON ENVIRON #
      END 
      TERM
