*DECK KRIGHTD USETEXT NIPDEF USETEXT DRHDR USETEXT KDIS USETEXT KINITBF USETEXT KSTTAB PRGM KRIGHTD; STARTIMS; # *1DC KRIGHTD * * 1.PROC NAME AUTHOR DATE * KRIGHTD M.GIBIAN 84/01/26 * * 2.FUNCTIONAL DESCRIPTION * DISPLAY NEXT PAGE OF NIPS RIGHT KDISPLAY * * 3.METHOD USED * IF BUFFER IS NOT IN PLACE YET, GENERATE IT. * IF HELP WAS ENTERED, COPY DETAILED HELP TO BUFFER * ELSE COPY SUMMARY HELP TO BUFFER * INCREMENT NEXT RIGHT LINE TO DISPLAY BY RIGHT PAGE LENGTH * * 4.ENTRY PARAMETERS * * 5.OUTPUT PARAMETERS * * 6.COMDECKS AND TEXTS USED. * NIPDEF KDIS * * 7.ROUTINES CALLED. * * 8.DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * MUST FIT IN SECONDARY OVERLAY * # STOPIMS; ITEM KADDR U; # ADDRESS OF NEW BUFFER # ITEM I I; # LOOP VARIABLE # ITEM J I; ITEM K I; BASED ARRAY MOVEIT S(1); BEGIN ITEM MOVEWRD C(0,0,10); END BASED ARRAY GETIT S(1); BEGIN ITEM GETWRD C(0,0,10); END DEF KHELPSZ#22#; ARRAY KHELPARY [1:KHELPSZ] S(6); BEGIN ITEM KHELP C(0,0,58)= [" NAM COMMAND LIST", " ", "AP ASSIGN DISPLAY TO FIRST APPLICATION ON ALERT LIST.", "AP=APPL ASSIGN DISPLAY TO APPLICATION APPL.", "DB=APPL/NAM/ALL TURN ON INLINE DEBUG CODE IN APPLICATION", " APPL, OR NAM, OR ALL APPLICATIONS AND NAM.", "DE=APPL/NAM/ALL TURN OFF INLINE DEBUG CODE.", "DU=APPL/NAM/ALL DUMP FIELD LENGTH.", "IG IGNORE ALERT FROM THE FIRST APPLICATION OF ALERT LIST", "IG=APPL IGNORE ALERT FROM APPLICATION APPL", "FL=NNNNNN CHANGE NAMS MAXIMUM FIELD LENGTH TO NNNNNN.", "END TERMINATE K-DISPLAY USAGE", "LB=APPL/NAM/ALL START LOGGING NETWORK TRAFFIC ON DEBUG", " FILE.", "LE=APPL/NAM/ALL END LOGGING NETWORK TRAFFIC ON DEBUG FILE.", "LR=APPL/NAM/ALL RELEASE THE DEBUG LOG FILE.", "MO=FAST/SLOW REFRESH THE NAM STATUS DISPLAY FAST", " (DYNAMICALLY) OR SLOW (EVERY 10 SECONDS).", " DEFAULT IS SLOW.", "SEND,DN,MSG SEND A MESSAGE MSG (1-40 CHARACTERS) TO", " DESTINATION HOST NODE NUMBER DN.", "ST DISPLAY THE NAM STATUS DISPLAY."]; END # EXTERNAL REFERENCES # XREF BEGIN PROC MGETS; PROC XTRACE; LABEL RJMAIN; END BEGIN CONTROL IFEQ DEBUG,1; XTRACE("KRIGD"); CONTROL FI; IF KDRFP[0] EQ 0 THEN # ALLOCATE RIGHT DISPLAY BUFFER # BEGIN MGETS((KRSIZE[0]*KSTBLK)+1+BLKHSIZE+KHDRSIZE,KADDR,TRUE); KDRFP[0]=KADDR; KDRBP[0]=KADDR; P = KADDR; BLKID[0] = KDISIDVALUE; BACKPTR[0] = LOC(KDRBP[0]); NEXTPTR[0] = LOC(KDRFP[0]); P = 0; KDTYPE[KADDR+BLKHSIZE] = KDISTYPE; KDSTAIL[KADDR+BLKBS[0]-1]=0; K7777[KADDR+BLKBS[0]-1]=0; P = KADDR+BLKHSIZE+KHDRSIZE; KDRSTOP[0] = P; END ELSE P = KDRSTOP[0]; # NOW DISPLAY NEXT PAGE OF RIGHT DISPLAY LINES # FOR I=0 STEP 1 WHILE (I LQ KRSIZE[0]-1) AND (KDRNXT+I LQ KHELPSZ) DO BEGIN P=LOC(KHELP[KDRNXT+I]); P=LOC(KSTDATA[I]); FOR J=0 STEP 1 UNTIL 5 DO MOVEWRD[J]=GETWRD[J]; KSTEND[I] = 0; END # COMPUTE FIRST LINE OF NEXT PAGE # KDRNXT[0]=KDRNXT[0]+KRSIZE[0]-1; IF KDRNXT[0] GQ KHELPSZ THEN KDRNXT[0]=1; ELSE BEGIN KDRNXT[0]=KDRNXT[0]-2; I=I-2; END # BLANK REMAINING PART OF PAGE # FOR J=I STEP 1 UNTIL KRSIZE[0]-1 DO BEGIN P=LOC(KSTDATA[J]); FOR K=0 STEP 1 UNTIL 5 DO MOVEWRD[K]=" "; KSTEND[J]=0; END # DISPLAY -MORE- AT BOTTOM RIGHT IF NOT LAST PAGET # IF KDRNXT[0] NQ 1 THEN BEGIN P=LOC(KSTDATA[KRSIZE[0]-1]); MOVEWRD[5]="MORE"; KSTEND[KRSIZE[0]-1]=0; END KSHOW[0]=FALSE; GOTO RJMAIN; END TERM