*DECK KDISLN USETEXT NIPDEF USETEXT ACB USETEXT AT USETEXT KDIS USETEXT KHDRX USETEXT KSTTAB USETEXT LLCB USETEXT NBT USETEXT PT PROC KDISLN((RELKN),(ADDRESS),(TYPE)); # DISPLAY K STATUS LINE # STARTIMS; # *1DC KDISLN * * 1.PROC NAME AUTHOR DATE * KDISLN M.GIBIAN 84/01/20 * * 2.FUNCTIONAL DESCRIPTION. * * DISPLAY ONE STATUS K-DISPLAY LINE IN THE STATUS VIEW WINDOW * BUFFER. * * 3.METHOD USED * * COMPUTE ABSOLUTE VIEW WINDOW ADDRESS FROM RELATIVE ADDRESS * IF HEADER LINE, DISPLAY HEADER * ELSE * DISPLAY ALL FIELDS FOR TYPE OF DISPLAY LINE * * 4.ENTRY PARAMETERS. * * RELKN - RELATIVE ADDRESS OF LINE TO BE DISPLAYED * ADDRESS- ADDRESS OF STRUCTURE CONTAINING DATA TO BE DISPLAYED * TYPE - TYPE OF STRUCTURE TO DISPLAY (APP, EST, LGL) * * 5.OUTPUT PARAMETERS. * * 6.COMDECKS AND TEXTS USED. * * NIPDEF ACB AT KDIS KHDRX * KSTTAB LLCB NBT PT * * 7.ROUTINES CALLED. * * KPUT PUTS VALUES IN BUFFER+CONVERT FROM B TO DISPLAY * XTRACE RECORD PROCESSOR CALLS * * 8.DAYFILE MESSAGES AND OTHER IMPROTANT INFORMATION * THIS ROUTINE IS CONTAINED IN TWO OVERLAYS. IT MUST * FIT IN A SPACE SMALLER THAN THE SECONDARY OVERLAY AREA. * # STOPIMS; # INPUT PARAMETERS # ITEM RELKN; # RELATIVE OFFSET OF LINE # ITEM TYPE S:KST; # STATUS LINE BUFFER TYPE # ITEM ADDRESS; # ACB ADDRESS/NBT ENTRY INDEX/LLCB ADDRESS# # LOCAL VARIABLES # ITEM I I; ITEM KN I; # ABSOLUTE LINE OFFSET # ITEM BUF U; # POINTER TO VIEW BUFFER # ARRAY HEAD[KST"APP":KST"LLK"] S(6); ITEM HEADER C(0,0,60)=[ " APP JSN STATUS I NCN AC NSM NDM TIME UP", " EST EQ HN NSM NHM NLM IVTSTAT PRUSTAT FEREJ PV", " LOG-LINK HN TN N S T NCN AC NHDQ NLDQ TIME UP"]; BASED ARRAY INDEXES S(1); BEGIN ITEM ISTART U(0,9,9); # START INDEX IN VIEW TABLE ARRAY # ITEM IEND U(0,18,9); # END INDEX IN VIEW TABLE ARRAY # END SWITCH KLAB:KST LB$APP:APP, LB$EST:EST, LB$LLK:LLK; # EXTERNAL CALLS # XREF BEGIN PROC KPUT; PROC XTRACE; END # CHECK TO SEE IF HEADER NEEDS TO BE DISPLAYED # BEGIN CONTROL IFEQ DEBUG,1; XTRACE("KDISL"); CONTROL FI; BUF = KHDRNP[0]; P = BUF + BLKHSIZE + KHDRSIZE; P=LOC(KDAPPST[0])-1; FOR I=KST"APP" STEP 1 WHILE ISTART[I] EQ 0 DO; KN=RELKN-ISTART[I]; FOR I=KST"APP" STEP 1 UNTIL TYPE-1 DO KN=KN+IEND[I]; IF RELKN EQ 2 THEN BEGIN KAPPDTA[KN]=HEADER[TYPE]; GOTO LB$; END GOTO KLAB[TYPE]; # SWITCH ON DISPLAY TYPE # LB$APP: # PROCESS DISPLAY OF APPLICATION ON THE LINE # # NOW GO GENERATE THE DISPLAY LINE FOR THE APPLICATIONS SHOWN IN THE VIEW BUFFER # P=ADDRESS; KAPPNM [KN] = ACBANAME[0]; KAPPJSN[KN] = ACBJOBSQN[0] ; KAPPI[KN] = " " ; # IF NOT ALLOWED FOR K-DISPLAY # IF ATK[ACBAN[0]] THEN BEGIN KAPPI[KN] = "N" ; # IF NOT IN IGNORE-ALERT STATE # IF ATI[ACBAN[0]] THEN KAPPI[KN] = "Y" ; END KAPPTUP[KN] = ACBTIMC[0] ; KPUT(BUF,KN,KPAPNCN,ACBNCN[0]); KPUT(BUF,KN,KPAPAC ,ACBLMTC[0]); KPUT(BUF,KN,KPAPNSM,ACBSMQ[0]); KPUT(BUF,KN,KPAPNDM,ACBBLKSQ[0]); KPUT(BUF,KN,KPAPSTWD,ATASBV[ACBAN[0]]); # END OF AT SEARCH # GOTO LB$; LB$EST: # DISPLAY EST ON THE DISPLAY LINE # # AND UPDATE AS MANY FIELDS AS YOU CAN # KPUT(BUF,KN,KPESNO,NBTEST[ADDRESS+0]); KPUT(BUF,KN,KPESET,NBTET[ADDRESS+0]); KPUT(BUF,KN,KPESHN,NBTHN[ADDRESS+0]); NBTIVTLS[ADDRESS+2]=NBTIVTCC[ADDRESS+2] ; NBTPRULS[ADDRESS+3]=NBTPRUCC[ADDRESS+3] ; KPUT(BUF,KN,KPESREJ,NBTNIREJ[ADDRESS+4]); KPUT(BUF,KN,KPESPV,NBTPV[ADDRESS+5]); # END NBTE SEARCH # GOTO LB$; LB$LLK: # DISPLAY LGL ENTRY ON THIS LINE # # AND UPDATE AS MANY FIELDS AS YOU CAN # P=ADDRESS; KPUT(BUF,KN,KPLGHN,LLCBHN[0]); KPUT(BUF,KN,KPLGTN,LLCBTN[0]); KLGLTUP[KN] = LLCBTMC[0] ; KPUT(BUF,KN,KPLGN ,LLCBNRL[0]); KLGLS[KN] = " "; # IN CASE CS NOT USING THIS LINK # IF LLCBCS[0] THEN KLGLS[KN] = "S" ; KLGLT[KN] = " "; IF LLCBHH[0] # THIS IS AN A-A CONNECTION # THEN KLGLT[KN] = "H" ; KPUT(BUF,KN,KPLGNCN,LLCBNC[0]); KPUT(BUF,KN,KPLGAC ,LLCBLMTC[0]); GOTO LB$; LB$: KAPPEND[KN]=0; RETURN; END TERM