*DECK LOCNCNT
USETEXT NIPDEF
USETEXT LLCB
USETEXT NCNT
PROC LOCNCNT((LLCBAD),(CN),NCNTEAD); # LOCATE NCNT ENTRY #
STARTIMS;
#
*1DC LOCNCNT
*
* 1. PROC NAME AUTHOR DATE
* LOCNCNT C. BITTNER 81/04/10
*
* 2. FUNCTIONAL DESCRIPTION
* LOCATE NCNT ENTRY
*
* 3. METHOD USED
* BASE NCNT USING THE NCNT ADDRESS FROM THE LLCB.
* USE THE CONNECTION NUMBER TO INDEX INTO THE LLCB
* AND NCNT.
*
* 4. ENTRY PARAMETERS
* LLCBAD - LLCB ADDRESS
* CN - NETWORK CONNECTION NUMBER
*
* 5. EXIT PARAMETERS
* NCNTEAD - NCNT ENTRY ADDRESS
*
* 6. SYMPL TEXTS USED
* NIPDEF NCNT
* LLCB
*
* 7. ROUTINES CALLED
* XTRACE - RECORD PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROCEDURE IS CALLED BY HPRUON,NCSTTP,
* NEIB1,NPPCT,NPPWL.
*
#
STOPIMS;
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC XTRACE; # RECORD PROCEDURE CALLS #
END
# INPUT PARAMETERS #
ITEM LLCBAD; # LLCB ADDRESS #
ITEM CN; # NETWORK CONNECTION NUMBER #
# OUTPUT PARAMETERS #
ITEM NCNTEAD; # NCNT ENTRY ADDRESS #
#
INTERNAL VARIABLES
#
ITEM LLCBINDX; # INDEX INTO LLCB #
ITEM NCNTINDX; # INDEX INTO NCNT #
ARRAY CNX;
BEGIN
ITEM CNE U(00,00,60); # CONNECTION NUMBER #
ITEM CN1 U(00,52,04); # CONNECTION INDEX #
ITEM CN2 U(00,56,04); # INDEX INTO NCNT #
END
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("LOCNC") ;
CONTROL FI;
P<LLCB> = LLCBAD; # BASE LLCB #
CNE = CN; # CONNECTION NUMBER #
LLCBINDX = CN1 + LLCBHSIZE; # LLCB INDEX #
P<NCNT> = LLCBNCNT[LLCBINDX]; # BASE NCNT #
IF P<NCNT> NQ 0
THEN
BEGIN # NCNT EXISTS #
NCNTINDX = CN2 + NCNTHSIZE; # INDEX INTO NCNT #
NCNTEAD = P<NCNT> + NCNTINDX; # EXIT PARAM - NCNT ENTRY ADDR #
END
ELSE # NCNT DOES NOT EXIST #
NCNTEAD = 0; # SET EXIT PARAMETER-NCNT ENTRY ADDRESS #
RETURN;
END
TERM