*DECK XNBRLC
USETEXT NIPDEF
USETEXT FREETAB 
USETEXT KDIS
USETEXT KHDRX 
USETEXT PARAMS
USETEXT OVERLAY 
 PRGM XNBRLC;                # PROCESS NAM BEFFER LEVEL CHANGE         #
  
 STARTIMS;
 STOPIMS; 
# 
      EXTERNAL REFERENCES 
# 
      XREF
        BEGIN 
        PROC OMSG;           # DAYFILE MESSAGE                         #
        PROC OVLCALL;        # LOAD OVERLAY                            #
        PROC KPUT;           # UPDATE STATUS DISPLAY                   #
        PROC XTRACE;         # TRACE PROC CALLS                        #
        LABEL RJMAIN; 
        END 
# 
      LOCAL VARIABLES 
# 
      ARRAY KM$MAXFL [0:0] S(3);
        BEGIN 
        ITEM KMSG$TEXT C(00,00,28) =
            ["NIP MAXIMUM FL REACHED."];
        ITEM KMSG$END  U(02,48,12) = [0]; 
        END 
      ARRAY KINREG S(3);
        BEGIN 
        ITEM KINREGM C(0,00,25) = [" NIP IN REGULATION LEVEL "];
        ITEM KINREGL U(2,30,06);
        ITEM KINREGP C(2,36,01) = ["."];
        ITEM KINREGE U(2,42,18) = [0];
        END 
      ARRAY KLPCR S(4); 
        BEGIN 
     ITEM KLPCRM C(0,00,37) = [" INCREASE FL - LOW PRI CONNS IN REGL."];
        ITEM KLPCRE U(3,42,18) = [0]; 
        END 
      ARRAY KACR S(4);
        BEGIN 
        ITEM KACRM C(0,00,33) = [" INCREASE FL - ALL CONNS IN REGL."];
        ITEM KACRE U(3,42,18) = [0];
        END 
      CONTROL EJECT;
  
      BEGIN # XNBRLC #
  
      CONTROL IFEQ DEBUG,1; 
      XTRACE("XNBLC");       # TRACE CALL                              #
      CONTROL FI; 
  
      IF HRL NQ 0 
      THEN # NAM BUFFER LEVEL NOT AT -NO TRAFFIC-                      #
        BEGIN # SEND REG/CP(S) TO ALL NPUS TO NOTIFY CHANGE            #
        PARAMS1 = 0;         # INFORM ALL ACTIVE NPUS                  #
        PARAMS2 = 0;         # UNSOLICITED REG/CP TO PIP               #
        OVLNAME = NCREGCPP; 
        OVLCALL;
        KINREGL[0] = HRL + O"33";  # STORE REGL LEVEL IN DAY MSG       #
        OMSG(KINREG,0);      # ISSUE REGULATION DAYFILE MESSAGE        #
        IF HRL EQ HRLV2 
        THEN                 # REGULATION LEVEL 2 - LOW PRI CONS HUNG  #
          BEGIN 
          OMSG(KLPCR,0);     # ISSUE DAYFILE MESSAGE                   #
          END 
        ELSE                 # REGULATION LEVEL 1 - ALL CONS HUNG      #
          BEGIN 
          IF HRL EQ HRLV1 
          THEN               # REGULATION LEVEL 1 - ALL CONS HUNG      #
            BEGIN 
            OMSG(KACR,0);    # ISSUE DAYFILE MESSAGE                   #
            END 
          END 
        END 
  
      ELSE # MAXIMUM FL REACHED, NO TRAFFIC ALLOWED                    #
        BEGIN 
        IF KDAM[0]
        THEN # K DISPLAY IN APPLICATION MODE                           #
          BEGIN # FORCE SWITCH INTO NAM MODE                           #
          OVLNAME = KPCLNUPP; 
          OVLCALL;
          END 
        OMSG(KM$MAXFL,0); # DAYFILE MAX FL REACHED                     #
        END 
  
      LASTHRL = HRL; # UPDATE LAST BUFFER REGULATION LEVEL TO CURRENT  #
      IF KDST[0]
      THEN # NAM STATUS DISPLAY IS UP                                  #
        KPUT(LOC(KHDRXNM),0,KPHXRGL,HRL); # UPDATE K DISPLAY           #
  
      GOTO RJMAIN;
      END # XNBRLC #
      TERM
