cdc:nos2.source:nam5871:ksendhm
Table of Contents
KSENDHM
Table Of Contents
- [00011] PRGM KSENDHM
- [00021] PROC MGETS
- [00022] PROC NFOB
- [00023] PROC XTRACE
Source Code
- KSENDHM.txt
- *DECK KSENDHM
- USETEXT NIPDEF
- USETEXT AHEADER
- USETEXT FREETAB
- USETEXT LLCB
- USETEXT PARAMS
- USETEXT PT
- USETEXT SUPMSG
- USETEXT TNT
- PRGM KSENDHM; # PROCESS NAM K DISPLAY SEND COMMAND #
- STARTIMS;
- STOPIMS;
- #
- EXTERNAL REFERENCES
- #
- XREF
- BEGIN
- PROC MGETS; # GET BUFFER #
- PROC NFOB; # LINK MESSAGE TO NETWORK #
- PROC XTRACE; # TRACE ROUTINE CALL #
- LABEL RJMAIN;
- END
- #
- LOCAL DEFINITIONS
- #
- DEF MAX$NN # 255 #; # HIGHEST NETWORK NODE NUMBER ALLOWED #
- #
- LOCAL VARIABLES
- #
- ITEM DHN; # DESTINATION HOST NODE NUMBER #
- ITEM DNODE C(10); # DESTINATION NODE IN OCTAL DISPLAY #
- ITEM KRC; # ERROR RETURN CODE #
- ITEM I; # INDUCTION VARIABLE #
- ITEM TEMP; # TEMPORARY #
- BASED ARRAY HMSG$TEXT [0:0] S(4);
- BEGIN # HOP MESSAGE TEXT #
- ITEM HMSG$WORD1 U(00,00,60); # TEXT WORD 1 #
- ITEM HMSG$WORD2 U(01,00,60); # TEXT WORD 2 #
- ITEM HMSG$WORD3 U(02,00,60); # TEXT WORD 3 #
- ITEM HMSG$WORD4 U(03,00,60); # TEXT WORD 4 #
- END
- CONTROL EJECT;
- BEGIN # KSENDHM #
- CONTROL IFEQ DEBUG,1;
- XTRACE("KSDHM"); # TRACE CALL #
- CONTROL FI;
- DNODE = PARAMS6; # DESTINATION HOST NODE NUMBER #
- KRC = 0; # INITIALIZE RETURN CODE #
- DHN = 0; # INITIALIZE DESTINATION NODE #
- FOR I=0 STEP 1 WHILE I LS WC
- AND KRC EQ 0
- AND C<I>DNODE NQ " "
- DO # CONVERT DESTINATION HOST NODE NUMBER INTO BINARY #
- BEGIN
- TEMP = C<I>DNODE; # ONE DIGIT #
- IF TEMP GQ "0"
- AND TEMP LQ "9"
- THEN # ALLOW ONLY DECIMAL VALUE #
- DHN = DHN*10 + (TEMP-O"33");
- ELSE # ERROR, MUST BE IN DECIMAL #
- KRC = 8;
- END
- IF KRC EQ 0
- THEN
- BEGIN # LOCATE H-H LOGICAL LINK WITH TN = DHN #
- P<LLCB> = 0; # INITIALIZE LLCB ADDRESS #
- IF DHN LS TNTBS[0]
- THEN # DESTINATION NODE WITHIN TNT RANGE #
- BEGIN # SEARCH FOR A H-H LOGICAL LINK #
- P<LLCB> = TNTLLAD[DHN]; # FWA OF LLCB #
- FOR TEMP=TEMP WHILE P<LLCB> NQ 0 # LLCB EXISTS #
- AND (NOT LLCBHH[0] # NOT H-H LINK #
- OR LLCBWOF[0]) # LINK FAILED #
- DO # GET NEXT LOGICAL LINK IN CHAIN #
- P<LLCB> = LLCBFP[0]; # RESET LLCB ADDRESS #
- END
- IF P<LLCB> NQ 0
- THEN # LOCATE H-H LOGICAL LINK TO DESTINATION NODE #
- BEGIN
- IF LLCBHRL[0] LQ HRLV0
- THEN # DESTINATION HOST ALLOWS NO TRAFFIC AT MAX FL #
- KRC = 9;
- END
- ELSE # NO H-H LOGICAL LINK FOUND #
- KRC = 10;
- END
- IF KRC EQ 0
- THEN
- BEGIN # SEND HOP/SEND TO DESTINATION HOST #
- MGETS(LHOPSD+BLKHSIZE+ABHSIZE,TEMP,TRUE);
- P<AHEADER> = TEMP+BLKHSIZE; # FWA OF ABH #
- ABHABT[0] = APPCMD;
- ABHACT[0] = CT8ASCII;
- ABHTLC[0] = LHOPSDR;
- P<SUPMSG> = P<AHEADER>+ABHSIZE;
- P<SMNIP> = P<SUPMSG>; # FORMAT HOPN/SEND #
- P<HMSG$TEXT> = PARAMS2; # HOP MESSAGE TEXT FWA #
- PFCSFC[0] = HOPSEND;
- HOPMSG1[0] = HMSG$WORD1[0]; # SEND UP TO 40 CHARS #
- HOPMSG2[0] = HMSG$WORD2[0];
- HOPMSG3[0] = HMSG$WORD3[0];
- HOPMSG4[0] = HMSG$WORD4[0];
- NFOB(TEMP,P<LLCB>); # SEND HOPN/SEND TO NETWORK #
- END
- PARAMS7 = KRC; # SET RETURN CODE #
- GOTO RJMAIN;
- END # KSENDHM #
- TERM
cdc/nos2.source/nam5871/ksendhm.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator