User Tools

Site Tools


cdc:nos2.source:nam5871:hpnonap

HPNONAP

Table Of Contents

  • [00017] PRGM HPNONAP
  • [00089] PROC BLINK
  • [00090] PROC MRELS
  • [00091] PROC OMSG
  • [00092] PROC OSCCALL
  • [00093] PROC OSCHAPP
  • [00094] PROC RDUMP
  • [00095] PROC XTRACE

Source Code

HPNONAP.txt
  1. *DECK HPNONAP
  2. USETEXT NIPDEF
  3. USETEXT ACB
  4. USETEXT AHEADER
  5. USETEXT APPSTAT
  6. USETEXT AT
  7. USETEXT AWLNTRY
  8. USETEXT DRHDR
  9. USETEXT DUMPFLG
  10. USETEXT FLIST
  11. USETEXT MSGIDX
  12. USETEXT NWLHEAD
  13. USETEXT PARAMS
  14. USETEXT PT
  15. USETEXT SUPABH
  16. USETEXT SUPMSG
  17. PRGM HPNONAP; # PROCESS NETON OF (NON-SUP) APPLICATION #
  18.  
  19. STARTIMS;
  20. #
  21. *1DC HPNONAP
  22. *
  23. * 1. PROC NAME AUTHOR DATE
  24. * HPNONAP E. GEE 77/07/27
  25. *
  26. * 2. FUNCTIONAL DESCRIPTION.
  27. * PROCESS NETON OF (NON-SUP) APPLICATION.
  28. *
  29. * 3. METHOD USED.
  30. * CREATE NET/ON SUPERVISOR MESSAGE TO SEND TO NVF
  31. * CREATE FUNCTION LIST TO SWAPOUT APPLICATION
  32. * ISSUE SYSTEM CONTROL POINT FUNCTION
  33. * PROCESS SCP RETURN CODE
  34. * IF RETURN CODE EQ 0 OR RCSWAPPEDOUT, THEN QUEUE NET/ON SUP
  35. * MSG TO NVF-S DATA RING,SCHEDULE NVF,CREATE AWL NETON ENTRY,
  36. * AND UPDATE ACB FIELDS
  37. * IF RETURN CODE EQUALS ANYTHING ELSE, THEN RELEASE NWL AND
  38. * SET DELETE ACB FLAG
  39. *
  40. * 4. ENTRY PARAMETERS.
  41. * PARAMS1 MAXIMUM NUMBER OF CONNECTIONS
  42. * PARAMS2 APPLICATION NAME FROM FROM NETON NWL ENTRY
  43. * PARAMS3 DATA AVAILABLE ADDRESS
  44. * PARAMS4 APPLICATION NUMBER
  45. * PARAMS5 PRIVILEGE USER BIT
  46. * PARAMS7 PRIVILEGE PROGRAM BIT
  47. * NWLADDR NWL ADDRESS
  48. * SIZENWL SIZE OF NWL BUFFER
  49. * JOBID APPLICATION JOB ID WORD
  50. * AWLA UCP AWL ADDRESS
  51. * CBA UCP COMPLETION BIT ADDRESS
  52. *
  53. * 5. EXIT PARAMETERS.
  54. * PARAMS5 DELETE-ACB FLAG
  55. *
  56. * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
  57. * ACB AHEADER APPSTAT AT AWLNTRY
  58. * DRHDR FLIST
  59. * NET NIPDEF NWLHEAD OSSIZE
  60. * PARAMS PT SUPABH SUPMSG
  61. *
  62. * 7. ROUTINES AND OVERLAYS CALLED.
  63. * BLINK LINK DATA BLOCK TO DATA RING
  64. * MRELS RELEASE BUFFER SPACE
  65. * OMSG ISSUE DAYFILE MESSAGE
  66. * OSCCALL ISSUE SCP CALL
  67. * OSCHAPP SCHEDULE APPLICATION
  68. * RDUMP DUMP NIP-S FIELD LENGTH
  69. * XTRACE RECORD PROCEDURE CALLS
  70. *
  71. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
  72. *
  73. * THIS PROGRAM IS A SECONDARY OVERLAY LOADED BY SUBROUTINE
  74. * OVLCALL. WHEN EXECUTION IS COMPLETED, A JUMP IS MADE TO
  75. * LOCATION RJMAIN TO RETURN TO THE CALLING PROGRAM.
  76. *
  77. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
  78. *CALL OSSIZE
  79. *
  80. * THIS OVERLAY IS CALLED BY HPNON.
  81. *
  82.  #
  83. STOPIMS;
  84. #
  85.   ENTERNAL VARIABLES
  86. #
  87. XREF
  88. BEGIN
  89. PROC BLINK;
  90. PROC MRELS;
  91. PROC OMSG; # DAYFILE MESSAGE #
  92. PROC OSCCALL;
  93. PROC OSCHAPP;
  94. PROC RDUMP;
  95. PROC XTRACE;
  96. LABEL RJMAIN;
  97. END
  98. #
  99.   INTERNAL VARIABLES
  100. #
  101. ITEM BUFADDR;
  102. ITEM BUFSIZE;
  103. ITEM NVFADDR;
  104. ITEM AN;
  105.  
  106.  
  107. #*********************************************************************#
  108.  
  109. BEGIN
  110.  
  111. CONTROL IFEQ DEBUG,1;
  112. XTRACE("HONAP") ;
  113. CONTROL FI;
  114.  
  115. AN = PARAMS4;
  116. #
  117.   CREATE NET/ON SUPERVISOR MESSAGE TO SEND TO NVF
  118. #
  119. P<DRHDRWD> = NWLADDR; # ADDR OF BUF TO HOLD NET/ON SUP MSG #
  120. BLKID[0] = DRIDVALUE; # DATA RING BLOCK ID VALUE #
  121. BLKBS[0] = LNETON + ABHSIZE + DBHSIZE; # SIZE OF SM DATA BLK #
  122. BUFADDR = NWLADDR + BLKBS[0];
  123. BUFSIZE = SIZENWL - BLKBS[0];
  124.  
  125. # CREATE APPLICATION BLOCK HEADER #
  126. P<AHEADER> = NWLADDR + DBHSIZE; # ADDR TO HOLD ABH #
  127. ABHWORD[0] = SMABHW[0]; # SUP MSG APP BLK HEADER #
  128. ABHTLC[0] = LNETON; # LENGTH OF NET/ON SUP MSG (IN WORDS) #
  129.  
  130. # CREATE SUPERVISOR MESSAGE #
  131. P<SUPMSG> = P<AHEADER> + ABHSIZE; # ADDR TO HOLD NET/ON SM #
  132. P<SMNVF> = P<SUPMSG>; # BASE NET/ON TEMPLATE #
  133. NETWD0[0] = 0;
  134. PFCSFC[0] = NETONR; # PFC/SFC CODE FOR NET/ON/R SUP MSG #
  135. NETANAM[0] = C<0,7> PARAMS2; # APPLICATION NAME #
  136. NETMCN[0] = PARAMS1; # MAXIMUN NUMBER OF CONNECTIONS #
  137. NETNRCN[0] = PARAMS0 ; # NUMBER OF RESERVED OUTGOING CONNS. #
  138. NETAN[0] = AN; # APPLICATION NUMBER #
  139. NETWD2[0] = 0;
  140. NETJSN[0] = C<0,4>JOBID ; # JOB SEQUENCE NUMBER #
  141. NETPU[0] = PARAMS5 ; # PRIVILEGED USER BIT #
  142. NETPP[0] = PARAMS8 ; # PRIVILEGED PROGRAM BIT #
  143. NETACCL[0] = PARAMS7; # APPLICATION ACCESS LEVEL #
  144.  
  145. NVFADDR = ATACBA[NVFAN]; # NVF ACB ADDRESS #
  146. #
  147.   CREATE FUNCTION LIST TO SWAPOUT APPLICATION
  148. #
  149. P<FLHEAD> = BUFADDR; # ADDR OF BUF TO HOLD FUNCTION LIST #
  150. FLWD0[0] = 0;
  151. FLID[0] = FLIDVALUE; # FUNCTION LIST BLOCK ID VALUE #
  152. FLBS[0] = FLSIZE; # FUNCTION LIST SIZE #
  153. FLAN[0] = AN; # APPLICATION NUMBER #
  154. FLFW[0] = 0;
  155. FLJOBID[0] = JOBID; # APPLICATION JOB ID WORD #
  156. #
  157.   ISSUE SYSTEM CONTROL POINT FUNCTION
  158. #
  159. P<FLE> = LOC(FLFW[0]);
  160. FLFC[0] = SFSWPO; # SCP SF.SWPO FUNCTION CODE #
  161. OSCCALL(FLE);
  162. #
  163.   PROCESS SYS CON PT CALL RETURN CODE
  164. #
  165. IF FLRC[0] EQ 0 OR FLRC[0] EQ RCSWAPPEDOUT
  166. THEN # APPLICATION IS NOW SWAPPED OUT #
  167. BEGIN
  168. BLINK(NWLADDR,NVFADDR); # LINK DATA BLK TO NVF ACB DATA RING #
  169. OSCHAPP(NVFADDR); # SCHEDULE NVF #
  170.  
  171. # CREATE AWL NETON ENTRY #
  172.  
  173.  
  174.  
  175.  
  176. P<ACB> = ATACBA[AN]; # ACB ADDRESS OD APPLICATION NETTING ON #
  177. ACBAWLADDR[0] = AWLA; # UCP AWL ADDRESS #
  178. ACBAN[0] = AN; # PROCESS NUMBER OF APP NETTING ON #
  179. P<AWLENTRY> = LOC(ACBAWL0[0]); # ADDRESS OF AWL NETON ENTRY #
  180. AWLEAIPH[0] = 0;
  181. AWLOP[0] = WLOPNON; # AIP OPCODE FOR NETON #
  182.  
  183. #
  184.   U P D A T E A P P L I C A T I O N A C B
  185. #
  186. ACBUCPADR[0] = CBA; # UCP COMPLETION BIT ADDRESS #
  187. ACBWLFWA[0] = BUFADDR;
  188. P<DRHDRWD> = ACBWLFWA[0];# ADDR OF NEXT NWL ENTRY #
  189. BLKID[0] = NWLEIDVALUE; # NWL ENTRY ID VALUE #
  190. ATNVFR[AN] = TRUE; # WAITING-FOR-NET/ON /R-FROM-NVF FLAG #
  191. ACBWLLWA[0] = BUFADDR + BUFSIZE - 1; # STORE NWL LWA IN ACB #
  192. BLKBS[0] = ACBWLLWA[0] - ACBWLFWA[0] + 1;
  193. ATASBO[AN] = TRUE; # SET APP-SWAPPED-OUT-BY-NETON FLAG #
  194. ACBIASCPA[0] = LOC(ACBAAVAL[0]);
  195. ACBIAUCPA[0] = PARAMS3; # DATA AVAILABLE WORD ADDR #
  196. ACBIAFC[0] = SFWRITE; # FUNCTION CODE #
  197. ACBIAFP[0] = 1; # FUNCTION PARAMETER #
  198. PARAMS5 = FALSE; # CLEAR DELETE-ACB FLAG #
  199. END
  200. ELSE # GOT ABNORMAL SCP FUNCTION RETURN CODE #
  201. BEGIN
  202. IF FLRC[0] NQ RCUCPGONE
  203. THEN # GOT BAD SCP FUNCTION RETURN CODE #
  204. BEGIN
  205. RDUMP; # DUMP NIP-S FIELD LENGTH #
  206. D25M2[0] = "HPNONAP";
  207. OMSG(DFMSG25,0); # NIP DUMP TAKEN #
  208. END
  209. # RELEASE NWL #
  210. P<DRHDRWD> = NWLADDR; # NWL ADDRESS #
  211. BLKBS[0] = SIZENWL; # SIZE OF NWL BUFFER #
  212. MRELS(P<DRHDRWD>);
  213. PARAMS5 = TRUE; # SET DELETE-ACB FLAG #
  214. END
  215. GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
  216. END
  217. TERM
cdc/nos2.source/nam5871/hpnonap.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator