IDENT 0FA,DRPX PERIPH J TITLE 0FA - RELEASE FAST ATTACH PERMANENT FILE. BASE MIXED SST QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS *COMMENT 0FA - RELEASE FAST ATTACH PERMANENT FILE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4 *** 0FA - RELEASE FAST ATTACH PERMANENT FILE. * M. E. MADDEN. 73/07/10. * S. L. KSANDER. 75/05/26. SPACE 4 *** 0FA IS A LOCATION FREE ROUTINE TO BE USED FOR * RELEASING FAST ATTACH PERMANENT FILES. * * IF THE FILE IS ATTACHED IN WRITE MODE THE MODE BITS * FOR THE FILE WILL BE UPDATED TO CLEAR THE WRITE LOCKOUT * STATUS. THE ACTIVE FILE COUNT IN THE MST WILL ALSO * BE DECREMENTED FOR THIS FILE. AN EVENT WILL BE * ISSUED TO ROLL IN USERS WAITING FOR THE FILE. * * IF THE FILE WAS ATTACHED IN READ MODE THE USER COUNTS FOR * THE FILE WILL BE UPDATED TO REFLECT ONE LESS USER * ACCESSING THE FILE. * * UPDATING OF THE ECS ENTRY AND THE LOCAL FNT IS HANDLED * BY CPU MONITOR THROUGH THE *AFAM* MONITOR FUNCTION. SPACE 4 *** CALL. * * ENTRY ((LA)-1) = FILE STATUS. * 6/,1/0,1/A,1/M,1/E,1/U,1/R * A = APPEND * M = MODIFY * E = EXECUTE * U = UTILITY ATTACH (ALWAYS ZERO FOR *0FA*) * R = READ ONLY * (FS - FS+4) = FST INFORMATION. * * EXIT (A) = 0. SPACE 4 *CALL COMPMAC *CALL COMSCPS *CALL COMSMST *CALL COMSPFM *CALL COMSZOL *CALL COMPREL SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS) **** TITLE MAIN ROUTINE. ** DRP - MAIN ROUTINE. ORG 5 DRP SUBR ENTRY/EXIT RJM SFF SEARCH FOR FILE LDD CM+3 LPN 77 ZJN DRP0 IF NOT GLOBAL FAST ATTACH FILE LDD T5 DRP0 STD CM+1 LDD T2 SET FNT ORDINAL IN REQUEST STD CM+4 LDN RFAS REQUEST RETURN OF FAST ATTACH FILE STD CM+3 * DETERMINE MODE OF FILE TO BE RETURNED. LDD LA SET TABLE BASE ADDRESS ADC TFNS STM DRPA LDN TFNSL STD T2 DRP1 SOD T2 DECREMENT TABLE INDEX MJN DRP2 IF END OF TABLE LDM -1 LPN 35 SEARCH TABLE FOR MODE LMM. **,T2 DRPA EQU *-1 NJN DRP1 IF NOT MATCHING STATUS LDD T2 SET ATTACH MODE IN REQUEST STD CM+2 MONITOR AFAM RETURN FILE LDD CM+1 CHECK RETURN STATUS ZJN DRP3 IF FUNCTION COMPLETE DRP2 MONITOR HNGM HANG PP DRP3 LDD T5 SET EST ORDINAL STD CM+1 LDN DUCS DECREMENT ACTIVE FILE COUNT STD CM+3 MONITOR SMDM * LDN 0 ISSUE EVENT TO INDICATE FILE RETURNED STD CM+1 LDD T6 SET FIRST TRACK IN EVENT STD CM+4 LDD T5 SET EQUIPMENT IN EVENT STD CM+3 MONITOR EATM * LDN 0 LJM DRPX RETURN TFNS SPACE 4 * TABLE OF FILE MODES. * INDEXED BY *PFM* MODE NUMBER. TFNS BSS 0 LOC 0 CON 0 WRITE CON 1 READ CON 20 APPEND/EXTEND CON 5 EXECUTE CON 77 NULL CON 30 MODIFY CON 31 READ ALLOW MODIFY CON 21 READ ALLOW APPEND/EXTEND CON 10 UPDATE CON 11 READ ALLOW UPDATE LOC *O TFNSL EQU *-TFNS LENGTH OF TABLE TITLE SUBROUTINES. SFF SPACE 4,10 ** SFF - SEARCH FOR FAST ATTACH FILE. * * ENTRY (FS - FS+4) = FST INFORMATION. * * EXIT (T2) = FNT ORDINAL OF FAST ATTACH FILE. * (T5) = EST ORDINAL. * (T6) = FIRST TRACK. * (CM+3) = GLOBAL FAST ATTACH FILE FLAG. * * USES T3, T4, CM - CM+4. * * MACROS MONITOR, SFA. SFF SUBR ENTRY/EXIT LDN FNTP FETCH FNT POINTER CRD T2 LDN 1 INITIALIZE FNT ORDINAL STD T2 SFF1 SFA FNT,T2 CRD CM ADN FSTG GET FST INFORMATION CRD T5 LDD CM+4 CHECK FILE TYPE SHN -6 LMN FAFT NJN SFF2 IF NOT FAST ATTACH FILE LDD T5 LMD FS NJN SFF2 IF NOT SAME EQUIPMENT LDD T6 LMD FS+1 ZJN SFFX IF MATCHING TRACK SFF2 AOD T2 ADVANCE FNT ORDINAL LMD T4 NJN SFF1 IF NOT END OF FNT MONITOR HNGM HANG PP * LDN 0 LJM DRPX EXIT SPACE 4,10 ** COMMON DECKS. FNT$ EQU 1 *CALL COMPGFP SPACE 4 OVERFLOW 5,ZFAL END