User Tools

Site Tools


cdc:nos2.source:nam5871:ncsttp

NCSTTP

Table Of Contents

  • [00022] PROC NCSTTP1)
  • [00124] PROC ABORT
  • [00125] PROC NBSTTP
  • [00126] PROC HCSTTP
  • [00127] PROC MGETS
  • [00128] PROC HRELPWL
  • [00129] PROC LOCLLCB
  • [00130] PROC LOCNCNT
  • [00131] PROC NFOB
  • [00132] PROC OMSG
  • [00133] PROC OVLCALL
  • [00134] PROC XSTTP
  • [00135] PROC XTRACE
  • [00569] PROC CRNCNBP
  • [00585] PROC SICNXXP

Source Code

NCSTTP.txt
  1. *DECK NCSTTP
  2. USETEXT NIPDEF
  3. USETEXT ACB
  4. USETEXT ACNB
  5. USETEXT AHEADER
  6. USETEXT APPSTAT
  7. USETEXT AT
  8. USETEXT DRHDR
  9. USETEXT DUMPFLG
  10. USETEXT LLCB
  11. USETEXT MSGIDX
  12. USETEXT NCNB
  13. USETEXT NCNT
  14. USETEXT PCNB
  15. USETEXT PWL
  16. USETEXT OVERLAY
  17. USETEXT PARAMP
  18. USETEXT PARAMS
  19. USETEXT PT
  20. USETEXT STPRESP
  21. USETEXT SUPMSG
  22. PROC NCSTTP((LLCBAD),(CN),(TRIGGER),(SMPTR));
  23. STARTIMS;
  24. #
  25. *1DC NCSTTP
  26. *
  27. * 1. PROC NAME AUTHOR DATE
  28. * NCSTTP C. BITTNER 81/05/15
  29. *
  30. * 2. FUNCTIONAL DESCRIPTION
  31. * NETWORK CONNECTION STATE TABLE PROCESSOR
  32. *
  33. * 3. METHOD USED
  34. * VALIDATE TRIGGER. SET CURRENT STATE (IF THERE IS NO NCNB
  35. * THEN SET THE CURRENT STATE TO STATX). CALL XSTTP (STATE TABLE
  36. * PROCESSOR) PASSING THE STATE TABLE ORDINAL, CURRENT
  37. * CONNECTION STATE AND TRIGGER. IF A LEGAL TRIGGER IS
  38. * RETURNED THEN DO THE FOLLOWING (IF VALUE NOT SET TO NOCHG):
  39. * A) ACTION - EXECUTE NETWORK CONNECTION STATE TABLE
  40. * ACTION (ISSUE SM, ETC)
  41. * B) NEWSTATE - UPDATE NEW CONNECTION STATE
  42. * C) TRIGC - TRIGGER HOST CONNECTION STATE TABLE
  43. * D) TRIGB - TRIGGER HOST BLOCK PROTOCOL STATE TABLE
  44. *
  45. * IF AN ILLEGAL TRIGGER IS RETURNED THEN DO THE
  46. * FOLLOWING: IF THE TRIGGER IS INTERNAL TO NIP THEN ABORT
  47. * NIP. IF ILLEGAL EXTERNAL TRIGGER AND IN DEBUG MODE
  48. * ABORT CCP (SEND NPI/IN TO CCP). IF ILLEGAL EXTERNAL
  49. * TRIGGER AND NOT IN DEBUG MODE, IGNORE TRIGGER (NO-OP).
  50. *
  51. *
  52. * 4. ENTRY PARAMETERS
  53. * LLCBAD - LLCB ADDRESS OR NCNB ADDRESS
  54. * CN - NETWORK CONNECTION NUMBER
  55. * TRIGGER - NETWORK CONNECTION STATE TABLE TRIGGER
  56. * SMPTR - ADDRESS OF SM BUFFER
  57. *
  58. * 5. EXIT PARAMETERS
  59. * NONE
  60. *
  61. * 6. SYMPL TEXTS USED
  62. * ACNB
  63. * APPSTAT
  64. * AT
  65. * NCNB NCNT
  66. * OVERLAY
  67. * NIPDEF PARAMP
  68. * PARAMS PT
  69. * STPRESP PCNB PWL
  70. * SUPMSG
  71. * AHEADER LLCB MSGIDX
  72. *
  73. * 7. ROUTINES CALLED
  74. * NBSTTP - NETWORK BLOCK PROTOCOL STATE TABLE PROCESSOR
  75. * HCSTTP - HOST CONNECTION STATE TABLE PROCESSOR
  76. * MGETS - GET A BUFFER
  77. * LOCLLCB - FIND LLCB ADDRESS
  78. * LOCNCNT - LOCATE NCNT ENTRY ADDRESS
  79. * OMSG - ISSUE DAYFILE MESSAGE
  80. * OVLCALL - LOAD AND EXECUTE OVERLAY
  81. * ABORT - ABORT NIP
  82. * NFOB - LINK MESSAGE ON PIP OUTBOUND CHAIN
  83. * CRNCNBP - INTERNAL PROC TO CREATE NCNB
  84. * NNPIIN OVL SEND NPI/IN TO CCP
  85. * NICTEAX OVL ISSUE ICN/TE/A
  86. * COMPCON OVL TRIGGER CONNECTION PROCESSING ROUTINES
  87. * NTCNTAR OVL ISSUE TCN/TA/R
  88. * UPDNCNB OVL UPDATE NCNB ON RECEIPT OF CHC/TE
  89. * NICNTEA OVL SEND ICN/TE/A TO CCP
  90. * NTCNTAN OVL SENT TCN/TA/N TO CCP
  91. * NPPCT OVL CONVERT PCNB TO NCNB
  92. * RELNCNB OVL RELEASE NCNB
  93. * STPNERR OVL ISSUE STP ERROR MESSAGE
  94. * XERRMSG OVL ISSUE ERROR MESSAGE
  95. * STRTCON OVL TRIGGER CONNECTION PROCESSING ROUTINES
  96. * XSTTP - STATE TABLE PROCESSOR
  97. * XTRACE - RECORD PROCEDURE CALL
  98. *
  99. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
  100. * "CCP ERROR - NCSTTP"
  101. * "NIP INTERNAL ERROR - PROC NAME"
  102. * "INVALID TRIGGER NUMBER - __STTP"
  103. *
  104. * THIS PROCEDURE IS CALLED BY HCSTTP, NBSTTP
  105. * NPNIPSM, NPPWL, AND RELCONN.
  106. *
  107.  #
  108. STOPIMS;
  109. #
  110.  INPUT PARAMETERS
  111. #
  112.  
  113. ITEM LLCBAD; # LLCB ADDRESS #
  114. ITEM CN; # CONNECTION NUMBER #
  115. ITEM TRIGGER; # STATE TABLE TRIGGER #
  116. ITEM SMPTR; # ADDRESS OF SM BUFFER #
  117.  
  118. #
  119.  EXTERNAL VARIABLES
  120. #
  121.  
  122. XREF
  123. BEGIN
  124. PROC ABORT; # ABORT NIP #
  125. PROC NBSTTP; # NETW BLOCK PROTOCOL STATE TABLE PROC #
  126. PROC HCSTTP; # HOST CONNECTION STATE TABLE PROC #
  127. PROC MGETS;
  128. PROC HRELPWL; # RELEASE USED PORTION OF NWL #
  129. PROC LOCLLCB ;
  130. PROC LOCNCNT; # LOCATE NCNT ENTRY ADDRESS #
  131. PROC NFOB ;
  132. PROC OMSG; # ISSUE DAYFILE MESSAGE #
  133. PROC OVLCALL; # LOAD AND EXECUTE OVERLAY #
  134. PROC XSTTP; # STATE TABLE PROCESSOR #
  135. PROC XTRACE; # RECORD PROCEDURE CALL #
  136. END
  137.  
  138. #
  139.  INTERNAL VARIABLES
  140. #
  141.  
  142. SWITCH NCACTION NC0,NC1,NC2,NC3,NC4,NC5,NC6,NC7,NC8,
  143. NC9,NC10,NC11,NC12,NC13,NC14,NC15,NC16,NC17,NC18,NC19;
  144.  
  145. ITEM ACN; # APPLICATION CONNECTION NUMBER #
  146. ITEM AN; # APPLICATION NUMBER #
  147. ITEM CURST; # CURRENT STATE #
  148. ITEM NCNTEAD; # NCNT ENTRY ADDRESS #
  149. ITEM RESP U; # RESPONSE WORD #
  150. ITEM TRC I ; # TERMINATED REASON CODE #
  151.  
  152. #**********************************************************************#
  153. BEGIN
  154.  
  155. BEGIN
  156. CONTROL IFEQ DEBUG,1;
  157. XTRACE("NCSTT") ;
  158. CONTROL FI;
  159.  
  160. TRC = 0 ; # ASSUMING RC TO TERMINATE IS ZERO #
  161. CURST = 0 ;
  162. P<ACNB> = 0 ;
  163. PARAMS3 = 0;
  164. P<NCNB> = 0;
  165. P<SUPMSG> = SMPTR+BLKHSIZE+ABHSIZE;
  166. P<SMNVF> = P<SUPMSG>;
  167. P<SMNIP> = P<SUPMSG>;
  168. # VALIDATE TRIGGER NUMBER #
  169. IF TRIGGER LQ NCMTR AND TRIGGER GQ 0
  170. THEN
  171. BEGIN # VALID TRIGGER NUMBER #
  172. P<LLCB> = LLCBAD ;
  173. IF LLCBID[0] EQ NCNBIDVALUE OR
  174. LLCBID[0] EQ LCNBIDVALUE OR
  175. LLCBID[0] EQ PCNBIDVALUE
  176. THEN
  177. BEGIN
  178. P<NCNB> = LLCBAD ;
  179. CURST = NCNBCST[0] ;
  180. P<ACNB>=NCNBACNB[0];
  181. LOCLLCB(NCNBHN[0],NCNBTN[0],LLCBAD) ;
  182. END
  183. ELSE # THIS IS AN LLCB (CALLED FROM HOST SIDE) #
  184. BEGIN
  185. LOCNCNT(LLCBAD,CN,NCNTEAD); # LOCATE NCNT ENTRY ADDRESS #
  186. P<NCNT> = NCNTEAD;
  187. IF P<NCNT> EQ 0
  188. THEN
  189. CURST = STATX;
  190. ELSE
  191. BEGIN
  192. P<NCNB> = NCNTNCNB[0];
  193. IF P<NCNB> EQ 0
  194. THEN
  195. CURST = STATX;
  196. ELSE
  197. BEGIN
  198. CURST = NCNBCST[0] ;
  199. P<ACNB> = NCNBACNB[0] ;
  200. END
  201. END
  202. END
  203. XSTTP(NCORD,CURST,TRIGGER,RESP); # CALL STATE TABLE PROC #
  204. P<STRESP> = LOC(RESP);
  205. IF LEGTRIG[0]
  206. THEN
  207. BEGIN # LEGAL TRIGGER #
  208. IF ACTION[0] NQ NOCHG
  209. THEN
  210. GOTO NCACTION[ACTION[0]]; # EXECUTE PROPER ACTION #
  211. ELSE
  212. GOTO NCA;
  213. CONTROL EJECT;
  214.  
  215. NC0:
  216. #
  217.   BUILD NCNB, LINK IT TO ACNB
  218.   FORMAT ICN/AP/R FROM CR/IAP/N
  219.   SEND ICN/AP/R TO NETWORK
  220. #
  221. CRNCNBP; # BUILD NCNB FROM CR/IAP/N #
  222. NCNBACNB[0] = ACNBADD;
  223. P<ACNB> = ACNBADD;
  224. ACNBNCNB[0] = NCNBADD; # LINK NCNB/ACNB #
  225. SICNXXP; # SEND ICN/AP/R TO NETWORK #
  226. GOTO NCA ;
  227. NC1:
  228. #
  229.   CNCNB2 (ACTION NO. 1)
  230.   REJECT CN IF IN SHUTDOWN ELSE CREATE NCNB
  231. #
  232. IF SHUTDOWN
  233. THEN # REJECT, HOST IN SHUTDOWN MODE #
  234. PARAMS3 = RTEA"HSD";
  235. ELSE
  236. BEGIN
  237. IF ATACBA[NVFAN] EQ 0
  238. THEN # NVF NOT YET NETTED ON #
  239. PARAMS3 = RTEA"NNO";
  240. END
  241. IF PARAMS3 EQ 0
  242. THEN
  243. CRNCNBP; # BUILD NCNB IF POSSIBLE #
  244. IF PARAMS3 NQ 0
  245. THEN # ERROR DETECTED #
  246. BEGIN
  247. IF TRIGGER EQ RICNTER
  248. THEN # ERROR ON ICN/TE/R #
  249. BEGIN
  250. PARAMS1 = SMPTR; # FWA OF SM BUFFER #
  251. PARAMS2 = LLCBAD; # LLCB ADDRESS #
  252. OVLNAME = NICTEAXP; # SEND ICN/TE/A #
  253. OVLCALL;
  254. END
  255. ELSE # ERROR ON ICN/EX/R OR ICN/AP/R #
  256. SICNXXP; # SEND ICN/EX/A OR ICN/AP/A #
  257. GOTO NCST$EXIT; # EXIT NCSTTP IMMEDIATELY #
  258. END
  259. GOTO NCA;
  260. NC2:
  261. #
  262.   DNCNB1 (ACTION NO. 2)
  263.   ISSUE TCN/TA/R TO CCP
  264. #
  265.  
  266.  
  267. # ISSUE TCN/TA/R TO CCP #
  268.  
  269. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  270. PARAMS2 = RCBRK; # REASON CODE FROM CR/TRM/R #
  271. OVLNAME = NTCNTARP; # OVERLAY NAME #
  272. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  273. GOTO NCA;
  274. NC3:
  275. #
  276.   UNCNB (ACTION NO. 3)
  277.   UPDATE NCNB WITH TERMINAL CHARACTERISTIC CHANGES
  278. #
  279.  
  280. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  281. PARAMS2 = SMPTR; # SM BUFFER - CHC/TE #
  282. OVLNAME = UPDNCNBP; # OVERLAY NAME #
  283. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  284. GOTO NCA;
  285. NC4:
  286. #
  287.   INCNB (ACTION NO. 4)
  288.   UPDATE NCNB WITH TERMINAL NAME AND SEND ICN/TE/N TO CCP
  289. #
  290.  
  291. CONTROL IFEQ DEBUG,1;
  292. IF P<NCNB> EQ 0
  293. THEN
  294. BEGIN # NO CONNECTION #
  295. D27M2[0] = "NCSTTP1";
  296. ABORT(DFMSG27,0); # "NIP INTERNAL ERROR" #
  297. END
  298. CONTROL FI;
  299. NCNBTNAM[0] = CRITN[0]; # TERMINAL NAME #
  300.  
  301. # ISSUE ICN/TE/N #
  302. PARAMS1 = NCNBCN[0];
  303. PARAMS2 = LLCBAD;
  304. PARAMS9 = COMPCX"ICNTE$" ;
  305. OVLNAME = COMPCONP; # OVERLAY NAME #
  306. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  307. GOTO NCA;
  308. NC5:
  309. #
  310.   SICNTEA (ACTION NO. 5)
  311.   SEND ICN/TE/A TO CCP
  312. #
  313. PARAMS1 = CRRITE; # REASON CODE FROM NVF #
  314. PARAMS2 = CN; # NETWORK CONNECTION NUMBER #
  315. PARAMS3 = LLCBAD; # LLCB ADDRESS #
  316. OVLNAME = NICNTEAP; # OVERLAY NAME #
  317. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  318. GOTO NCA;
  319.  
  320. NC6:
  321. #
  322.   SEND ICN/AP/N TO CCP (AFTER CR/RAP/N FROM NVF)
  323. #
  324. SICNXXP; # SEND ICN/AP/N TO NETWORK #
  325. GOTO NCA ;
  326. NC7:
  327. NC8:
  328. #
  329.   STCNTAN (ACTION NO. 8)
  330.   ISSUE TCN/TA/N TO CCP
  331. #
  332.  
  333. RCBRK = TCNRC[0]; # REASON CODE FOR TERMINATION #
  334. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  335. OVLNAME = NTCNTANP; # OVERLAY NAME #
  336. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  337. GOTO NCA;
  338. NC9:
  339. NC10:
  340. GOTO NCA;
  341. NC16:
  342. # SEND IMMEDIATE WORKLIST TO PIP #
  343. P<PCNB> = P<NCNB> ;
  344. PCNBRC[0] = RCBRK ; # SAVE REASON CODE (IF TCN/TA) #
  345. MGETS(LTCPWL,P<PWLHDR>,TRUE);
  346. PWLID[0] = PWLIDVALUE ;
  347. PWLHN[0] = PCNBHN[0] ;
  348. PWLTN[0] = PCNBTN[0] ;
  349. PWLCN[0] = CN ;
  350. PWLOP[0] = PWLOPTRMCN; # TERMINATE CONN REQUEST #
  351. PWLRC[0] = TRC ; # TELL PIP THE REASON CODE #
  352. # AND LINK IT TO IMMEDIATE QUEUE #
  353. PCNBIMMO[0] = P<PWLHDR> ;
  354.  
  355. GOTO NCA ;
  356. NC17:
  357. #
  358.   AFTER COMPLETION SEND TCN/TA/R TO CCP
  359. #
  360. PARAMS1 = P<NCNB> ;
  361. PARAMS2 = RCBRK;
  362. OVLNAME = NTCNTARP ;
  363. OVLCALL ; # SEND TCN/TA/R TO CCP #
  364. GOTO NCA ;
  365. NC18:
  366. #
  367.   NO TCN/TA/R TO CCP
  368. #
  369. GOTO NCA ;
  370. NC19:
  371. P<SUPMSG> = SMPTR + BLKHSIZE + ABHSIZE ;
  372. IF PFC[0] EQ OFT
  373. THEN
  374. TRC = OFTRC ;
  375. ELSE
  376. IF PFC[0] EQ IFT
  377. THEN
  378. TRC = IFTRC ;
  379. ELSE
  380. ABORT(0,0) ;
  381. GOTO NC16 ;
  382.  
  383.  
  384.  
  385.  
  386. NC11:
  387.  
  388. NC12:
  389. #
  390.   STANRNC (ACTION NO. 12)
  391.   ISSUE TCN/TA/N TO CCP
  392.   RELEASE NCNB
  393. #
  394.  
  395. RCBRK = TCNRC[0]; # REASON CODE FOR TERMINATION #
  396. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  397. OVLNAME = NTCNTANP; # OVERLAY NAME #
  398. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  399. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  400. OVLNAME = RELNCNBP; # OVERLAY NAME #
  401. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  402. GOTO NCA;
  403.  
  404.  
  405. NC13:
  406. #
  407.   STEARNC (ACTION NO. 13)
  408.   ISSUE ICN/TE/A AND DELETE NCNB
  409. #
  410.  
  411. PARAMS1 = CRRITE; # REASON CODE FROM NVF #
  412. PARAMS2 = CN; # NETWORK CONNECTION NUMBER #
  413. PARAMS3 = LLCBAD; # LLCB ADDRESS #
  414. OVLNAME = NICNTEAP; # OVERLAY NAME #
  415. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  416. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  417. OVLNAME = RELNCNBP; # OVERLAY NAME #
  418. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  419. GOTO NCA;
  420.  
  421. NC14:
  422. #
  423.   RLNCNB (ACTION NO. 14)
  424.   RELEASE NCNB
  425. #
  426. PARAMS1 = P<NCNB>; # NCNB ADDRESS #
  427. RCBRK = RCCB"LLF" ; # LOGICAL-LINK HAS FAILED #
  428. # #
  429. OVLNAME = RELNCNBP; # OVERLAY NAME #
  430. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  431. GOTO NCA;
  432.  
  433.  
  434. NC15:
  435. #
  436.   SAPARNC (ACTION NO. 15)
  437.   ISSUE ICN/AP/A AND DELETE NCNB
  438. #
  439. PARAMS3 = CRRRAP[0]; # REASON CODE FROM CR/RAP/A #
  440. SICNXXP; # SEND ICN/AP/A OR ICN/EX/A #
  441. PARAMS1 = P<NCNB> ;
  442. OVLNAME = RELNCNBP; # RELEASE NCNB #
  443. OVLCALL ;
  444. GOTO NCA;
  445.  
  446.  
  447.  
  448. CONTROL EJECT;
  449. NCA:
  450.  
  451. IF NEWSTATE[0] NQ STATX
  452. THEN
  453. BEGIN
  454. NCNBLCS[0] = CURST ; # UPDATE LAST CONNECTION STATE #
  455. NCNBLCT[0] = TRIGGER ; # UPDATE LAST CONNECTION TRIGGER #
  456. IF NEWSTATE[0] NQ NOCHG
  457. THEN
  458. NCNBCST[0] = NEWSTATE[0]; # UPDATE NEW CONN STATE #
  459. END
  460.  
  461. IF TRIGC[0] NQ NOCHG
  462. THEN
  463. BEGIN # TRIGGER HOST CONNECTION STATE TABLE #
  464.  
  465.  
  466. IF P<ACNB> EQ 0
  467. THEN
  468. BEGIN # THERE IS NO CONNNECTION #
  469. ACN = 0; # APPLICATION CONNNECTION NUMBER #
  470. AN = NVFAN; # APPLICATION NUMBER #
  471. END
  472. ELSE
  473. BEGIN # THERE IS A CONNECTION #
  474. AN = ACNBAN[0]; # APPLICATION NUMBER #
  475. ACN = ACNBACN[0]; # APPLICATION CONNECTION NUMBER #
  476. END
  477. P<ACB> = ATACBA[AN]; # BASE APPLICATION CONTROL BLK #
  478. HCSTTP(P<ACB>,ACN,TRIGC[0],SMPTR);
  479. END
  480.  
  481. IF TRIGB[0] NQ NOCHG
  482. THEN # TRIGGER NETW BLOCK PROTOCOL STATE TABLE #
  483. BEGIN
  484. CONTROL IFEQ DEBUG,1;
  485. IF P<NCNB> EQ 0
  486. THEN
  487. BEGIN
  488. D27M2[0] = "NCSTTP2";
  489. ABORT(DFMSG27,0); # "NIP INTERNAL ERROR" #
  490. END
  491. CONTROL FI;
  492. NBSTTP(P<NCNB>,TRIGB[0],0);
  493. END
  494.  
  495.  
  496. END
  497.  
  498. ELSE
  499.  
  500. BEGIN # ILLEGAL TRIGGER #
  501. PARAMS1 = NCNBHN[0]; # HOST NODE #
  502. PARAMS2 = NCNBTN[0]; # TERMINAL NODE #
  503. PARAMS3 = CN; # NETWORK CONNECTION NUMBER #
  504. PARAMS4 = TRIGGER; # ILLEGAL TRIGGER #
  505. PARAMS6 = "NCSTTP";# NAME OF STATE TABLE PROCESSOR #
  506. PARAMS7 = CURST; # CURRENT CONNECTION STATE #
  507. OVLNAME = STPNERRP;# ISSUE STP ERROR MESSAGE #
  508. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  509. IF TRIGGER LS NCMINXT OR TRIGGER GR NCMAXXT
  510. THEN # TRIGGER INTERNAL TO NIP #
  511. BEGIN
  512. ABORT(0,0); # ABORT NIP #
  513. END
  514.  
  515. ELSE
  516.  
  517. BEGIN # ILLEGAL EXTERNAL TRIGGER (CCP) #
  518. CONTROL IFEQ DEBUG,1;
  519. IF TRIGGER EQ RICNTER OR TRIGGER EQ RICNAPR
  520. THEN
  521. BEGIN
  522. PARAMS1 = SMPTR; # SM BUFFER #
  523. PARAMS2 = LLCBAD; # LLCB ADDRESS #
  524. PARAMS3 = RTEA"TCE"; # RC=9 TERM CON EXISTS #
  525. IF TRIGGER EQ RICNTER
  526. THEN
  527. BEGIN
  528. OVLNAME = NICTEAXP ;
  529. OVLCALL ;
  530. END
  531. ELSE
  532. BEGIN
  533. P<NCNB> = 0; # SEND ICN/AP/A IMMEDIATELY #
  534. SICNXXP;
  535. END
  536. END
  537. PARAMS1 = LLCBAD ;
  538. PARAMS2 = TRIGGER; # BAD TRIGGER FROM NETWORK #
  539. PARAMS3 = CURST; # CURRENT STATE OF CONNECTION #
  540. PARAMS4 = CN; # NETWORK CONNECTION NUMBER #
  541. PARAMS7 = X"43"; # STATE TABLE PROCESSOR #
  542. OVLNAME = NNPIINP; # SEND NPI/IN TO CCP #
  543. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  544. CONTROL FI;
  545.  
  546.  
  547. END
  548.  
  549. END
  550.  
  551. END
  552. ELSE # INVALID TRIGGER - NIP INTERNAL ERROR #
  553.  
  554. NCERR: BEGIN
  555. PARAMS1 = DFMSG26;
  556. PARAMS6 = "NC";
  557. OVLNAME = XERRMSGP;
  558. OVLCALL;
  559. END
  560.  
  561. NCST$EXIT:
  562. # EXIT #
  563.  
  564. RETURN;
  565. END
  566.  
  567.  
  568.  
  569. PROC CRNCNBP ; # CREATE NCNB #
  570. BEGIN
  571. PARAMS1 = P<SUPMSG>; # FWA OF CR/IAP/N OR ICN/TE/R #
  572. # OR ICN/EX/R OR ICN/AP/R #
  573. PARAMS2 = LLCBAD; # LLCB ADDRESS #
  574. PARAMP5 = STRTCX"BNCNB$" ;
  575. OVLNAME = STRTCONP ;
  576. OVLCALL; # LOAD AND EXECUTE OVERLAY #
  577. P<NCNB> = PARAMS1;
  578. NCNBADD = PARAMS1; # NCNB ADDRESS #
  579. P<NCNT> = PARAMS2; # NCNT ADDRESS #
  580. RETURN ;
  581. END
  582.  
  583.  
  584.  
  585. PROC SICNXXP; # SEND ICN/XX TO NETWORK #
  586. BEGIN
  587. PARAMS1 = SMPTR;
  588. PARAMS2 = LLCBAD;
  589. PARAMS4 = P<NCNB>;
  590. PARAMS9 = COMPCX"ICNAP$";
  591. OVLNAME = COMPCONP;
  592. OVLCALL;
  593. RETURN;
  594. END
  595. END
  596. TERM
1)
LLCBAD),(CN),(TRIGGER),(SMPTR
cdc/nos2.source/nam5871/ncsttp.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator