cdc:nos2.source:opl871:0rp
Table of Contents
0RP
Table Of Contents
- [00003] 0RP - RELEASE PERMANENT FILE.
- [00010] RELEASE PERMANENT FILE.
- [00089] MAIN ROUTINE.
- [00271] ITR - ISSUE TRACK REQUEST.
- [00295] SUBROUTINES.
- [00297] UAM - UPDATE ACCESS MODE AND COUNTS.
Source Code
- 0RP.txt
- IDENT 0RP,DRPX
- PERIPH J
- TITLE 0RP - RELEASE PERMANENT FILE.
- BASE MIXED
- SST
- QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
- *COMMENT 0RP - RELEASE PERMANENT FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4
- *** 0RP - RELEASE PERMANENT FILE.
- * J. L. WARDELL 72/10/20.
- * S. L. KSANDER. 75/05/26.
- * W. E. GOEBEL. 77/01/14.
- * P. C. SMITH. 79/04/27.
- SPACE 4
- *** 0RP IS A LOCATION FREE ROUTINE TO BE USED FOR
- * RELEASING PERMANENT FILES.
- *
- * IF THE FILE IS ATTACHED IN WRITE MODE THE SYSTEM SECTOR
- * OF THE FILE WILL BE UPDATED TO CLEAR THE WRITE LOCKOUT
- * STATUS.
- *
- * IF THE FILE WAS ATTACHED IN READ MODE THE SYSTEM SECTOR OF
- * THE FILE WILL BE UPDATED TO REFLECT ONE LESS USER
- * ACCESSING THE FILE.
- *
- * IF THE PURGE BIT IS SET THE FILE WILL BE DROPPED IF THE
- * USER COUNT INDICATES NO OTHER USERS ACCESSING FILE.
- *
- * ACTIVE FILE COUNT FOR DEVICE WILL BE DECREMENTED.
- * MMF USER COUNTS IN THE SYSTEM SECTOR WILL BE UPDATED.
- *
- * AN EVENT WILL BE ISSUED TO ROLL IN USERS WAITING FOR
- * THE FILE.
- SPACE 4
- *** CALL.
- *
- * ENTRY ((LA)-1) = FILE STATUS.
- * 6/0,1/0,1/A/,1/M,1/E/,1/U,1/R
- * A = APPEND
- * M = MODIFY
- * E = EXECUTE
- * U = UTILITY ATTACH.
- * R = READ ONLY
- * (FS - FS+4) = FST INFORMATION.
- *
- * EXIT (A) .LT. 0 IF PERMANENT FILE DEVICE INACCESSIBLE.
- * (T5) = EST ORDINAL OF PERMANENT FILE DEVICE.
- * (T6) = FIRST TRACK OF PERMANENT FILE.
- SPACE 4
- *** DAYFILE MESSAGES.
- *
- * *EQXXX, TYYYY, SYSTEM SECTOR ERROR.*
- * THIS MESSAGE IS ISSUED FOR EITHER READ OR WRITE ERRORS OR
- * IF THE TRACK OR LINKAGE BYTES CONTAINED IN THE SYSTEM
- * SECTOR ARE NOT VALID.
- * EQ EQUIPMENT MNEMONIC.
- * XXX EST ORDINAL.
- * YYYY TRACK NUMBER.
- SPACE 4
- *** USES LOCATIONS 0 - 17, BFMS.
- *
- * MUST BE LOADED BELOW BFMS.
- SPACE 4
- *** ROUTINES USED.
- *
- * CALLS DFM, RDS, WDS.
- SPACE 4
- ** COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSCPS
- QUAL EVENT
- *CALL COMSEVT
- QUAL *
- *CALL COMSPFM
- *CALL COMPREL
- *CALL COMSMSP
- *CALL COMSZOL
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- CF EQU 16 CHECKPOINT REQUEST FLAG
- FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
- ****
- TITLE MAIN ROUTINE.
- ** DRP MAIN ROUTINE.
- ORG 5
- DRP SUBR ENTRY/EXIT
- * INTERLOCK TRACK.
- DRP1 LDD FS SET EST ORDINAL
- STD T5
- ADD TH IMMEDIATE RETURN ON INACCESSIBLE DEVICE
- STD CM+1
- LDD FS+1 SET FIRST TRACK
- STD T6
- ZJN DRPX IF NO TRACKS ASSIGNED
- STD CM+2
- LDN STIS SET TRACK INTERLOCK
- STD CM+3
- MONITOR STBM
- LDD CM+1
- ZJN DRP3 IF INTERLOCK SET
- SHN 21-11
- MJN DRPX IF DEVICE INACCESSIBLE
- LCN 77
- STD T1
- * DELAY 1/2 SECOND AND RETRY.
- DRP2 SOD T1
- ZJN DRP1 IF DELAY EXPIRED RETRY INTERLOCK
- PAUSE
- DELAY
- LDD CM+1
- LMN ORET
- NJN DRP2 IF NO OPERATOR OVERRIDE
- LJM DRP15 DECREMENT FILE COUNT AND EXIT
- * READ SYSTEM SECTOR.
- DRP3 STD T7
- STD CF CLEAR CHECKPOINT FLAG
- SETMS IO,RW
- LDD CM+3 SET EQUIPMENT IN ERROR MESSAGE
- LPC 3777
- STM DRPE
- LDC BFMS READ NEXT SECTOR
- RJM. RDS
- PJN DRP5 IF NO ERROR
- DRP4 SHN 21-12
- MJN DRP6 IF NON-RECOVERABLE ERROR
- RJM ITR CLEAR TRACK INTERLOCK
- LCN 0
- LJM DRPX RETURN
- DRP5 LDM. BFMS+1
- LMN 77
- NJN DRP9 IF NOT SYSTEM SECTOR WORD COUNT
- LDM. BFMS CHECK NEXT SECTOR
- LMC 3777
- NJN DRP9 IF NOT SYSTEM SECTOR ID
- LDD T6 CHECK TRACK
- LMM. FTSS
- DRP6 NJN DRP9 IF ERROR IN SYSTEM SECTOR
- LDM. FISS
- NJN DRP8 IF FAST ATTACH ENTRY
- * SET ACCESS AND USER COUNTS FOR NORMAL FILE.
- RJM UAM UPDATE ACCESS MODE AND USER COUNTS
- ZJN DRP10 IF NO MORE USERS
- LMN 40 CHECK PURGE BIT
- NJN DRP10 IF USERS ACCESSING FILE
- LDM. CTSS+FCEF CHECK FOR BOI/EOI VERIFICATION ERROR
- SHN 0-13
- NJN DRP11 IF ERROR (LEAVE IN CURRENT STATE)
- * DROP FILE BEING PURGED.
- LCN STBM-DTKM CHANGE TO DROP FILE
- RAM ITRA
- AOD CF
- DRP8 UJN DRP11 RELEASE FILE
- DRP9 ENDMS
- UJN DRP13 ISSUE ERROR MESSAGE
- * ISSUE EVENT WHILE WAITING FOR DISK REVOLUTION.
- DRP10 LDN 0 ISSUE EVENT
- STD CM+1
- LDD T6
- STD CM+4
- LDD T5
- STD CM+3
- MONITOR EATM
- LDC BFMS+WLSF REWRITE SYSTEM SECTOR
- RJM. WDS
- DRP11 PJN DRP14 IF NO WRITE ERROR
- LJM DRP4 CHECK ERROR STATUS
- * ISSUE ERROR MESSAGE.
- DRP13 LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
- SHN -3
- RJM C2D
- STM DRPE+1
- LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
- LPN 7
- SHN 6
- RAM DRPE+2
- LDD T6 SET TRACK NUMBER IN ERROR MESSAGE
- SHN -6
- RJM C2D
- STM DRPE+4
- LDD T6
- RJM C2D
- STM DRPE+5
- LDC DRPE ISSUE DAYFILE MESSAGE
- ADD LA
- RJM. DFM
- * CLEAR TRACK INTERLOCK / DROP TRACK.
- DRP14 ENDMS
- RJM ITR ISSUE TRACK REQUEST
- LDD CF
- ZJN DRP15 IF *DTKM* NOT ISSUED
- * INCREMENT PRU LIMIT FIELD IN CONTROL POINT AREA.
- * NUMBER OF SECTORS RETURNED BY *DTKM* IS IN (CM+3 - CM+4).
- LDN CICS INCREMENT CP AREA FIELD FUNCTION CODE
- STD CM
- LDK ACLW ADDRESS OF MASS STORAGE PRU LIMIT
- STD CM+1
- LDN 0D*100+18D POSITION AND WIDTH OF LIMIT FIELD
- STD CM+2
- LDD MA WRITE *UADM* PARAMETERS TO MESSAGE BUFFER
- CWD CM
- LDN 1
- STD CM+1 REQUEST COUNT
- STD CM+2 DO NOT DROP PP
- MONITOR UADM
- * UPDATE DEVICE STATUS.
- DRP15 LDD T5 DECREMENT USER COUNT
- STD CM+1
- LDN DUCS
- STD CM+3
- MONITOR SMDM
- * ISSUE OVERCOMMITMENT EVENT FOR AUXILIARY REMOVABLE
- * DEVICE WITH ZERO USER COUNT.
- SFA EST,T5 CHECK FOR AUXILIARY REMOVABLE DEVICE
- ADK EQDE
- CRD CM
- LDD CM+4
- SHN 3
- ADN MDGL
- CRD CM
- ADN STLL-MDGL
- CRD T0 GET USER COUNT
- LDD CM
- SHN -12
- LMN 3
- NJN DRP16 IF FAMILY OR NON-REMOVABLE DEVICE
- LDD T0+3
- NJN DRP16 IF USERS
- STD CM+1 ISSUE OVERCOMMITMENT EVENT
- LDC /EVENT/OVRE
- STD CM+4
- SHN -14
- STD CM+3
- MONITOR EATM
- DRP16 LJM DRPX EXIT
- DRPE DATA C*EQ000, T0000, SYSTEM SECTOR ERROR.*
- ITR SPACE 4,10
- ** ITR - ISSUE TRACK REQUEST.
- *
- * ENTRY (CF) = CHECKPOINT REQUEST FLAG.
- * (T5) = EST ORDINAL.
- * (T6) = FIRST TRACK OF FILE.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- ITR SUBR ENTRY/EXIT
- LDD T6
- STD CM+2 SET FIRST TRACK
- LDD CF
- SHN 13-0 CHECKPOINT FLAG
- LMD T5
- STD CM+1 APPEND TO EST ORDINAL
- LDN CTIS
- STD CM+3 CLEAR TRACK INTERLOCK
- ITRA MONITOR STBM
- * MONITOR DTKM (FILE PURGED)
- * LDN 0
- UJN ITRX RETURN
- TITLE SUBROUTINES.
- UAM SPACE 4
- ** UAM - UPDATE ACCESS MODE AND COUNTS.
- *
- * ENTRY (CASS) = ACCESS MODE OF FILE.
- * BIT DESCRIPTION
- * 0 UNUSED.
- * 1 FILE MAY BE EXTENDED (W, M OR A MODE).
- * 2 UNUSED.
- * 3 FILE MAY BE REWRITTEN (W, M OR U MODE).
- * 4 FILE MAY BE SHORTENED (W MODE).
- * 5 FILE PURGED.
- * 6 FILE ATTACHED BY SYSTEM UTILITY.
- * (T5) = EST ORDINAL.
- *
- * EXIT (CASS) = NEW ACCESS MODE OF FILE.
- * (A) .NE. 0 IF OTHER USERS ACCESSING FILE OR FILE
- * PURGED.
- * (A) = 40 IF FILE PURGED.
- *
- * USES T2, T3, CM - CM+4.
- *
- * MACROS SFA.
- *
- * NOTES WHEN A FILE IS ATTACHED IN A READ MODE AND THE USER
- * COUNT IS TO BE DECREMENTED, IT IS DONE BY COMMON
- * CODE. THIS IS DUE TO THE CORRESPONDENCE BETWEEN THE
- * FILE STATUS VALUES FROM THE LOCAL FNT ENTRY FOR READ
- * MODES AND THE BYTE WHERE THE APPROPRIATE USER COUNT
- * IS LOCATED. ADDING ONE TO THE VALUE OF BITS 3-5 OF
- * THE STATUS WILL GIVE THE BYTE NUMBER.
- UAM4 SHN 1-3 DETERMINE USER COUNT OFFSET
- LPN 3
- STD T3
- RAD T2 ADD WORD OFFSET OF LOCAL COUNTS
- SOP UCSS+6,T2 DECREMENT LOCAL USER COUNT
- SOP UCSS+1,T3 DECREMENT GLOBAL USER COUNT
- * RETURN FILE STATUS.
- UAM5 LDM. UCSS+1
- ADM. UCSS+2
- ADM. UCSS+3
- ADM. UCSS+4
- SHN 6
- ADM. CASS
- UAM SUBR ENTRY/EXIT
- SFA EST,T5 COMPUTE BASE ADDRESS OF LOCAL COUNTS
- ADK EQDE
- CRD CM
- LDD CM+4
- SHN 3
- ADN DULL GET MACHINE INDEX
- CRD CM
- LDD CM+2
- LPN 17
- STD T2
- SHN 2
- RAD T2
- LDM -1
- LPN 2
- ZJN UAM2 IF UTILITY ATTACH STATUS NOT SET
- * CLEAR SYSTEM UTILITY ATTACH FLAGS.
- LDC -100 CLEAR GLOBAL UTILITY ATTACH FLAG
- RAM. CASS
- LCN 2 CLEAR LOCAL UTILITY ATTACH FLAG
- RAP UCSS+5,T2
- * WRITE MODE PROCESSOR.
- UAM2 LDM -1
- SHN 21-0
- PJN UAM3 IF WRITABLE MODE
- LJM UAM4 PROCESS NON-WRITEABLE MODES
- UAM3 LDM. CASS CLEAR ALL WRITE BITS
- SCN 32
- STM. CASS
- LDP UCSS+5,T2 CLEAR LOCAL WRITE FLAG
- SCN 1
- STP UCSS+5,T2
- LJM UAM5 RETURN FILE STATUS
- SPACE 4
- ** COMMON DECKS.
- *CALL COMPC2D
- SPACE 4
- OVERFLOW 5,ZRPL
- END
cdc/nos2.source/opl871/0rp.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator