cdc:nos2.source:opl871:0dq
Table of Contents
0DQ
Table Of Contents
- [00007] 0DQ - DEQUEUE FILE.
- [00009] DROP QUEUE FILE.
- [00069] MAIN ROUTINE.
- [00070] DQF - MAIN ROUTINE.
- [00133] SUBROUTINES.
- [00135] DDS - DROP QUEUE FILE DISK SPACE.
- [00179] IQF - SET OR CLEAR QFT INTERLOCK.
- [00200] RSS - READ QUEUE FILE SYSTEM SECTOR.
- [00251] SGQ - SEARCH GLOBAL QUEUE.
Source Code
- 0DQ.txt
- IDENT 0DQ,DQFX
- PERIPH J
- BASE MIXED
- SST
- *COMMENT 0DQ - DEQUEUE FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE 0DQ - DEQUEUE FILE.
- SPACE 4,10
- *** 0DQ - DROP QUEUE FILE.
- *
- * D. R. HILGREN. 79/10/30.
- * R. M. DESSEL. 81/03/26.
- * P. D. HAAS. 81/06/18.
- SPACE 4,10
- *** *0DQ* IS A LOCATION-FREE ROUTINE USED TO DROP
- * A QFT ENTRY. *0DQ* PERFORMS THE FOLLOWING -
- * 1. SEARCH FOR QFT ENTRY.
- * 2. CLEAR QFT ENTRY.
- * 3. DROP DISK SPACE IF REQUESTED.
- * 4. INCREMENT MASS STORAGE PRU COUNTER IF DISK SPACE DROPPED.
- * 5. ISSUE ACCOUNT FILE MESSAGE IF FILE REMOVED FROM QUEUE.
- SPACE 4,15
- *** ENTRY CONDITIONS.
- *
- * (QA) = 0. USE EQUIPMENT AND FIRST TRACK TO FIND QFT ENTRY.
- * THE QFT ENTRY WILL BE INTERLOCKED BY *0DQ* PRIOR TO
- * DELETION FOR FUNCTIONS 0 AND 1.
- * (QA) = QFT ORDINAL. USE QFT ORDINAL TO FIND ENTRY. THE
- * CALLER OF *0DQ* MUST INTERLOCK THE QFT ENTRY PRIOR TO
- * CALLING *0DQ*.
- * ((LA)-1) = 0 RELEASE QFT ENTRY AND DISK SPACE.
- * = 1 RELEASE QFT ENTRY ONLY.
- * = 2 RELEASE DISK SPACE ONLY (FILE NOT IN QFT).
- * (FS - FS+4) = FST INFORMATION.
- SPACE 4,10
- *** EXIT CONDITIONS.
- *
- * (A) = 0 IF REQUESTED DEQUEUEING OPERATION PERFORMED.
- * .LT. 0 IF QUEUE FILE DEVICE INACCESSIBLE.
- * (T5) = QUEUE FILE DEVICE EST ORDINAL, IF DEVICE INACCESSIBLE.
- *
- * (QA) = QFT ORDINAL, IF QFT ENTRY FOUND AND DEQUEUED.
- * (QA) = 0, IF QFT ENTRY NOT FOUND.
- *
- * THE QUEUED FILE SYSTEM SECTOR WILL BE READ ON A RELEASE QFT
- * ONLY REQUEST (((LA)-1) =1) ONLY IF CREATION MODE IS NOT SET
- * IN THE QFT ENTRY.
- SPACE 4,10
- *** USES.
- *
- * USES CM - CM+4, T1 - T7.
- SPACE 4,10
- * COMMON DECK MACROS AND DEFINITIONS.
- *CALL COMPMAC
- *CALL COMPREL
- *CALL COMSCPS
- *CALL COMSSSE
- *CALL COMSZOL
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
- QA EQU 26 QFT ORDINAL
- ****
- TITLE MAIN ROUTINE.
- ** DQF - MAIN ROUTINE.
- ORG 5
- DQF SUBR ENTRY/EXIT
- UJN DQF2 CHECK CALL PARAMETERS
- DQF1 RJM. EXR CALL *0QM* TO ISSUE ACCOUNTING MESSAGE
- LDN 0 SET OPERATION COMPLETE
- UJN DQFX RETURN
- VFD 24/0LAEQP *AEQP* MESSAGE IDENTIFIER
- OVLA EQU * *0QM* LOAD ADDRESS
- DQF2 LDD FS+1
- STD T6 SET FIRST TRACK
- ADD QA
- ZJN DQFX IF FILE UNUSED/NULL REQUEST
- LDD FS
- STD T5 SET EST ORDINAL
- LDM -1
- STI LA PRESERVE DEQUEUE OPTION
- SBN 2
- ZJN DQF3 IF FILE NOT IN QFT
- RJM IFP INITIALIZE QFT PROCESSOR
- RJM SGQ SEARCH GLOBAL QUEUE
- ZJN DQFX IF FILE NOT FOUND
- LDD T4
- LPN 4
- DQF3 NJN DQF4 IF CREATION MODE
- RJM RSS READ QUEUE FILE SYSTEM SECTOR
- MJN DQF6 IF RECOVERABLE MASS STORAGE ERROR
- NJN DQF4 IF ERROR IN SYSTEM SECTOR
- LDI LA
- SBN 1
- ZJN DQF4 IF NOT TO DROP DISK SPACE
- RJM DDS DROP DISK SPACE
- MJN DQF6 IF DEVICE INACCESSIBLE
- DQF4 LDI LA
- SBN 2
- ZJN DQF5 IF FILE NOT IN QFT
- LDD QA
- STD CM+1
- LDN PQFT
- STD CM+2
- MONITOR MTRM RELEASE QFT ENTRY
- DQF5 LDM FIQF
- ZJN DQF8 IF FILE NOT QUEUED
- LDN OVLA SET *0QM* LOAD ADDRESS
- RAD LA
- EXECUTE 0QM,*
- LJM DQF1-OVLA CALL *0QM* TO ISSUE ACCOUNTING MESSAGE
- DQF6 LDM QFIF
- ZJN DQF7 IF QFT INTERLOCK NOT SET BY *0DQ*
- LDN CFIN SET CLEAR INTERLOCK FUNCTION
- RJM IQF CLEAR QFT INTERLOCK
- DQF7 LCN 0 SET DEVICE INACCESSIBLE
- DQF8 LJM DQFX RETURN
- FIQF CON 0 FILE QUEUED FLAG
- QFIF CON 0 QFT INTERLOCK SET BY *0DQ* FLAG
- TITLE SUBROUTINES.
- DDS SPACE 4,15
- ** DDS - DROP QUEUE FILE DISK SPACE.
- *
- * ENTRY (FIQF) .NE. 0 IF FILE QUEUED.
- *
- * EXIT (A) .GE. 0 IF DISK SPACE DROPPED.
- * (A) .LT. 0 IF DEVICE INACCESSIBLE.
- * MASS STORAGE SECTOR LIMIT INCREMENTED IF FILE NOT
- * QUEUED.
- *
- * USES (CM - CM+2).
- *
- * MACROS MONITOR.
- DDS SUBR ENTRY/EXIT
- LDD T6
- STD CM+2
- LDD T5 RELEASE TRACK CHAIN
- LMC 5000 CHECKPOINT / RETURN ON INACCESSIBLE DEVICE
- STD CM+1
- MONITOR DTKM
- LDD CM+1
- SHN 21-11
- MJN DDSX IF DEVICE INACCESSIBLE
- LDM FIQF
- NJN DDSX IF FILE QUEUED
- * ACTUAL COUNT OF SECTORS RETURNED VIA *DTKM* IS IN CM+3 - CM+4.
- LDN CICS INCREMENT CP AREA FIELD FUNCTION CODE
- STD CM
- LDK ACLW ADDRESS OF MASS STORAGE SECTOR LIMIT
- STD CM+1
- LDN 0D*100+18D POSISTION AND WIDTH OF LIMIT FIELD
- STD CM+2
- LDD MA UADM FUNCTION MESSAGE BUFFER CONTENTS
- CWD CM
- LDN 1 SET UADM REQUEST COUNT AND NO DROP OF PPU
- STD CM+1
- STD CM+2
- MONITOR UADM INCREMENT MASS STORAGE SECTOR LIMIT
- * LDN 0
- LJM DDSX RETURN
- IQF SPACE 4,15
- ** IQF - SET OR CLEAR QFT INTERLOCK.
- *
- * ENTRY (A) = FUNCTION CODE FOR *SFI*.
- * (QA) = QFT ORDINAL.
- *
- * EXIT (A) = 0 IF OPERATION COMPLETE.
- * (A) .NE. 0 IF ERROR (OPERATOR OVERRIDE).
- *
- * USES T1.
- *
- * CALLS SFI.
- *
- * MACROS SFA.
- IQF SUBR ENTRY/EXIT
- STD T1 SET FUNCTION CODE
- SFA QFT,QA SET QFT ADDRESS
- RJM SFI INTERLOCK QFT ENTRY
- UJN IQFX RETURN
- RSS SPACE 4,20
- ** RSS - READ QUEUE FILE SYSTEM SECTOR.
- *
- * ENTRY (A) = 0.
- * (T5) = EST ORDINAL OF QUEUE FILE.
- * (T6) = FIRST TRACK OF QUEUE FILE.
- *
- * EXIT (A) = 0 IF NO ERROR.
- * (A) .LT. 0 IF RECOVERABLE MASS STORAGE ERROR.
- * (A) .GT. 0 IF UNRECOVERABLE MASS STORAGE ERROR OR
- * ERROR IN SYSTEM SECTOR.
- * (FIQF) .NE. 0 IF FILE QUEUED.
- * (FIQF) = 0 IF FILE NOT QUEUED.
- *
- * USES T7.
- *
- * CALLS RDS.
- *
- * MACROS ENDMS, SETMS.
- RSS3 LMC 2000
- SHN 21-12 (A) .LT. 0 IF ERROR RECOVERABLE
- RSS SUBR ENTRY/EXIT
- STD T7 SET SYSTEM SECTOR READ
- SETMS IO
- LDC BFMS READ SYSTEM SECTOR
- RJP RDS
- MJN RSS3 IF READ ERROR
- ENDMS
- LDP BFMS+1
- LMN 77
- NJN RSSX IF NOT SYSTEM SECTOR LINKAGE
- LDP BFMS
- LMC 3777
- NJN RSSX IF NOT SYSTEM SECTOR LINKAGE
- LDP FTSS
- LMD T6
- RSS1 NJN RSSX IF INCORRECT SYSTEM SECTOR
- LDP FNSS+4 CHECK FILE TYPE
- SHN -6
- LMN QFFT
- ZJN RSS2 IF QUEUE FILE
- LMN INFT&QFFT
- NJN RSS1 IF NOT QUEUE FILE
- RSS2 LDP FGSS SET FILE QUEUED STATUS
- LPN 1
- STM FIQF
- LDN 0 SET NO ERROR
- LJM RSSX RETURN WITH ERROR STATUS
- SGQ SPACE 4,25
- ** SGQ - SEARCH GLOBAL QUEUE.
- *
- * ENTRY (QA) = 0 IF QFT SEARCH REQUIRED.
- * = QFT ORDINAL IF SPECIFIED.
- * (FS - FS+4) = FST INFORMATION.
- * QFT INTERLOCKED IF (QA) .NE. 0.
- *
- * EXIT (A) = 0, IF QFT ENTRY NOT FOUND OR ERROR IN
- * INTERLOCKING QFT ENTRY (OPERATOR OVERRIDE).
- * (QA) = QFT ORDINAL, IF ENTRY FOUND.
- * (T4) = CREATION MODE FLAG.
- * (T5) = EST ORDINAL.
- * (T6) = FIRST TRACK.
- * (QFIF) .NE. 0 IF QFT ENTRY INTERLOCKED BY *0DQ*.
- *
- * USES QA, CM - CM+4, T0 - T7.
- *
- * CALLS IQF.
- *
- * MACROS ISTORE, SFA.
- SGQ1 LDN QFTP READ QFT POINTERS
- CRD CM
- SGQ2 AOD QA ADVANCE ORDINAL
- LMD CM+2
- ZJN SGQX IF END OF QFT
- SGQ3 SFA QFT,QA SET QFT ADDRESS
- ADK JSNQ READ CREATION MODE FLAG
- CRD T0
- ADN ENTQ-JSNQ READ MASS STORAGE PARAMETERS
- CRD T5
- SGQA LDD T6 COMPARE FIRST TRACK
- * UJN SGQX (QFT ORDINAL SPECIFIED)
- LMD FS+1
- NJN SGQ2 IF NO MATCH
- LDD T5
- LMD FS
- NJN SGQ2 IF NOT SAME EQUIPMENT
- LDN SFIN SET INTERLOCK FUNCTION
- RJM IQF INTERLOCK QFT ENTRY
- ZJN SGQ4 IF ENTRY INTERLOCKED
- LDN 1
- SGQ4 LMN 1
- STM QFIF SET INTERLOCK FLAG
- SGQ SUBR ENTRY/EXIT
- LDD QA
- ZJN SGQ1 IF QFT ORDINAL NOT SPECIFIED
- ISTORE SGQA,(UJN SGQX) BYPASS QFT SEARCH
- UJN SGQ3 FETCH MASS STORAGE PARAMETERS
- SPACE 4,10
- ** COMMON DECKS.
- QFT$ EQU 1 ASSEMBLE QFT PROCESSOR
- IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
- *CALL COMPGFP
- *CALL COMPSFI
- IFP HERE *COMPGFP* INITIALIZATION
- RSTR
- SPACE 4,10
- ERRNG ZDQL-OVLA-ZQML *0QM* OVERFLOWS *0DQ*
- OVERFLOW 5,ZDQL
- SPACE 4,10
- END
cdc/nos2.source/opl871/0dq.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator