User Tools

Site Tools


cdc:nos2.source:nam5871:nvftbrk

NVFTBRK

Table Of Contents

  • [00007] PROC NVFTBRK
  • [00008] NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM)
  • [00012] PROCESS BREAK OCCURRED CONDITION (FC/BRK SM).
  • [00047] PROC NVFTILP
  • [00048] PROC NVFUMQE

Source Code

NVFTBRK.txt
  1. *DECK NVFTBRK
  2. USETEXT TEXTNVF
  3. USETEXT TXTANVF
  4. USETEXT TXTAPSS
  5. USETEXT TEXTSS
  6.  
  7. PROC NVFTBRK;
  8. # TITLE NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM) #
  9.  
  10. BEGIN # NVFTBRK #
  11. #
  12. ** NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM).
  13. *
  14. * E. THAVIKULWAT 81/09/21
  15. *
  16. * THIS PROCEDURE PROCESSES THE BREAK CONDITION. IT IS CALLED INTO
  17. * EXECUTION BY PROCEDURE *NVFTDQE*.
  18. *
  19. * PROC NVFTBRK
  20. *
  21. * ENTRY:
  22. * ABH IN *ABHBUF*
  23. * INTR/USR SM IN *MSGBUF*
  24. *
  25. * EXIT:
  26. * APPROPRIATE LOGIN PROMPT REISSUED IF NECESSARY.
  27. *
  28. * NOTES:
  29. * 1) IF CTRL/RTC REQUEST FOR TERMINAL CLASS AND ECHOPLEX IS
  30. * OUTSTANDING WHEN A BREAK IS RECEIVED, THE REQUEST MIGHT
  31. * HAVE BEEN DISCARDED. IN THIS CASE, THE REQUEST MUST BE
  32. * REISSUED.
  33. *
  34. * METHOD:
  35. * SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
  36. * IF ENTRY FOUND AND TERMINAL IS WAITING FOR A RESPONSE TO ONE OF
  37. * IT'S LOGIN PROMPT, THEN REISSUE FAMILY OR APPLICATION PROMPT.
  38. * OTHERWISE, IGNORE THE BREAK.
  39. #
  40.  
  41. #
  42. **** PROC NVFTBRK - XREF LIST.
  43. #
  44.  
  45. XREF
  46. BEGIN
  47. PROC NVFTILP; # ISSUE LOGIN PROMPT #
  48. PROC NVFUMQE; # TRANSFER PROTOCOL RESPONSE TO QUEUE #
  49. END
  50.  
  51. #
  52. ****
  53. #
  54. ITEM ADDR I; # ADDRESSING INFORMATION FOR ABH #
  55. ITEM MATCH B; # EXIT LOOP VARIABLE #
  56. ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE #
  57. ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
  58.  
  59. #
  60. * SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
  61. * IF NO MATCH, IGNORE SM.
  62. #
  63. MATCH = FALSE;
  64. NENTRY = PTALNGTH / PTACSIZ$; # CALCULATE NUMBER OF ENTRIES #
  65. FOR PT = 0 STEP 1 WHILE (NOT MATCH AND PT LS NENTRY)
  66. DO
  67. BEGIN
  68. IF PTA$ACN[PT] EQ INTRACN[0]
  69. THEN
  70. BEGIN # PTAC ENTRY FOUND #
  71. #
  72. * BUILD FC/RST PROTOCOL RESPONSE.
  73. #
  74. SPMSG0[1] = 0;
  75. PFCSFC[1] = FCRST;
  76. FCACN[1] = FCACN[0];
  77. ADDR = ABHADR[0];
  78. NVFUMQE(P<CTQ>,APSM[1],APPPR$,ADDR,LFC); # TRNSFR RSP TO Q #
  79.  
  80. ADDR = PTA$ACN[PT];
  81. #
  82. * DETERMINE PROMPT TO REISSUE. IF BREAK OCCURRED WHILE
  83. * TERMINAL WAS WAITING FOR RESPONSE TO A FAMILY, USER, PASSWORD
  84. * OR PERSONAL ID PROMPT, THE FAMILY PROMPT WILL BE REISSUED. IF
  85. * WAITING FOR PID RESPONSE, BEFORE REISSUE FAMILY PROMPT, MAKE
  86. * SURE TO DECREMENT FAMILY COUNT. IF WAITING FOR RESPONSE TO
  87. * APPLICATION PROMPT, THE APPLICATION PROMPT WILL BE REISSUED.
  88. #
  89. IF PTA$STATE[PT] EQ PTACST"AWTRSP"
  90. THEN # AWAITING RESPONSE TO PROMPT #
  91. BEGIN
  92. IF PTA$PROMPT[PT] NQ AWTAPP$
  93. THEN
  94. BEGIN # REISSUE FAMILY PROMPT #
  95.  
  96. IF (PTA$PROMPT[PT] EQ AWTPID$) AND (PTA$SCINV[PT] EQ 0)
  97. THEN # ISSUE CMP73 REQUEST TO #
  98. BEGIN # DECREMENT FAMILY COUNT #
  99. P<CRQBUF> = LOC(MSGBUF[0])+((NMSGBUF$+1)/2);
  100. CRQ$FCWORD[0] = 0;
  101. CRQ$FWORD[0] = 0;
  102. CRQ$FC[0] = CPM73B$; # DECREMENT FAMILY COUNT #
  103. CRQ$ACN[0] = 0;
  104. CRQ$FNAM[0] = PTA$FNAM[PT];
  105. NVFUMQE(P<CPMRQ>,CRQBUF[0],APPTTX$,0,CRQDSIZ$ * 10);
  106. END
  107.  
  108. PTA$PROMPT[PT] = AWTFAM$; # AWAIT FAMILY PROMPT #
  109. END
  110. NVFTILP(PT); # ISSUE NEXT PROMPT #
  111. END
  112. MATCH = TRUE;
  113. END
  114. END
  115.  
  116. END # END NVFTBRK #
  117.  
  118. TERM
cdc/nos2.source/nam5871/nvftbrk.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator