cdc:nos2.source:nam5871:nvfactc
Table of Contents
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
- *DECK NVFACTC
- USETEXT TEXTNVF
- USETEXT TEXTSS
- PROC NVFACTC(PACOUT,RELVCB);
- # TITLE - NVFACTC - CLEAN UP TERMINATING A-A CONNECTION TABLES. #
- BEGIN # NVFACTC #
- #
- ** NVFACTC - CLEAN UP TERMINATING A-A CONNECTION TABLES.
- *
- * C. BRION 83/11/08.
- * P. MURRAY 84/02/28.
- *
- * THIS PROCEDURE IS RESPONSIBLE FOR RELEASING ACTIVE PID TABLE
- * SPACE IF IT EXISTS, APOUTCL TABLE SPACE IF IT EXISTS, PAAC ENTRY
- * TABLE SPACE, AND THE ASSIGNED VCB ORDINAL FOR A TERMINATING A-A
- * CONNECTION.
- *
- * PROC NVFACTC(PACOUT,RELVCB)
- *
- * ENTRY:
- *
- * PACOUT = INDEX ORDINAL OF PAAC ENTRY FOR A-A CONNECTION.
- * RELVCB = FLAG INDICATING IF VCB TO BE RELEASED.
- *
- * EXIT:
- *
- * THE ACTIVE PID TABLE ENTRY (ACPID ENTRY) IS RELEASED IF
- * IT EXISTS.
- *
- * THE APPL SUPPLIED OUTCALL TABLE ENTRY (APOUTCL) IS RELEASED
- * IF IT EXISTS.
- *
- * THE PAAC TABLE ENTRY SPACE IS RELEASED.
- *
- * THE ASSIGNED VCB ORDINAL MAY BE RELEASED.
- *
- #
- CONTROL EJECT;
- #
- **** PROC NVFACTC XREF LIST
- #
- XREF
- BEGIN
- PROC SSTRTS; # SS-RELEASE TABLE SPACE #
- PROC NVFUFVO; # FREE VCB ORDINAL #
- END
- #
- ****
- #
- ITEM PACOUT I; # PAAC ENTRY ORDINAL #
- ITEM VCBOUT I; # VCB ORDINAL #
- ITEM WORK I; # WORK VARIABLE #
- ITEM SIZE I; # SIZE OF TABLE #
- ITEM FOUND B; # TABLE ENTRY FOUND FLAG #
- ITEM RELVCB B; # VCB RELEASE FLAG #
- CONTROL EJECT;
- #
- * OBTAIN VCB ORDINAL FROM PAAC ENTRY.
- #
- VCBOUT = PA$VCB[PACOUT];
- #
- * IF AN ACPID TABLE ENTRY EXISTS FOR THIS PAAC ENTRY, LOCATE AND
- * RELEASE THE ENTRY SPACE.
- #
- IF PA$ACPIDL[PACOUT] NQ 0
- THEN
- BEGIN
- FOUND = FALSE;
- FOR WORK = 0 STEP ACP$ESIZ[WORK] WHILE
- WORK LS ACPIDL AND NOT FOUND
- DO
- BEGIN
- IF ACP$VCB[WORK] EQ VCBOUT
- THEN
- BEGIN
- FOUND = TRUE;
- SIZE = ACP$ESIZ[WORK];
- SSTRTS(P<ACPID>,WORK,SIZE);
- END
- END
- END
- #
- * IF AN APOUTCL ENTRY EXISTS FOR THIS PAAC ENTRY, LOCATE AND
- * RELEASE THE ENTRY SPACE.
- #
- IF PA$OUTSPEC[PACOUT]
- THEN
- BEGIN
- FOUND = FALSE;
- FOR WORK = 0 STEP APO$WC[WORK] WHILE
- WORK LS APOUTCLL AND NOT FOUND
- DO
- BEGIN
- IF APO$VCB[WORK] EQ VCBOUT
- THEN
- BEGIN
- FOUND = TRUE;
- SIZE = APO$WC[WORK];
- SSTRTS(P<APOUTCL>,WORK,SIZE);
- END
- END
- END
- #
- * RELEASE THE PAAC ENTRY AND THE VCB ORDINAL IF REQUESTED.
- #
- WORK = PACOUT * PAACSIZ$;
- SSTRTS(P<PAAC>,WORK,PAACSIZ$);
- IF RELVCB
- THEN
- NVFUFVO(VCBOUT);
- END # NVFACTC #
- TERM
cdc/nos2.source/nam5871/nvfactc.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator