cdc:nos2.source:nam5871:npregcn
Table of Contents
NPREGCN
Table Of Contents
- [00008] PRGM NPREGCN
Source Code
- NPREGCN.txt
- *DECK NPREGCN
- USETEXT NIPDEF
- USETEXT PARAMS
- USETEXT LLCB
- USETEXT NCNT
- USETEXT NCNB
- USETEXT DRHDR
- PRGM NPREGCN;
- STARTIMS;
- #
- *1DC NPREGCN
- *
- * 1. PROC NAME AUTHOR DATE
- * NPREGCN L.T.NGUYEN 81/10/01
- *
- * 2. FUNCTIONAL DESCRIPTION
- * REGULATING THE CONNECTION
- *
- * 3. METHOD USED
- * NEW 1 2 3
- * OLD
- * 1 XXX HPO AOR
- *
- * 2 HPI XXX AOR
- *
- * 3 ACI LPI XXX
- *
- * HOP = HIGH PRIORITY OUT OF REGULAION I.E. CLEAR NCNBNR
- * AOR = ALL CONNECTION OUT OF REGULATION
- * HPI = HIGH PRIORITY IN REGULATION
- * ACI = ALL CONNECTIONS IN REGULATION
- * LPI = LOW PRIORITY IN REGULATION
- * XXX = NOTHING TO DO
- *
- * DEPENDING ON THE CURRENT BUFFER LEVEL (OLD) AND THE
- * NEW BUFFER LEVEL IN REG/LL SUPERVISOR MESSAGE WE DO
- * ACCORDINGLY TO THE ABOVE MATRIX.
- *
- * 4. ENTRY PARAMETERS:
- * PARAMS1 = LLCB ADDRESS
- * PARAMS2 = NEW REGULATION BUFFER LEVEL
- * PARAMS3 = INDICATOR - 0 (LOWERING) NEW =< OLD
- * - 1 (RAISING) NEW >= OLD
- *
- *
- * 5. EXIT PARAMETER:
- * NONE.
- *
- * 6. COMDECKS CALLED:
- * NIPDEF
- * PARAMS
- * LLCB
- * NCNT
- * NCNB
- * DRHDR
- * OSSIZE
- *
- * 7. ROUTINES AND OVERLAY CALLED
- * NFOB
- *
- * 8. NOTE
- * CALLED BY NPREGLL.
- * THIS IS A SECONDARY OVERLAY
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
- *CALL OSSIZE
- *
- *
- #
- STOPIMS;
- #
- #
- ITEM I ;
- ITEM TEMPPTR U ; # TEMPORARY POINTER #
- ITEM DRADDRESS U ; # DATA RING ADDRESS #
- ITEM NFOBCALL B ;
- ITEM LLCBIX U ;
- ITEM NCNTIX U ;
- XREF PROC NFOB ;
- XREF LABEL RJMAIN;
- BEGIN # NPREGCN #
- P<LLCB> = PARAMS1 ;
- FOR LLCBIX = LLCBHSIZE STEP 1 UNTIL LLCBSIZE - LLCBHSIZE - 1
- DO
- BEGIN
- P<NCNT> = LLCBNCNT[LLCBIX] ;
- IF P<NCNT> NQ 0
- THEN
- BEGIN
- FOR NCNTIX = NCNTHSIZE STEP 1 UNTIL NCNTSIZE-NCNTHSIZE
- DO
- BEGIN
- NFOBCALL = FALSE ;
- P<NCNB> = NCNTNCNB[NCNTIX] ;
- IF P<NCNB> NQ 0
- THEN
- BEGIN
- IF PARAMS3 NQ 0 # LOWERING #
- THEN
- BEGIN
- IF PARAMS2 EQ BUFLSM # BUFFER LEVEL IS 1 #
- THEN
- NCNBNR = TRUE ;
- IF PARAMS2 EQ BUFLHDS # BUFFER LEVEL IS 2 #
- AND NCNBPRI EQ 2 # LOW PRIORITY #
- THEN
- NCNBNR = TRUE ;
- END
- ELSE # RAISING #
- BEGIN
- IF PARAMS2 EQ BUFLHDS # BUFFER$LEVEL IS 2 #
- AND NCNBPRI EQ 1 # HIGH PRIORITY #
- THEN
- BEGIN
- NCNBNR = FALSE ;
- NFOBCALL = TRUE ;
- END
- IF PARAMS2 EQ BUFLAM # BUFFER LEVEL IS 3 #
- THEN
- BEGIN
- NCNBNR = FALSE ;
- NFOBCALL = TRUE ;
- END
- IF (NFOBCALL) AND # OKAY TO SEND DOWNLINE DATA #
- (NCNBID[0] EQ NCNBIDVALUE) # THIS IS A NCNB #
- THEN
- BEGIN # CALL NFOB TO SEND DATA #
- FOR I = I WHILE (NCNBNBO[0] LS NCNBDBL[0])
- AND NCNBDRFP[0] NQ 0
- AND NOT NCNBHR[0]
- DO
- BEGIN # FOR LOOP #
- DRADDRESS = NCNBDRFP ; # ADDRESS FOR NFOB CALL #
- IF NCNBDRFP NQ NCNBDRBP
- THEN
- BEGIN # NOT THE LAST NCNB #
- P<DRHDRWD> = NCNBDRFP ;
- NCNBDRFP = NEXTPTR ;
- TEMPPTR = BACKPTR ;
- P<DRHDRWD> = NEXTPTR ;
- BACKPTR = TEMPPTR ;
- END # NOT THE LAST NCNB #
- ELSE
- BEGIN # THE LAST NCNB #
- NCNBDRFP = 0 ;
- NCNBDRBP = 0 ;
- END # THE LAST NCNB #
- NCNBBLKSQ[0] = NCNBBLKSQ[0] - 1;
- NFOB(DRADDRESS,P<NCNB>) ;
- END # FOR LOOP #
- END # CALL NFOB #
- END
- END
- END
- END
- END
- GOTO RJMAIN ;
- END
- TERM
cdc/nos2.source/nam5871/npregcn.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator