*DECK MCLRIL
USETEXT NIPDEF
USETEXT PIT 
USETEXT PT
PROC MCLRIL;                 # CLEARS NIP/PIP INTERLOCK                #
 STARTIMS;
 #
*1DC  MCLRIL
*     1. PROC NAME           AUTHOR              DATE 
*        MCLRIL              J.C. LEE            80/04/01 
* 
*     2. FUNCTIONAL DESCRIPTION 
*          CLEARS NIP/PIP INTERLOCK 
* 
*     3. METHOD USED
*          CLEARS REQUEST INTERLOCK FLAG AND ACKNOWLEDGE FLAG 
*          IN ALL THE PIT ENTRIES.
* 
*     4. ENTRY PARAMETERS.
*          NONE 
* 
*     5. EXIT PARAMETERS. 
*          NONE 
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        NIPDEF    PIT       PT        OSIZE
*        SYSTIME
* 
*     7.  ROUTINES AND OVERLAY CALLED.
*          XTRACE            TRACE CALLS
* 
*     8. DAYFILE MESSAGES.
*          NONE 
* 
*        W A R N I N G - THIS PROCEDURE IS LOADED WITH PRIMARY OVERLAY
*                        MGBGCLT, MDRPTR, MCHKPTR, MAJPTR 
*                        AND XCHKPCR. THEREFORE WHENEVER THIS ROUTINE 
*                        IS MODIFIED, CHECK MUST BE MADE TO MAKE SURE 
*                        THE OVERLAYS MGBGCLT, MDRPTR, MCHKPTR, 
*                        MAJPTR AND XCHKPCR WILL NOT EXCEED THE 
*CALL OSIZE 
* 
*        THIS PROCEDURE IS CALLED BY MSETIL, NPHECP,
*        AND NPPCT. 
* 
 #
 STOPIMS; 
# 
      EXTERNAL VARIABLES
# 
 XREF 
   BEGIN
   PROC XTRACE;                        # TRACE CALLS                   #
   END
# 
      INTERNAL VARIABLES
# 
 ITEM 
   INDEX;                              # LOOP INDEX                    #
  
# ******************************************************************** #
  
      BEGIN 
  
      CONTROL IFEQ DEBUG,1; 
        XTRACE("MCLRI") ; 
      CONTROL FI; 
  
      FOR INDEX = 1 STEP 1 UNTIL MAXPIP 
      DO                     # CLEAR INTERLOCK IN ALL PIT ENTRIES      #
        BEGIN 
        IF PITPF[INDEX] 
        THEN                 # INTERLOCK WAS REQUESTED FOR THIS PIP    #
          BEGIN 
          PITPF[INDEX] = FALSE;  # CLEAR INTERLOCK REQUEST FLAG        #
          IF PITACK[INDEX]
          THEN               # INTERLOCK WAS ACKNOWLEDGED              #
            BEGIN 
            PITACK[INDEX] = FALSE;  # CLEAR INTERLOCK ACKNOWLEDGE FLAG #
            END 
          ELSE
            BEGIN 
            PITAF[INDEX] = TRUE;  # SET INTERLOCK ABANDONED FLAG       #
            END 
          END 
        END 
  
      RETURN; 
      END 
TERM
