User Tools

Site Tools


cdc:nos2.source:nam5871:netchek

NETCHEK

Table Of Contents

  • [00006] PROC NETCHEK
  • [00268] PROC NP$RESP
  • [00269] PROC NP$SEND
  • [00271] PROC NP$SN
  • [00273] PROC NP$USI

Source Code

NETCHEK.txt
  1. *DECK NETCHEK
  2. USETEXT AIPDEF
  3. USETEXT NP$MODE
  4. USETEXT NP$NWL
  5. USETEXT NP$STAT
  6. PROC NETCHEK;
  7. *IF DEF,IMS
  8. #
  9.  * NETWORK PRODUCTS DOCUMENTATION PAGE
  10.  * NAM INTERNAL SPECIFICATION DATE.
  11.  * 7.0 AIP PROGRAM STRUCTURE
  12. *
  13. * AS MENTIONED BEFORE AIP IS A COLLECTION OF RELOCATABLE PROCEDURES
  14. * RESIDING IN THE APPLICATIONS FIELD LENGTH. THE NAM CALLS
  15. * (I.E. NETON, NETGET, NETPUT) DESCRIBED IN THE NAM REFERENCE
  16. * MANUAL ARE REALLY AIP PROCEDURE CALLS. THE FUNCTIONS OF AIP
  17. * ARE AS FOLLOWS
  18. *
  19. * . BUFFER APPLICATION REQUEST IN THE NWL (NETWORK WORKLIST),
  20. * WITHIN THE APPLICATIONS FIELD LENGTH FOR SUBSEQUENT TRANSFER
  21. * TO NIP.
  22. *
  23. * . BUFFER INCOMING SUPERVISORY MESSAGES IN SMB (SUPERVISORY MSG
  24. * BUFFER) FROM NIP FOR SUBSEQUENT DELIVERY TO THE APPLICATION
  25. *
  26. * . UPDATE THE VARIOUS STATUS FLAGS IN THE NSUP WORD FOR THE
  27. * APPLICATION
  28. *
  29. * . DELIVER ANY NON-SUPERVISORY MESSAGE HEADERS FROM THE NWL
  30. * TO THE APPLICATIONS HA. THESE GET PUT IN THE NWL BY NIP"S
  31. * REPLY TO GET TYPE REQUEST IN THE NWL. (NIP WRITES ITS AWL
  32. * BACK TO AIP"S NWL AREA)
  33. *
  34. * . ASSURE ORDERLY NAM CALLS (I.E. NO NETPUT BEFORE NETON ETC.)
  35. *
  36. * THE AIP PROCEDURES DIRECTLY CALLABLE BY THE APPLICATION ARE
  37. *
  38. * . NETFUNC - MODIFY AIP PROCESSING
  39. *
  40. * . NETON - CONNECT AN APPLICATION TO THE NETWORK
  41. *
  42. * . NETOFF - TERMINATE CONNECTION TO THE NETWORK
  43. *
  44. * . NETGET - READ A MESSAGE FROM THE SPECIFIED CONNECTION
  45. *
  46. * . NETGETL - READ A MESSAGE FROM ANY CONNECTION ON THE
  47. * SPECIFIED LIST
  48. *
  49. * . NETGETQ - READ A MESSAGE FROM AIP-S UPLINE DATA QUEUE
  50. * FOR A SPECIFIED CONNECTION
  51. *
  52. * . NETPUT - SEND A MESSAGE ON THE SPECIFIED CONNECTION
  53. *
  54. * . NETWAIT - WAIT UNTIL INPUT IS AVAILABLE OR FOR A SPECIFIED
  55. * TIME
  56. *
  57. * . NETSETP - TURN PARALLEL PROCESSING ON OR OFF
  58. *
  59. * . NETCHEK - CHECK PREVIOUS REQUEST FOR COMPLETION AND UPDATE
  60. * THE S AND I BITS IN THE NSUP WORD TO REFLECT CURRENT STATUS OF
  61. * DATA AVAILABILITY.
  62. *
  63. * . NETGETF - READ A MESSAGE FROM THE SPECIFIED CONNECTION
  64. * INTO FRAGMENTED DATA POTS
  65. *
  66. *
  67. * . NETGTFL - READ A MESSAGE FROM ANY CONNECTION ON THE SPECIFIED
  68. * LIST INTO FRAGMENTED DATA POTS
  69. *
  70. * . NETGTLQ - READ A MESSAGE FROM AIP-S UPLINE DATA QUEUE FOR A
  71. * SPECIFIED LIST NUMBER
  72. *
  73. * . NETPUTF - WRITE A MESSAGE ON A CONNECTION GATHERING THE
  74. * MESSAGE TEXT FROM FRAGMENTED DATA POTS.
  75. *
  76. * . NETPUTS - SEND A MESSAGE ON A CONNECTION IF THE UPLINE DATA
  77. * QUEUE FEATURE IS BEING USED.
  78. *
  79. * INTERNAL PROCEDURES AUGMENTING THE ABOVE USER CALLABLE PROCEDURES
  80. * ARE AS FOLLOWS: (NOTE INTERNAL ENTRY POINTS MUST BEGIN WITH NP$)
  81. *
  82. * . NP$DBG - RECORD AIP DEBUG INFORMATION ON FILE ZZZZZDN
  83. *
  84. * . NP$ERR - DAYFILE APPLICATION ERROR MESSAGES
  85. *
  86. * . NP$GETQ - DELIVER A DATA MESSAGE FROM THE AIP UPLINE DATA
  87. * QUEUE
  88. *
  89. * . NP$GSM - DELIVER A SUPERVISORY MESSAGE TO THE CALLER
  90. *
  91. * . NP$RESP - PROCESS WORKLIST RESPONSE FROM NIP
  92. *
  93. * . NP$SEND - SET UP A WORKLIST FOR TRANSFER TO NIP
  94. *
  95. * . NP$XFER - DO THE ACTUAL WORKLIST TRANSFER
  96. *
  97. * . NP$OSIF - IS A COMPASS ROUTINE TO HANDLE OPERATING SYSTEM
  98. * INTERFACES
  99. *
  100. * . NP$RCL - COMPASS ROUTINE TO GO INTO RECALL ON BIT 0 OF A WORD
  101. * SPECIFIED AS AN INPUT PARAMETER.
  102. *
  103. * . NP$UCV - UPDATE NWL CONTROL VARIABLES
  104. *
  105. * . NP$USI - UPDATE S AND I BITS IN THE NSUP WORD
  106. *
  107. * THE MAJOR TABLES USED BY AIP ARE THE NWL (NP$NWL) AND THE
  108. * SMB (NP$SMB) AS MENTIONED BEFORE.
  109. * BOTH OF THESE WILL BE DISCUSSED IN GREATER DETAIL IN THE TABLES
  110. * SECTION. HERE IS ONLY A DESCRIPTION OF HOW THEY ARE USED.
  111. *
  112. * . NP$NWL IS THE NETWORK WORK LIST AIP BUFFERS USER REQUESTS
  113. * IN. ONLY BACK-TO-BACK PUT TYPE REQUEST ARE BUFFERED. AIP
  114. * ASSURES THAT AFTER PROCESSING THE CURRENT REQUEST THERE
  115. * ARE AT LEAST 4 OR 6 WORDS LEFT IN THE BUFFER. IF THERE ARE
  116. * LESS THAN FOUR WORDS OR IF THE REQUEST IS A NETON, NETOFF,
  117. * FORCED NETWAIT, A GET TYPE REQUEST OR A NETPUT OF BT=4, THEN
  118. * THE NWL IS TRANSFERRED TO NIP"S WORKLIST RECEIVING BUFFER.
  119. * EMPTYING THE NWL ON A NETPUT OF BT=4 ALLOWS THE SUPERVISORS TO
  120. * ACCURATELY SET A TIMER SO THAT IF THE NPU DOES NOT RESPOND
  121. * TO A SERVICE MESSAGE AFTER THE TIMEOUT PERIOD, THE SUPERVISORS
  122. * CAN RESEND THE SERVICE MESSAGE.
  123. * AIP ASSURES THAT THERE
  124. * ARE 4 OR 6 WORDS LEFT IN THE NWL SO THAT WE CAN BE SURE
  125. * THAT WE CAN FIT THE NEXT REQUEST INTO THE WORKLIST. TWO
  126. * WORDS ARE NEEDED FOR THE NEXT REQUEST, TWO WORDS MAY BE NEEDED
  127. * TO REQUEST DATA FROM NIP IF THE UPLINE DATA FEATURE IS BEING
  128. * USED, AND TWO WORDS ARE
  129. * NEEDED TO REQUEST SUPERVISORY MESSAGES FROM NIP. IN GENERAL
  130. * THERE IS A TWO WORD HEADER IN THE WORK LIST. THE MESSAGE
  131. * TEXT IS ALSO COPIED TO THE WORK LIST, IF IT FITS. IF NOT
  132. * THE WORK LIST IS TRANSFERRED TO NIP. NIP WILL PROCESS
  133. * THE WORK LIST AND FORMAT A REPLY TO ALL BUT THE PUT TYPE
  134. * REQUESTS. THE REPLY IS WRITTEN BACK TO NP$NWL.
  135. *
  136. * THE DOWNLINE BUFFER FEATURE ALLOWS AN APPLICATION TO SPECIFY
  137. * A LARGER BUFFER THAN THAT SUPPLIED BY AIP. IN THIS CASE,
  138. * THE APPLICATION BUFFER WILL FUNCTION EXACTLY AS THE NP$NWL
  139. * WORKLIST. WHEN IT COMES TIME TO TRANSFER THE WORKLIST TO
  140. * NIP, A 2-WORD PUTQ ENTRY WILL BE CREATED IN THE AIP WORKLIST
  141. * CONTAINING THE ADDRESS OF THE APPL-SUPPLIED BUFFER. THIS
  142. * WILL IMPROVE PERFORMANCE.
  143. *
  144. * . NP$SMB IS THE SUPERVISORY MESSAGE BUFFER. THE SUPERVISORY
  145. * MESSAGE BUFFER WAS DESIGNED TO MINIMIZE CPU OVERHEAD
  146. * IN TRANSFERRING NUMEROUS SHORT MESSAGES (SUCH AS FC/BACK-S)
  147. * BETWEEN NIP AND THE APPLICATION. FROM AIP-S POINT OF VIEW
  148. * THE SMB IS A CIRCULAR BUFFER. LOCATION FIRST POINTS TO
  149. * THE FIRST WORD OF THE BUFFER. HEAD POINTS TO THE FIRST
  150. * WORD OF THE NEXT SUPERVISORY MESSAGE TO BE DELIVERED BY
  151. * AIP, FOOT POINTS TO THE NEXT AVAILABLE WORD IN THE SMB
  152. * INTO WHICH NIP COULD WRITE SUPERVISORY MESSAGES, AND LAST
  153. * POINTS TO THE LAST WORD OF THE SUPERVISORY MESSAGE BUFFER.
  154. * AS MENTIONED IN THE DISCUSSION ON NP$NWL AIP PASSES A
  155. * REQUEST FOR SUPERVISORY MESSAGES TO NIP. THE REQUEST TO
  156. * NIP SPECIFIES A CONTIGUOUS BUFFER IN AIP POINTING TO
  157. * FOOT AS THE FWA AND SPECIFYING LAST-FOOT AS THE LENGTH, OR
  158. * IF A WRAP AROUND HAS OCCURRED THAN PASSING HEAD-FOOT AS
  159. * THE LENGTH. THIS WAY NIP IS NOT BURDENED WITH TRYING TO
  160. * HANDLE CIRCULAR BUFFERS, AND NEITHER NIP NOR AIP HAS TO
  161. * SPECIAL CASE A SINGLE MESSAGE WRAPPING AROUND IN THE BUFFER.
  162. * IT DOES, HOWEVER LEAVE AIP WITH THE PROBLEM OF RECOGNIZING
  163. * WHEN THE LAST MESSAGE IN THE BUFFER DOES NOT COMPLETELY
  164. * FILL THE BUFFER. THIS PROBLEM IS SOLVED BY NIP ALWAYS WRITING
  165. * A WORD OF ZEROES BEHIND THE LAST SUPERVISORY MESSAGE IT
  166. * GIVES TO AIP.
  167. *
  168.  #
  169. *ENDIF
  170. *IF DEF,IMS
  171. #
  172. * THE APPLICATION REQUESTS AIP TO DELIVER A SUPERVISORY MESSAGE TO
  173. * THE APPLICATION"S TEXT AREA BY MAKING A NETGET,NETGETL,NETGETF, OR
  174. * NETGTFL CALL ON ACN = 0 OR ALN = 0. AIP WILL COPY THE SUPERVISORY
  175. * MESSAGE FROM THE SMB (SUPERVISORY MESSAGE BUFFER). IF THE SMB IS
  176. * EMPTY(HEAD = FOOT), THEN AIP SENDS NIP A GSM (GET SUPERVISORY
  177. * MESSAGE) REQUEST. WHEN AIP READS THE MESSAGES IN THE SMB, IF HEAD
  178. * IS EQUAL TO ZERO, THEN THE MESSAGES HAVE WRAPPED AROUND AND THE
  179. * NEXT MESSAGE TO BE READ STARTS AT INDEX FIRST. IF THE SUPERVISORY
  180. * MESSAGE TO BE DELIVERED TO THE APPLICATION IS LONGER THAN THE
  181. * SPACE ALLOWED BY THE APPLICATION(TLMAX), THEN THE INPUT BLOCK
  182. * UNDELIVERABLE BIT (40) IS SET IN THE HEADER WORD AT HA (HEADER
  183. * ADDRESS SPECIFIED BY THE APPLICATION), AND THE MESSAGE IS NOT
  184. * DELIVERED. A SUPERVISORY MESSAGE WILL NOT FIT INTO AIP"S SMB IF
  185. * IT IS LONGER THAN 64 (100B) WORDS.
  186. *
  187. * AIP ALLOWS APPLICATION PROGRAMS WHICH RESIDE IN THE HOST COMPUTER
  188. * TO ACCESS THE NETWORK TO SEND AND RECEIVE DATA FROM REMOTE NODES
  189. * AND OTHER APPLICATIONS. THE APPLICATION PROGRAM LOADS THE AIP
  190. * ROUTINES FROM THE LIBRARY NETIO OR NETIOD. NETIOD HAS THE OPTIONS
  191. * DEBUG AND STAT DEFINED TO TURN ON DEBUG MODE AND STATISTICS
  192. * GATHERING. BOTH THESE OPTIONS CAUSE RESPECTIVE FILES ZZZZZDN AND
  193. * ZZZZZSN TO BE OPENED AND WRITTEN ON.
  194. *
  195. * FOR PROPER PRESETTING OF COMMON DECK NP$MODE, A ROUTINE CALLING
  196. * NP$XFER MUST BE CALLED BY THE APPLICATION IN THE APPLICATION"S
  197. * MAIN OVERLAY. NP$MODE CONTAINS THE FOLLOWING FLAGS:
  198. *
  199. * . ACCEPTED - TRUE IF THE APPLICATION HAS COMPLETED A NETON
  200. *
  201. * . DEFER$PRO - TRUE IF NIP HAS NOT FINISHED PROCESSING THE
  202. * WORKLIST FROM AIP.
  203. *
  204. * . DEFER$GSM - TRUE IF THE APPLICATION HAS REQUESTED A
  205. * SUPERVISORY MESSAGE WHEN AIP"S SMB IS EMPTY
  206. *
  207. * . NETONNWL - TRUE IF CURRENT WORKLIST IS A NETON.
  208. *
  209. * . PARALLEL - TRUE IF THE APPLICATION HAS REQUESTED PARALLEL MODE
  210. *
  211. * . SENDGETMM - TRUE IF AIP MAY PUT A GET DATA MESSAGES
  212. * REQUEST IN THE OUTGOING WORKLIST(NWL)
  213. *
  214. * . SENDGETSM - TRUE IF AIP MAY PUT A GET SUPERVISORY MESSAGE
  215. * REQUEST IN THE OUTGOING WORKLIST(NWL)
  216. *
  217. * AT LOAD TIME ALL THE ABOVE FLAGS ARE FALSE.
  218. *
  219. * AT NETON TIME THE ADDRESS OF THE NSUP WORD IS PASSED TO AIP. THE
  220. * NSUP WORD CONTAINS THE FOLLOWING FLAGS:
  221. *
  222. * . C$FLAG - TRUE IF THE OPERATION IS COMPLETE
  223. *
  224. * . N$FLAG - TRUE IF NAM IS AVAILABLE
  225. *
  226. * . I$FLAG - TRUE IF DATA INPUT IS AVAILABLE
  227. *
  228. * . S$FLAG - TRUE IF THERE ARE OUTSTANDING SUPERVISORY MESSAGES
  229. *
  230. * . D$FLAG - TRUE IF NIP HAS DELIVERABLE DATA FOR THE APPLICATION
  231. * IF IT ISSUES A NETGETL, NETGTFL, OR NETGTLQ CALL.
  232. *
  233. * THE I$FLAG AND S$FLAG ARE SET OR CLEARED AFTER A NETCHEK, NETWAIT,
  234. * NETGET-S AND NETPUT-S TO REFLECT CURRENT AVAILABILITY OF DATA.
  235. * C,N$FLAGS ARE SET IN NP$XFER AFTER AIP HAS MADE A SSC CALL AND
  236. * THESE FLAGS ARE ONLY VALID IN PARALLEL MODE, AS AN SSCALL IS MADE
  237. * WITHOUT RECALL. C$FLAG AND N$FLAG ARE ALSO SET IN NETCHEK.
  238. *
  239. * NETSETP(0) SETS AIP CALLS TO NIP TO BE IN PARALLEL MODE. THIS
  240. * MEANS THAT AIP"S SSCALLS WILL BE MADE WITHOUT RECALL SO THAT THE
  241. * APPLICATION WILL NOT LOSE CONTROL OVER THE CPU FOR TOO LONG.
  242. * HOWEVER, IN PARALLEL MODE THE USER MUST CALL NETCHEK AFTER ALL
  243. * REQUESTS TO NIP, IN ORDER TO CHECK THAT NIP HAS RESPONDED TO
  244. * THE REQUEST. DEFER$PRO IS FALSE IF THE NWL HAS BEEN COMPLETELY
  245. * PROCESSED BY NIP. NP$RESP DOES AIP"S FINAL PROCESSING OF THE
  246. * REQUESTS ONCE NIP HAS RETURNED REQUESTED INFORMATION. NP$RESP IS
  247. * CALLED FROM NP$SEND OR NETCHEK. NP$RESP UPDATES THE NP$NWL
  248. * POINTERS.
  249. *
  250. * A NETOFF REQUEST IS ALLOWED AT ANY TIME. TO PERMIT THIS, NETOFF
  251. * SENDS NIP A SEPARATE WORKLIST CONTAINING ONLY THE NETOFF REQUEST.
  252. * AT NETOFF TIME, IF DEBUG/STAT IS DEFINED, THEN FILE ZZZZZDN
  253. * AND ZZZZZSN ARE RESPECTIVELY CLOSED.
  254. *
  255.  #
  256. #
  257.  * NETWORK PRODUCTS DOCUMENTATION PAGE
  258.  * NAM INTERNAL SPECIFICATION DATE.
  259.  * 8.0 AIP TABLE STRUCTURE
  260.  #
  261. *ENDIF
  262. BEGIN
  263. *CALL NP$CRT
  264. # #
  265. # EXTERNAL ROUTINES: #
  266. # #
  267. XREF BEGIN
  268. PROC NP$RESP; #PROCESSES NIP RESPONSE #
  269. PROC NP$SEND; #SENDS A WORKLIST TO NIP #
  270. *IF DEF,STAT
  271. PROC NP$SN; #INCREMENTS STATISTICS COUNTER#
  272. *ENDIF
  273. PROC NP$USI; #UPDATE S AND I BITS IN NSUP #
  274. END #XREFS#
  275. # #
  276. *IF DEF,IMS
  277. #
  278.  * NETWORK PRODUCTS DOCUMENTATION PAGE
  279.  * NAM INTERNAL SPECIFICATION DATE.
  280.  * 9.0 AIP DETAILED DESCRIPTION
  281. *1DC NETCHEK
  282. *
  283. * 1. PROC NAME AUTHOR DATE
  284. * NETCHEK S.KRULEVITCH 77/3/4
  285. *
  286. * 2. FUNCTIONAL DESCRIPTION
  287. * CHECKS THAT NIP HAS RETURNED A WORKLIST RESPONSE.
  288. *
  289. * 3. METHOD USED
  290. * THIS ROUTINE IS RELEVANT ONLY WHEN PARALLEL OPERATION HAS BEEN
  291. * SELECTED. IF PROCESSING OF THE WORKLIST RESPONSE HAS NOT BEEN
  292. * POSTPONED(DEFER$PRO = FALSE)THEN NETCHEK SIMPLY RETURNS C$FLAG
  293. * = TRUE,INDICATING AIP AND NIP ARE FINISHED WITH ALL REQUESTS.
  294. * IF, HOWEVER DEFER$PRO = TRUE, THEN IF AIP HAS NOT RECEIVED THE
  295. * WORKLIST RESPONSE FROM NIP,AIP SETS C$FLAG = FALSE. IF AIP HAS
  296. * RECEIVED THE RESPONSE, THEN POSTPONED PROCESSING IS PERFORMED
  297. * AND AIP SETS C$FLAG = TRUE. C$FLAG IS THE FIRST BIT OF THE
  298. * NSUP WORD IN THE APPLICATION"S FIELD LENGTH.
  299. * IF THE RESPONSE FROM NIP INDICATES THAT NIP DID NOT RECEIVE
  300. * THE WORKLIST BECAUSE NIP WAS BUSY, NETCHEK WILL CALL NP$SEND
  301. * TO RETRANSMIT THE SAME WORKLIST TO NIP.
  302. * UPDATE S AND I BITS IN THE NSUP WORD.
  303. *
  304. * 4. ENTRY CONDITIONS
  305. * CTL$CB - COMPLETION BIT FOR NIP PROCESSING.
  306. * DEFER$PRO - TRUE MEANS SOME PROCESSING OF THE WORKLIST RESPONSE
  307. * HAS BEEN DEFERRED.
  308. * ACCEPTED - TRUE IF WORKLIST TRANSFER IS NOT A NETON
  309. *
  310. * 5. EXIT CONDITIONS
  311. * C$FLAG = TRUE INDICATES OPERATION COMPLETE.
  312. * C$FLAG = FALSE INDICATES OPERATION INCOMPLETE.
  313. * I$FLAG - TRUE IF INPUT DATA QUEUED IN NIP
  314. * S$FLAG - TRUE IF SMB NON-EMPTY OR SM QUEUED IN NIP
  315. * DEFER$PRO =FALSE IF THE WORKLIST RESPONSE HAS BEEN RECEIVED
  316. * FROM NIP.
  317. * N$FLAG = TRUE,IF NAM IS AVAILABLE.
  318. * = FALSE, IF NAM IS NOT AVAILABLE AT A SYSTEM CONTROL PT.
  319. *
  320. * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
  321. * AIPDEF CRCOM NP$MODE NP$NWL
  322. * NP$STAT
  323. *
  324. * 7. ROUTINES CALLED
  325. * NP$RESP
  326. * NP$SEND - SENDS A WORKLIST TO NIP
  327. * NP$SN - INCREMENTS STATISTICS COUNTER
  328. * NP$USI - UPDATE S AND I BITS IN THE NSUP WORD
  329. *
  330. * 8. DAYFILE MESSAGES
  331. *
  332.  #
  333. *ENDIF
  334. #**********************************************************************#
  335. # NETCHEK EXECUTION BEGINS HERE: #
  336. # #
  337. *IF DEF,STAT
  338. # #
  339. # UPDATE STATISTICS IF STATISTICS GATHERING IS TURNED ON. #
  340. # #
  341. NP$SN(TYPE"CHEK"); #INCREMENT COUNTER #
  342. *ENDIF
  343. IF DEFER$PRO
  344. THEN
  345.  
  346. BEGIN
  347. IF CTL$CB[NCTL]
  348. THEN
  349. BEGIN
  350. IF CTL$NONAM[NCTL]
  351. THEN
  352. BEGIN
  353. N$FLAG = FALSE; #NAM NOT AVAILABLE #
  354. C$FLAG = TRUE; #AIP COMPLETED PROCESSING #
  355. RETURN;
  356. END
  357.  
  358. N$FLAG = TRUE; # NAM AVAILABLE #
  359.  
  360. IF CTL$BUSY[NCTL]
  361. THEN
  362. BEGIN
  363. SENDGETMM = FALSE; # DO NOT ADD ANOTHER GETMM WKLS#
  364. SENDGETSM = FALSE; # DO NOT ADD ANOTHER GETSM WKLS#
  365. RESEND = TRUE; # RESEND WORKLIST TO NIP #
  366. NP$SEND; # SEND THE SAME WORKLIST TO NIP#
  367. SENDGETMM = TRUE; # RESTORE SEND GETMM WKLST FLAG#
  368. SENDGETSM = TRUE; # RESTORE SEND GETSM WKLST FLAG#
  369. RESEND = FALSE; # RESTORE RESEND FLAG #
  370. END
  371. ELSE
  372. BEGIN
  373. NP$RESP;
  374. DEFER$PRO = FALSE;
  375. C$FLAG = TRUE;
  376. END
  377. END #CTL$CB EQ TRUE#
  378. ELSE
  379. BEGIN # CTL$CB IS NOT SET #
  380. IF NOT ACCEPTED
  381. THEN
  382. BEGIN # PREVIOUS WORKLIST IS A NETON #
  383. IF NWL$CB[NHDR+1]
  384. THEN
  385. BEGIN # NETON COMPLETED #
  386. NP$RESP; # PROCESS AWL RESPONSE IF ONE #
  387. DEFER$PRO = FALSE;
  388. C$FLAG = TRUE;
  389. END
  390. END
  391. END
  392.  
  393. END #DEFER$PRO EQ TRUE#
  394.  
  395. ELSE
  396. BEGIN
  397. NP$SEND ;
  398. IF NOT DEFER$PRO
  399. THEN # WORKLIST ISSUED AND #
  400. BEGIN # COMPLETED #
  401. C$FLAG = TRUE ; # SET COMPLETE FLAG #
  402. END
  403. END
  404.  
  405.  
  406. NP$USI; # UPDATE S AND I BITS IN NSUP #
  407.  
  408. RETURN;
  409. END #NETCHEK#
  410. TERM
cdc/nos2.source/nam5871/netchek.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator