User Tools

Site Tools


cdc:nos2.source:nam5871:hcrrcnr

HCRRCNR

Table Of Contents

  • [00011] PRGM HCRRCNR
  • [00067] PROC MGETS
  • [00068] PROC BLINK
  • [00069] PROC OSCHAPP
  • [00070] PROC XTRACE

Source Code

HCRRCNR.txt
  1. *DECK HCRRCNR
  2. USETEXT ACNB
  3. USETEXT AHEADER
  4. USETEXT AT
  5. USETEXT DRHDR
  6. USETEXT NCNB
  7. USETEXT NIPDEF
  8. USETEXT PARAMS
  9. USETEXT PT
  10. USETEXT SUPMSG
  11. PRGM HCRRCNR;
  12. STARTIMS;
  13. #
  14. *1DC HCRRCNR
  15. *
  16. * 1. PROC NAME AUTHOR DATE
  17. * HCRRCNR C. BITTNER 81/12/01
  18. *
  19. * 2. FUNCTIONAL DESCRIPTION
  20. * FORMAT AND SEND CR/RCN/R TO NVF
  21. *
  22. * 3. METHOD
  23. * ALLOCATE A BUFFER FOR CR/RCN/R
  24. * SET UP APPLICATION BLOCK HEADER
  25. * SET UP CR/RCN/R TEXT
  26. * QUEUE MESSAGE ON NVF-S ACB
  27. *
  28. * 4. ENTRY PARAMETERS
  29. * PARAMS1 - ACNB OF NVF CONNECTION TO RECONNECT TO
  30. * PARAMS2 - ANAME FIELD OF CON/END/R
  31. * PARAMS3 - REASON CODE FOR RECONNECT
  32. * PARAMS4 - APPLICATION NO. OF APPL WHICH HAD THE CONNECTION
  33. *
  34. * 5. EXIT PARAMETERS
  35. * NONE
  36. *
  37. * 6. COMDECKS CALLED AND SYMPL TEXTS USED
  38. * ACNB
  39. * AHEADER
  40. * AT
  41. * NCNB
  42. * NIPDEF
  43. * PARAMS
  44. * PT
  45. * SUPMSG
  46. *
  47. * 7. ROUTINES AND OVERLAYS CALLED
  48. * BLINK - QUEUE MSG ON APPL-S ACB
  49. * MGETS - ALLOCATE EMPTY BUFFER
  50. * OSCHAPP - SCHEDULE APPLICATION
  51. * XTRACE - RECORD PROCEDURE CALL
  52. *
  53. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
  54. * THIS IS A SECONDARY OVERLAY CALLED BY HCSTTP.
  55. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
  56. *CALL OSSIZE
  57. *
  58.  #
  59. STOPIMS;
  60.  
  61.  
  62. #
  63.   EXTERNAL VARIABLES
  64. #
  65. XREF
  66. BEGIN
  67. PROC MGETS; # ALLOCATE EMPTY BUFFER #
  68. PROC BLINK; # QUEUE MSG ON APPL-S ACB #
  69. PROC OSCHAPP; # SCHEDULE APPLICATION #
  70. PROC XTRACE; # RECORD PROCEDURE CALL #
  71. LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
  72. END
  73.  
  74. #
  75.   INTERNAL VARIABLES
  76. #
  77. ITEM BUFADDR; # SM BUFFER #
  78. ITEM BUFSIZE ;
  79. ITEM EXTRAB U ; # EXTRA LENGTH OF CON/END/R #
  80. ITEM I ;
  81.  
  82.  
  83. #**********************************************************************#
  84.  
  85. BEGIN
  86.  
  87. CONTROL IFEQ DEBUG,1;
  88. XTRACE("HCRRC") ;
  89. CONTROL FI;
  90.  
  91. # GET BUFFER TO HOLD CR/RCN/R #
  92.  
  93. P<DRHDRWD> = PARAMS7 ; # CON/END/R BUFFER #
  94.  
  95. IF PARAMS7 EQ 0 # NOT CON/END/R CASE #
  96. OR ( DRBS[0] LQ ABHSIZE + BLKHSIZE + LCONEN # = 4 #
  97. AND PARAMS7 NQ 0 ) # AND FOR CON/END/R CASE #
  98. THEN
  99. EXTRAB = 0 ;
  100. ELSE
  101. BEGIN
  102. EXTRAB = DRBS[0] - BLKHSIZE - ABHSIZE - LCONEN ; # EXTRA WORDS #
  103. # IN CON/END/R #
  104. END
  105. BUFSIZE = LCRRCN + BLKHSIZE + ABHSIZE # NORMAL LENGTH OF CR/RC#
  106. + EXTRAB ; # AND LENGTH #
  107. # OF EXTRA WORD IN CON/END #
  108. MGETS(BUFSIZE, BUFADDR, TRUE) ;
  109.  
  110. # SET UP APPLICATION BLOCK HEADER #
  111.  
  112. P<AHEADER> = BUFADDR + BLKHSIZE; # ADDR TO HOLD ABH #
  113. ABHABT[0] = APPCMD; # BLOCK TYPE #
  114. ABHACT[0] = CT60TRANS; # CHARACTER TYPE - TRANSPARENT #
  115. ABHTLC[0] = LCRRCN + EXTRAB ; # TEXT LENGTH #
  116.  
  117. # SET UP CR/RCN/R MESSAGE #
  118.  
  119. P<SUPMSG> = BUFADDR + BLKHSIZE + ABHSIZE; # FWA OF TEXT #
  120. P<SMNVF> = P<SUPMSG>; # BASE CR/RCN/R #
  121. PFCSFC[0] = CRRCN; # SET FUNCTION CODE #
  122. CRRRCN[0] = PARAMS3; # REASON CODE FOR RECONNECT TO NVF #
  123. P<ACNB> = PARAMS1; # ACNB FOR NVF RECONNECT #
  124. P<NCNB> = ACNBNCNB[0]; # ADDR OF CORRESPONDING NCNB #
  125. CRNACN[0] = ACNBACN[0]; # NVF CONNECTION #
  126. CRABL[0] = ACNBABL[0]; # APPLICATION BLOCK LIMIT #
  127. CRDT[0] = ACNBDT[0]; # DEVICE TYPE #
  128. CRVCB[0] = ACNBVCBO[0]; # VCB ORDINAL #
  129. CRUNAME[0] = PARAMS2; # NEXT APPLICATION NAME #
  130. CRAN[0] = PARAMS4; # AN OF APPL WHICH HAD THE CONN #
  131. CRRCTC[0] = NCNBTC[0]; # TERMINAL CLASS #
  132. CRRCPW[0] = NCNBPW[0]; # PAGE WIDTH #
  133. CRRCPL[0] = NCNBPL[0]; # PAGE LENGTH #
  134. IF ACNBLIM[0]
  135. THEN # CONNECTION IN LIMBO #
  136. CRLIMBO[0] = TRUE;
  137.  
  138. # COPY EXTRA WORDS IN CON/END INTO CR/RCN/R BUFFER #
  139. IF BUFSIZE GR LCRRCN + BLKHSIZE + ABHSIZE
  140. THEN
  141. BEGIN # EXTRA BUFFER TO BE COPIED#
  142. FOR I = 0 STEP 1 UNTIL EXTRAB - 1
  143. DO
  144. BEGIN
  145. SPMWD[ LCRRCN + I ] = CMWORD[ BLKHSIZE + ABHSIZE
  146. + LCONEN + I ] ;
  147. END
  148. END # EXTRA BUFFER TO BE COPIED#
  149.  
  150. # QUEUE CR/RCN/R ON NVF-S ACB #
  151. BLINK(BUFADDR,ATACBA[NVFAN]); # QUEUE MSG ON NVF-S ACB #
  152. OSCHAPP(ATACBA[NVFAN]); # SCHEDULE APPLICATION #
  153. GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
  154. END
  155. TERM
cdc/nos2.source/nam5871/hcrrcnr.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator