cdc:nos2.source:nam5871:nvfufvo
Table of Contents
NVFUFVO
Table Of Contents
- [00003] PROC NVFUFVO(VCBORD)
- [00004] NVFUFVO - FREES UP AN VCB ORDINAL.
- [00008] FREES UP AN VCB ORDINAL.
- [00036] PROC ABORT
- [00037] PROC MESSAGE
- [00038] PROC SSBSBW
- [00039] PROC SSBTBW
- [00040] FUNC XCDD C(10)
Source Code
- NVFUFVO.txt
- *DECK NVFUFVO
- USETEXT TXVCBNV
- PROC NVFUFVO(VCBORD);
- # TITLE NVFUFVO - FREES UP AN VCB ORDINAL. #
- BEGIN # NVFFVO #
- #
- ** NVFUFVO - FREES UP AN VCB ORDINAL.
- *
- * A. LIM 81/07/21
- * C. BRION 82/06/22
- *
- * THIS PROCEDURE FREES UP AN VCB ORDINAL.
- *
- * PROC NVFUFVO(VCBORD)
- *
- * ENTRY VCBORD = VCB ORDINAL TO BE FREED UP.
- *
- * EXIT VCB ORDINAL FREED
- *
- * NOTES NONE
- *
- * METHOD 1) VERIFY THAT VCB ORDINAL IS LEGAL
- * 2) VERIFY THAT VCB ORDINAL IS NOT IN PRESENT STATE.
- * IF EITHER ONE OF THE ABOVE FAILS, THEN
- * ISSUE DAYFILE MESSAGE, AND ABORT NVF. ELSE,
- * MARK IT FREE, AND DECREMENT THE ACTIVE-VCB-COUNT(AVCBCNT)
- *
- #
- #
- **** PROC NVFUFVO XREF BEGIN.
- #
- XREF
- BEGIN
- PROC ABORT; # MACREL - ABORT TASK #
- PROC MESSAGE; # MACREL - ISSUE MESSAGE #
- PROC SSBSBW; # SS - SET BIT IN WORD #
- PROC SSBTBW; # SS - TEST BIT IN WORD #
- FUNC XCDD C(10); # MACREL-CNVRT INT TO DEC DSP CD#
- END
- #
- ****
- #
- # FORMAL PARAMETERS #
- ITEM VCBORD I; # VCB ORDINAL #
- # ACTUAL PARAMETERS #
- ITEM WORD I;
- ITEM BITN I;
- ITEM STATS B;
- # INDUCTION VARIABLES #
- ITEM I I; # DUMMY #
- # ITEMS #
- ITEM TEMP C(10);
- WORD = 0;
- BITN = VCBORD;
- FOR I = 0 WHILE (BITN-48) GR 0 DO # CONVERT ORDNL TO WORD/BIT #
- BEGIN
- BITN = BITN-48;
- WORD = WORD+1;
- END
- #
- * 1) VERIFY THAT VCB ORDINAL IS LEGAL, AND
- * 2) CHECK PRESENT ORDINAL STATUS.
- #
- $BEGIN
- SSBTBW(VOT[WORD],BITN,STATS);
- IF WORD GR VTSIZE$
- OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) EQ 0
- OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) GR ACTENSEC$
- OR STATS
- THEN
- BEGIN
- TEMP = XCDD(VCBORD);
- V$MSG[0] = "ILLEGAL VCB ORDINAL = ";
- V$ORD[0] = C<7,3>TEMP;
- V$PID[0] = "NVFUFVO";
- MESSAGE(VCBMSG[0],DFILE$);
- ABORT;
- END
- $END
- SSBSBW(VOT[WORD],BITN); # MARK ORDINAL AS FREE #
- AVCBCNT = AVCBCNT-1; # DECR ACTIVE VCB COUNT #
- RETURN;
- END # NVFUFVO #
- TERM
cdc/nos2.source/nam5871/nvfufvo.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator