cdc:nos2.source:nam5871:ndlckpt
Table of Contents
NDLCKPT
Table Of Contents
- [00005] PROC NDLCKPT(PORT,NODE$ID,PORT$STAT)
- [00009] CHECKS FOR DUPLICATE PORT NUMBERS.
- [00047] PROC NDLEM2
- [00048] FUNC XCHD C(10)
Source Code
- NDLCKPT.txt
- *DECK NDLCKPT
- USETEXT NDLER2T
- USETEXT NDLPS2T
- USETEXT NDLTBLT
- PROC NDLCKPT(PORT,NODE$ID,PORT$STAT);
- BEGIN
- *IF,DEF,IMS
- #
- ** NDLCKPT - CHECKS FOR DUPLICATE PORT NUMBERS.
- *
- * D.K. ENDO 81/10/12
- *
- * THIS PROCEDURE, GIVEN A PORT NUMBER AND NPU NODE I.D., DETERMINES
- * IF THE PORT NUMBER HAS ALREADY BEEN USED FOR A PREVIOUSLY DEFINED
- * LINE OR TRUNK.
- *
- * PROC NDLCKPT(PORT,NODE$ID,PORT$STAT)
- *
- * ENTRY PORT = PORT NUMBER TO BE CHECKED.
- * NODE$ID = NPU NODE I.D. THAT SUPPORTS PORT.
- *
- * EXIT PORT$STAT = RETURNED STATUS, SET TO TRUE IF PORT O.K.
- *
- * METHOD
- *
- * SEARCH FOR NODE$ID IN NPU TABLE.
- * IF NPU IS FOUND,
- * CHECK BIT MAP FOR PORT.
- * IF BIT IS SET,
- * THEN,
- * FLAG ERROR -- DUPLICATE PORT NUMBER.
- * CLEAR STATUS FLAG.
- * OTHERWISE,
- * SET BIT CORRESPONDING TO PORT
- * SET STATUS FLAG.
- *
- #
- *ENDIF
- ITEM PORT; # PORT NUMBER TO BE CHECKED #
- ITEM NODE$ID; # NPU NODE I.D. THAT SUPPORTS PORT #
- ITEM PORT$STAT B; # RETURN STATUS OF PORT #
- #
- **** PROC NDLCKPT - XREF LIST BEGINS
- #
- XREF
- BEGIN
- PROC NDLEM2; # MAKES ENTRY IN PASS 2 ERROR FILE #
- FUNC XCHD C(10); # CONVERTS INTEGER TO HEX DISPLAY CODE #
- END
- #
- ****
- #
- ITEM CTEMP C(10); # CHARACTER TEMPORARY #
- ITEM FOUND B; # NODE I.D. FOUND FLAG #
- ITEM I; # SCRATCH ITEM #
- ITEM ITEMP; # INTEGER TEMPORARY #
- ITEM J; # SCRATCH ITEM #
- CONTROL EJECT;
- # #
- # NDLCKPT CODE BEGINS HERE #
- # #
- FOUND = FALSE; # CLEAR FOUND FLAG #
- FOR I=1 WHILE NOT FOUND AND I LS NTWC[0] DO
- BEGIN
- IF NODE$ID EQ NTNID[I]
- THEN # IF NODE I.D. IS FOUND #
- BEGIN
- FOUND = TRUE;
- END
- ELSE # NOT FOUND YET #
- BEGIN
- I = I + NTENTSZ; # POINT TO NEXT ENTRY #
- END
- END
- IF FOUND # NPU WAS FOUND #
- THEN
- BEGIN
- ITEMP = PORT; # SAVE PORT NUMBER IN TEMPORARY #
- FOR J=0 STEP 1 WHILE ITEMP GQ 0 DO
- BEGIN # CALCULATE INDEX INTO PORT EXISTS BIP MAP#
- ITEMP = ITEMP - 60;
- END
- ITEMP = ITEMP + 60;
- IF B<ITEMP,1>NTWORD[I+J] NQ 1
- THEN # PORT HAS NOT BEEN USED #
- BEGIN
- B<ITEMP,1>NTWORD[I+J] = 1; # SET BIT CORRESPONDING TO PORT #
- PORT$STAT = TRUE; # RETURN STATUS O.K. #
- END
- ELSE # PORT WAS ALREADY USED #
- BEGIN
- CTEMP = XCHD(PORT); # CONVERT PORT TO DISPLAY CODE #
- NDLEM2(ERR102,STLNUM[0],CTEMP); # FLAG ERROR, DUPLICATE PORT #
- PORT$STAT = FALSE; # RETURN ERROR STATUS #
- END
- END
- ELSE # NODE I.D. NOT FOUND #
- BEGIN
- PORT$STAT = FALSE; # RETURN ERROR STATUS #
- END
- RETURN; # **** RETURN **** #
- END # NDLCKPT #
- TERM
cdc/nos2.source/nam5871/ndlckpt.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator