User Tools

Site Tools


cdc:nos2.source:nam5871:nvfactc

NVFACTC

Table Of Contents

  • [00004] PROC NVFACTC(PACOUT,RELVCB)
  • [00005] NVFACTC - CLEAN UP TERMINATING A-A CONNECTION TABLES.
  • [00008] CLEAN UP TERMINATING A-A CONNECTION TABLES.
  • [00045] PROC SSTRTS
  • [00046] PROC NVFUFVO

Source Code

NVFACTC.txt
  1. *DECK NVFACTC
  2. USETEXT TEXTNVF
  3. USETEXT TEXTSS
  4. PROC NVFACTC(PACOUT,RELVCB);
  5. # TITLE - NVFACTC - CLEAN UP TERMINATING A-A CONNECTION TABLES. #
  6. BEGIN # NVFACTC #
  7. #
  8. ** NVFACTC - CLEAN UP TERMINATING A-A CONNECTION TABLES.
  9. *
  10. * C. BRION 83/11/08.
  11. * P. MURRAY 84/02/28.
  12. *
  13. * THIS PROCEDURE IS RESPONSIBLE FOR RELEASING ACTIVE PID TABLE
  14. * SPACE IF IT EXISTS, APOUTCL TABLE SPACE IF IT EXISTS, PAAC ENTRY
  15. * TABLE SPACE, AND THE ASSIGNED VCB ORDINAL FOR A TERMINATING A-A
  16. * CONNECTION.
  17. *
  18. * PROC NVFACTC(PACOUT,RELVCB)
  19. *
  20. * ENTRY:
  21. *
  22. * PACOUT = INDEX ORDINAL OF PAAC ENTRY FOR A-A CONNECTION.
  23. * RELVCB = FLAG INDICATING IF VCB TO BE RELEASED.
  24. *
  25. * EXIT:
  26. *
  27. * THE ACTIVE PID TABLE ENTRY (ACPID ENTRY) IS RELEASED IF
  28. * IT EXISTS.
  29. *
  30. * THE APPL SUPPLIED OUTCALL TABLE ENTRY (APOUTCL) IS RELEASED
  31. * IF IT EXISTS.
  32. *
  33. * THE PAAC TABLE ENTRY SPACE IS RELEASED.
  34. *
  35. * THE ASSIGNED VCB ORDINAL MAY BE RELEASED.
  36. *
  37. #
  38. CONTROL EJECT;
  39.  
  40. #
  41. **** PROC NVFACTC XREF LIST
  42. #
  43. XREF
  44. BEGIN
  45. PROC SSTRTS; # SS-RELEASE TABLE SPACE #
  46. PROC NVFUFVO; # FREE VCB ORDINAL #
  47. END
  48.  
  49. #
  50. ****
  51. #
  52.  
  53.  
  54.  
  55. ITEM PACOUT I; # PAAC ENTRY ORDINAL #
  56. ITEM VCBOUT I; # VCB ORDINAL #
  57. ITEM WORK I; # WORK VARIABLE #
  58. ITEM SIZE I; # SIZE OF TABLE #
  59. ITEM FOUND B; # TABLE ENTRY FOUND FLAG #
  60. ITEM RELVCB B; # VCB RELEASE FLAG #
  61.  
  62. CONTROL EJECT;
  63.  
  64. #
  65. * OBTAIN VCB ORDINAL FROM PAAC ENTRY.
  66. #
  67. VCBOUT = PA$VCB[PACOUT];
  68.  
  69. #
  70. * IF AN ACPID TABLE ENTRY EXISTS FOR THIS PAAC ENTRY, LOCATE AND
  71. * RELEASE THE ENTRY SPACE.
  72. #
  73. IF PA$ACPIDL[PACOUT] NQ 0
  74. THEN
  75. BEGIN
  76. FOUND = FALSE;
  77.  
  78. FOR WORK = 0 STEP ACP$ESIZ[WORK] WHILE
  79. WORK LS ACPIDL AND NOT FOUND
  80. DO
  81. BEGIN
  82. IF ACP$VCB[WORK] EQ VCBOUT
  83. THEN
  84. BEGIN
  85. FOUND = TRUE;
  86. SIZE = ACP$ESIZ[WORK];
  87. SSTRTS(P<ACPID>,WORK,SIZE);
  88. END
  89. END
  90. END
  91. #
  92. * IF AN APOUTCL ENTRY EXISTS FOR THIS PAAC ENTRY, LOCATE AND
  93. * RELEASE THE ENTRY SPACE.
  94. #
  95. IF PA$OUTSPEC[PACOUT]
  96. THEN
  97. BEGIN
  98. FOUND = FALSE;
  99.  
  100. FOR WORK = 0 STEP APO$WC[WORK] WHILE
  101. WORK LS APOUTCLL AND NOT FOUND
  102. DO
  103. BEGIN
  104. IF APO$VCB[WORK] EQ VCBOUT
  105. THEN
  106. BEGIN
  107. FOUND = TRUE;
  108. SIZE = APO$WC[WORK];
  109. SSTRTS(P<APOUTCL>,WORK,SIZE);
  110. END
  111. END
  112. END
  113. #
  114. * RELEASE THE PAAC ENTRY AND THE VCB ORDINAL IF REQUESTED.
  115. #
  116. WORK = PACOUT * PAACSIZ$;
  117. SSTRTS(P<PAAC>,WORK,PAACSIZ$);
  118. IF RELVCB
  119. THEN
  120. NVFUFVO(VCBOUT);
  121.  
  122. END # NVFACTC #
  123. TERM
cdc/nos2.source/nam5871/nvfactc.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator