*DECK LOCLLCB USETEXT NIPDEF USETEXT TNT USETEXT LLCB USETEXT PT PROC LOCLLCB((HN),(TN),LLCBAD); # LOCATE LLCB # STARTIMS; # *1DC LOCLLCB * * 1. PROC NAME AUTHOR DATE * LOCLLCB C. BITTNER 81/04/16 * * 2. FUNCTIONAL DESCRIPTION * LOCATE LOGICAL LINK CONTROL BLOCK. * * 3. METHOD USED * USING THE TERMINAL NODE, INDEX INTO THE TNT TO FIND THE * FIRST LLCB FOR THE LOGICAL LINK. * SEARCH FOR LLCB WITH A MATCHING HOST NODE. * * 4. ENTRY PARAMETERS * HN - HOST NODE * TN - TERMINAL NODE * * 5. EXIT PARAMETERS * LLCBAD - LLCB ADDRESS * * 6. SYMPL TEXTS USED * NIPDEF PT * TNT LLCB * * 7. ROUTINES CALLED * XTRACE - RECORD PROCEDURE CALLS * * 8. DAYFILE MESSAGES * THIS PROCEDURE IS CALLED BY MANY ROUTINES. * # STOPIMS; # EXTERNAL VARIABLES # XREF BEGIN PROC XTRACE; # TRACE CALLS # END # INPUT PARAMETERS # ITEM HN; # HOST NODE NUMBER # ITEM TN; # TERMINAL NODE NUMBER # # OUTPUT PARAMETERS # ITEM LLCBAD; # FWA OF LLCB FOUND # # LOCAL VARIABLES # ITEM I I; # INDUCTION VARIABLE # CONTROL EJECT; BEGIN # LOCLLCB # CONTROL IFEQ DEBUG,1; XTRACE("LOCLL"); # TRACE CALL # CONTROL FI; IF TN LS TNTBS[0] THEN # TERMINAL NODE NUMBER WITHIN TNT RANGE # BEGIN # SEARCH FOR LLCB WITH MATCHING HOST NODE # P = TNTLLAD[TN]; # FWA OF LLCB # FOR I=I WHILE P NQ 0 # LLCB EXISTS # AND HN NQ LLCBHN[0] # HOST NODE NUMBER NOT MATCH # DO # GET NEXT LLCB IN CHAIN # BEGIN P = LLCBFP[0]; # RESET LLCB ADDRESS # END LLCBAD = P; END ELSE # TERMINAL NODE NON-EXISTENT, NO LLCB # LLCBAD = 0; RETURN; END # LOCLLCB # TERM