User Tools

Site Tools


cdc:nos2.source:nam5871:nvfurds

NVFURDS

Table Of Contents

  • [00003] PROC NVFURDS(VCBORD,STATS)
  • [00004] NVFURDS - RETURNS VCB DATA STATUS(VALID/INVALID).
  • [00008] RETURNS VCB DATA STATUS(VALID/INVALID).
  • [00037] PROC ABORT
  • [00038] PROC MESSAGE
  • [00039] PROC SSBTBW
  • [00040] FUNC XCDD C(10)

Source Code

NVFURDS.txt
  1. *DECK NVFURDS
  2. USETEXT TXVCBNV
  3. PROC NVFURDS(VCBORD,STATS);
  4. # TITLE NVFURDS - RETURNS VCB DATA STATUS(VALID/INVALID). #
  5.  
  6. BEGIN # NVFURDS #
  7. #
  8. ** NVFURDS - RETURNS VCB DATA STATUS(VALID/INVALID).
  9. *
  10. * A. LIM 81/07/21
  11. * C. BRION 82/06/22
  12. *
  13. * THIS PROCEDURE RETURNS THE STATUS(VALID/INVALID) OF
  14. * VCB DATA IN VCB-VALID-DATA-INDICATOR-TABLE(VDT).
  15. *
  16. * PROC NVFURDS(VCBORD,STATS)
  17. *
  18. * ENTRY VCBORD = VCB ORDINAL
  19. *
  20. * EXIT STATS = STATUS OF THE ORDINAL
  21. * 1 = INVALID, AND 0 = VALID.
  22. *
  23. * NOTES NONE.
  24. *
  25. * METHOD 1) VERIFY IF VCB ORDINAL IS LEGAL.
  26. * IF NOT, ISSUE DAYFILE MESSAGE AND ABORT NVF.
  27. * ELSE, RETURN THE STATUS OF THE ORDINAL.
  28. *
  29. #
  30.  
  31.  
  32. #
  33. **** PROC NVFURDS XREF LIST BEGIN.
  34. #
  35. XREF
  36. BEGIN
  37. PROC ABORT; # MACREL - ABORT TASK #
  38. PROC MESSAGE; # MACREL - ISSUE MESSAGE #
  39. PROC SSBTBW; # SS - TEST BIT IN WORD #
  40. FUNC XCDD C(10); # MACREL-CNVRT INT TO DEC DSP CD#
  41. END
  42. #
  43. ****
  44. #
  45.  
  46. # FORMAL PARAMETERS #
  47.  
  48. ITEM VCBORD I;
  49.  
  50.  
  51. # ACTUAL PARAMETERS #
  52.  
  53. ITEM WORD I;
  54. ITEM BITN I;
  55. ITEM STATS B;
  56.  
  57.  
  58. # INDUCTION VARIABLES #
  59.  
  60. ITEM I I; # DUMMY #
  61.  
  62.  
  63. # ITEMS #
  64.  
  65. ITEM TEMP C(10);
  66.  
  67.  
  68.  
  69.  
  70.  
  71. WORD = 0;
  72. BITN = VCBORD;
  73. FOR I = 0 WHILE (BITN-48) GR 0 # CONVERT ORDNL TO WORD/BIT #
  74. DO
  75. BEGIN
  76. BITN = BITN-48;
  77. WORD = WORD+1;
  78. END
  79.  
  80. #VERIFY VCB ORDINAL #
  81.  
  82. $BEGIN
  83. IF WORD GR VTSIZE$
  84. OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) EQ 0
  85. OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) GR ACTENSEC$
  86. THEN
  87. BEGIN
  88. TEMP = XCDD(VCBORD);
  89. V$MSG[0] = "ILLEGAL VCB ORDINAL = ";
  90. V$ORD[0] = C<7,3>TEMP;
  91. V$PID[0] = "NVFURDS";
  92.  
  93. MESSAGE(VCBMSG[0],DFILE$);
  94. ABORT;
  95. END
  96. $END
  97.  
  98. SSBTBW(VDT[WORD],BITN,STATS); # GET VCB DATA STATUS #
  99. RETURN;
  100.  
  101. END # NVFURDS #
  102.  
  103. TERM
cdc/nos2.source/nam5871/nvfurds.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator