*DECK KCHANGE USETEXT NIPDEF USETEXT AT USETEXT KDIS USETEXT KSTTAB USETEXT NBT USETEXT OVERLAY USETEXT PARAMS USETEXT PT PRGM KCHANGE; # PROCESS K DISPLAY CHANGE # STARTIMS; STOPIMS; # EXTERNAL REFERENCES # XREF BEGIN PROC LOCLLCB; # LOCATE LOGICAL LINK CONTROL BLOCK # PROC MRELS; # RELEASE BUFFER # PROC OVLCALL; PROC XTRACE; # TRACE CALL # LABEL RJMAIN; END # LOCAL VARIABLES # ITEM TYPE; # STATUS DISPLAY BUFFER TYPE # ITEM INDEX; # INDUCTION VARIABLE, TABLE INDEX # ITEM J; # INDUCTION VARIABLE # ITEM NEXTKWL; # FWA OF NEXT KWL # SWITCH ST$TYPE:KST # SWITCH FOR VALID STATUS DISPLAY BUFFER # LB$APP:APP, # APPLICATION ACB # LB$EST:EST, # EST # LB$LLK:LLK; # LOGICAL LINK LLCB # CONTROL EJECT; BEGIN # KCHANGE # P = LOC(KWLPTR[0]); NEXTKWL = KWL$NEXT[0]; # FWA OF FIRST KWL IN LIST # IF KDST[0] THEN # IF STATUS DISPLAY IS STILL ON # BEGIN FOR J=J WHILE KWL$NEXT[0] NQ 0 DO # PROCESS ALL KWL ENTRY(S) IN LIST # BEGIN P = KWL$NEXT[0]; # CURRENT KWL ENTRY # TYPE = KWL$TYPE[0]; # BUFFER TYPE TO ADD/DELETE # PARAMS5=FALSE; IF KWL$ID[0] EQ KADDIDVALUE THEN # ADD ENTRY TO STATUS DISPLAY # BEGIN GOTO ST$TYPE[TYPE]; # CASE ON STATUS DISPLAY BUFFER TYPE # LB$APP: # COMPUTE ACB ADDRESS # INDEX = ATACBA[KWL$AN[0]]; GOTO LB$CHANGE; LB$EST: # COMPUTE NBT ENTRY INDEX # FOR INDEX=0 STEP NBTFETNO WHILE NBTHN[INDEX] NQ KWL$HN[0] AND INDEX LQ NBTMAXID DO # SEARCH NBT FOR MATCHING COUPLER NODE NUMBER # BEGIN END # INDEX = NBT ENTRY INDEX # GOTO LB$CHANGE1; LB$LLK: # COMPUTE LLCB ADDRESS # LOCLLCB(KWL$HN[0],KWL$TN[0],INDEX); GOTO LB$CHANGE; LB$CHANGE: IF INDEX EQ 0 THEN # ACB OR LLCB NOT EXISTS # GOTO LB$END; LB$CHANGE1: PARAMS1=TYPE; PARAMS2=INDEX; OVLNAME=KADDP; OVLCALL; LB$END: END ELSE # DELETE ENTRY FROM STATUS DISPLAY # BEGIN INDEX = KWL$KNDX[0]; # STATUS DISPLAY LINE INDEX # IF INDEX NQ 0 THEN # STATUS DISPLAY LINE EXISTS # BEGIN PARAMS1=TYPE; PARAMS2=INDEX; OVLNAME=KDELP; OVLCALL; END END IF PARAMS5 THEN BEGIN OVLNAME=KOVDISP; OVLCALL; END END END FOR INDEX=INDEX WHILE NEXTKWL NQ 0 DO # RELEASE ALL KWL ON LIST # BEGIN P = NEXTKWL; NEXTKWL = KWL$NEXT[0]; # NEXT KWL ENTRY # MRELS(P); # RELEASE KWL # END KWLPTR[0] = 0; # CLEAR KWL POINTER, ALL KWL(S) PROCESSED # GOTO RJMAIN; END # KCHANGE # TERM