*DECK KNAMDFL USETEXT NIPDEF USETEXT FREETAB USETEXT PARAMS USETEXT KDIS USETEXT KHDRX PRGM KNAMDFL; # PROCESS NAM K DISPLAY FL COMMAND # STARTIMS ; # *1DC KNAMDFL * 1. PROC NAME AUTHOR DATE * KNAMDFL A.BEN-ARTZI 82/08/25 * * 2. FUNCTIONAL DESCRIPTION * * PROCESS FL= TYPE-IN WHILE K-DISPLAY IN NAM-MODE * ( AND MAXFL HAS NOT BEEN REACHED ) * * 3. METHOD USED * * CHECK DATA FOR VALIDITY. * UPDATE MAXFL AND STATUS DISPLAY TO NEW VALUE * * 4. ENTRY PARAMETERS * * PARAMS1 - NUMBER OF DIGITS IN NUMBER * PARAMS6 - VALUE RECEIVED ( IN CHARACTER FORMAT ) * * 5. EXIT PARAMETERS * * PARAMS7 - ERROR CODE ( OR 0 ) * * 6. COMMDECKS AND TEXTS USED * * NIPDEF FREETAB KDIS KHDRX PARAMS * OSSIZE * * 7. ROUTINES CALLED * * KPUT - K-DISPLAY DINAMIC UPDATE INTERFACE * XTRACE DEBUG TRACE MARK * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY *CALL OSSIZE * # STOPIMS ; # EXTERNAL VARIABLES # XREF BEGIN PROC KPUT; # UPDATE STATUS DISPLAY # PROC XTRACE; # TRACE CALL # LABEL RJMAIN; END # INTERNAL VARIABLES # ITEM I; # INDUCTION VARIABLE # ITEM KRC; # COMMAND ERROR CODE # ITEM FLVALUE C(10); # FL VALUE # ITEM MFL; # MAXIMUM FL VALUE # ITEM TEMP; # TEMPORARY # CONTROL EJECT; BEGIN # KNAMDFL # CONTROL IFEQ DEBUG,1; XTRACE("KNMFL"); # TRACE CALL # CONTROL FI; KRC = 0; MFL = 0; FLVALUE = PARAMS6; FOR I=0 STEP 1 WHILE I LS WC AND KRC EQ 0 AND CFLVALUE NQ " " DO # COMPUTE FL ENTERED # BEGIN TEMP = CFLVALUE; # ONE DIGIT # IF TEMP GQ "0" OR TEMP LQ "7" THEN # ALLOW OCTAL VALUE ONLY # MFL = MFL*O"10" + (TEMP-O"33"); ELSE # ERROR, FL MUST BE OCTAL NUMERIC # KRC = 7; END IF KRC EQ 0 THEN # NO ERROR OCCURRED SO FAR # BEGIN IF HRL LS HRLV3 THEN # ALLOW INCREASE IN FL ONLY # BEGIN IF MFL LQ MAXFL OR (MFL-O"1000") LS MAXFL OR MFL GR MAXXFL THEN # ILLEGAL FL VALUE ENTERED # KRC = 7; END ELSE # HOST NOT IN BUFFER REGULATION # BEGIN IF MFL LS (CTLSLWA+O"2000") OR MFL GR MAXXFL THEN KRC = 7; END END IF KRC EQ 0 THEN # FL COMMAND OK # BEGIN MAXFL = MFL; # RESET MAXIMUM FL ALLOWED TO NEW VALUE # FREMFL[0] = FALSE; # CLEAR MAX FL REACHED INDICATOR # HRL = HRLV3; # SET BUFFER LEVEL TO ALL TRAFFIC # IF KDST[0] THEN # NAM STATUS DISPLAY IS ON # KPUT(LOC(KHDRXNM),0,KPHXMFL,MAXFL); # UPDATE HRL # END PARAMS7 = KRC; GOTO RJMAIN; END # KNAMDFL # TERM