User Tools

Site Tools


cdc:nos2.source:nam5871:nvfapvd

NVFAPVD

Table Of Contents

  • [00003] PROC NVFAPVD1)
1)
VCB),(AN),PAC)
  • [00004] NVFAPVD - A-A PREPARE VCB DATA.
  • [00009] A-A PREPARE VCB DATA
  • [00034] PROC NVFUMQE
  • [00035] PROC SSTATS
  • [00036] PROC MESSAGE
</WRAP> === Source Code ===
NVFAPVD.txt
  1. *DECK NVFAPVD
  2. USETEXT TEXTNVF
  3. PROC NVFAPVD((VCB),(AN),PAC);
  4. # TITLE NVFAPVD - A-A PREPARE VCB DATA. #
  5.  
  6. BEGIN # NVFAPVD #
  7.  
  8. #
  9. ** NVFAPVD - A-A PREPARE VCB DATA
  10. *
  11. * C. BRION 82/09/24. 83/05/09.
  12. *
  13. * THE FUNCTION OF THIS PROCEDURE IS TO READY A PAAC ENTRY AND ISSUE
  14. * A VCB READ REQUEST TO THE VCB READ REQUEST QUEUE.
  15. *
  16. * PROC NVFAPVD((VCB,(AN),PAC)
  17. *
  18. * ENTRY:
  19. *
  20. * VCB - VCB ORDINAL OF NETWORK CONNECTION.
  21. * AN - APPLICATION NUMBERD THAT CONNECTION BELONGED TO.
  22. *
  23. * EXIT:
  24. *
  25. * PAC - INDEX TO PAAC TABLE ENTRY.
  26. #
  27.  
  28. #
  29. **** PROC NVFAPVD XREF LIST
  30. #
  31.  
  32. XREF
  33. BEGIN
  34. PROC NVFUMQE; # MAKE QUEUE ENTRY #
  35. PROC SSTATS; # SS- ALLOCATE TABLE SPACE #
  36. PROC MESSAGE; # DAYFILE MESSAGE SENDER #
  37. END
  38.  
  39. #
  40. ****
  41. #
  42.  
  43.  
  44. ITEM PAC I; # LOCAL PAAC INDEX VAR #
  45. ITEM VCB I; # LOCAL VCB ORDINAL #
  46. ITEM AN I; # LOCAL APPL NUMBER #
  47. ITEM DUMBUF I; # DUMMY TEXT AREA #
  48. ITEM AORD I; # AST ORDINAL, LOOP VAR#
  49. ITEM ASTNUM I; # NUMBER AST ENTRIES #
  50.  
  51. #
  52. * NOASTMSG - MESSAGE WARNING OF NO AST ENTRY.
  53. #
  54.  
  55. ARRAY NOASTMSG [00:00] S(3);
  56. BEGIN
  57. ITEM NOAST$TXT C(00,00,20)=["NVFAPVD-NO AST ENTRY"];
  58. ITEM NOAST$ZBYT U(02,00,60)=[0];
  59. END
  60.  
  61.  
  62.  
  63. #
  64. * BPAAC - DUMMY ARRAY FOR CLEARING PAAC.
  65. #
  66.  
  67. BASED ARRAY BPAAC [00:00] S(1);
  68. BEGIN
  69. ITEM BPA$WORD U(00,00,60);
  70. END
  71.  
  72. #
  73. * **** PROC NVFAPVD ENTRY ****
  74. #
  75.  
  76. #
  77.   ALLOCATE PAAC ENTRY AND CLEAR IT
  78. #
  79.  
  80. PAC = PACLNGTH / PAACSIZ$;
  81. SSTATS(P<PAAC>,PAACSIZ$);
  82.  
  83. P<BPAAC> = LOC(PAAC[PAC]);
  84. FOR AORD = 0 STEP 1 UNTIL (PAACSIZ$ - 1)
  85. DO
  86. BEGIN
  87. BPA$WORD[AORD] = 0;
  88. END
  89.  
  90. #
  91.   GET AST ENTRY THAT HAS THE SAME AN AS THAT OF THE CONNECTION
  92.   THAT HAS RETURNED TO NVF.
  93. #
  94.  
  95. ASTNUM = ASTLNGTH / ASTSIZ$;
  96.  
  97. FOR AORD = 0 STEP 1 WHILE
  98. ((AST$AN[AORD] NQ AN) AND
  99. (AORD LS ASTNUM))
  100. DO
  101. BEGIN
  102. END
  103.  
  104. #
  105.   THE AST ENTRY MAY NOT BE THERE. FUTURE ENHANCEMENTS TO NVF MAY
  106.   HAVE TO MAKE THE AST A DYNAMIC TABLE. IF NO ENTRY, SIMPLY LET
  107.   THE WORLD KNOW AND PROCEED.
  108. #
  109.  
  110. IF AORD EQ ASTNUM
  111. THEN
  112. BEGIN
  113. MESSAGE(NOASTMSG,0);
  114. END
  115. ELSE
  116.  
  117. #
  118.   OTHERWISE, GO AHEAD AND SET THE PAAC ENTRY.
  119. #
  120.  
  121. BEGIN
  122. PA$SWAP[PAC] = AST$ANAM[AORD];
  123. PA$SWAPAN[PAC] = AN;
  124. END
  125.  
  126. #
  127.   MAKE A VCB READ REQUEST
  128. #
  129.  
  130. NVFUMQE(P<VRQ>,DUMBUF,10,VCB,0);
  131.  
  132. END # NVFAPVD #
  133. TERM
  134. *ENDIF
cdc/nos2.source/nam5871/nvfapvd.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator