IDENT 0DF,DRFX PERIPH J BASE MIXED SST *COMMENT 0DF - DROP FILE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 0DF - DROP FILE. SPACE 4,10 *** 0DF - DROP FILE. * G. R. MANSFIELD. 70/07/30. * R. E. TATE. 70/11/30. * M. E. MADDEN. 73/04/01. * D. D. SADLER 75/01/18. * P. D. HAAS. 85/01/20. SPACE 4,10 *** 0DF IS A LOCATION FREE ROUTINE TO BE USED FOR * DROPPING ANY SYSTEM FILE. * * ALL FILES ARE REMOVED FROM THE LOCAL FNT * AND THE ASSIGNED EQUIPMENT OR TRACKS WILL BE RELEASED. * THE JOBS MASS STORAGE PRU LIMIT IS ALSO INCREMENTED, UNLESS * BIT 0 OF ((LA)-1) IS SET. * *0DF* DOES NOT SET THE FILE BUSY BEFORE DROPPING. * NOTE - *0DF* WILL HANG WITH AN *HNGM* MONITOR FUNCTION * FOR THE FOLLOWING CONDITIONS - * 1. FNT ADDRESS FOR FILE TO BE DROPPED IS ZERO. * 2. FILE TYPE IN FNT ENTRY IS ILLEGAL. * 3. PROCESSOR IS NOT DEFINED FOR THE FILE TYPE. SPACE 4,10 *** ENTRY CONDITIONS. * * * (FA) = 12/FNT ENTRY RELATIVE ADDRESS IN NFL * * ((LA)-1) = 10/, 1/D, 1/R * * WHERE - * * D = PROCESS *ROFT* FILES. THIS SHOULD ONLY BE SET BY * *1RO* DURING ERROR PROCESSING OR BY *1AJ* DURING * *DMP=* PROGRAM ABNORMAL TERMINATION PROCESSING TO * ALLOW THE DM* FILE TO BE RELEASED. * * R = RESOURCE UPDATE CONTROL. FOR MAGNETIC TAPE * FILES AND PERMANENT FILES ON PACKS (FOR * SUBSEQUENT CALL TO *0RF*/*0RT*). * 0 = *RETURN* FILE. * 1 = *UNLOAD* FILE (DOES NOT DECREMENT RESOURCE * FILE COUNT). SPACE 4,10 *** EXIT CONDITIONS. * * * (A) = (FA) = 0 IF OPERATION COMPLETED SUCCESSFULLY. * * (A) .LT. 0 IF MASS STORAGE DEVICE INACCESSIBLE. * (T5) = EST ORDINAL OF INACCESSIBLE DEVICE, IF INACCESSIBLE. * NOTE - THE INACCESSIBLE DEVICE MAY BE A DEVICE OTHER * THAN THE ONE ON WHICH THE FILE BEING RETURNED * RESIDES. * (FA) = FNT ORDINAL, IF DEVICE INACCESSIBLE. * FNT LEFT BUSY, IF DEVICE INACCESSIBLE. * (FS - FS+4) = FST WORD OF FNT ENTRY. SPACE 4,10 ** 0-LEVEL OVERLAYS CALLED. * * * *0DQ*, *0FA*, *0PT*, *0RF*, *0RP*, *0RT*. SPACE 4,10 ** COMMON DECKS. *CALL COMPMAC *CALL COMPREL *CALL COMSCPS *CALL COMSLFD *CALL COMSZOL SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. T8 EQU 16 CHECKPOINT REQUEST FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS) QA EQU 26 FA EQU 57 FNT ENTRY RELATIVE ADDRESS IN NFL **** TITLE MAIN ROUTINE. DRF SPACE 4,10 ** DRF - MAIN ROUTINE. ORG 5 DRF SUBR ENTRY/EXIT LJM IFP IDENTIFY AND EXECUTE FILE PROCESSOR EZO SPACE 4,25 ** EZO - EXECUTE ZERO-LEVEL OVERLAY. * * ENTRY (A) = OVERLAY NAME. * (FA) = RELATIVE FNT ADDRESS IN NFL. * (FS - FS+4) = FST INFORMATION. * ((OVL)-1) = FLAGS. * * EXIT (A) = (FA) = 0. * * ERROR TO *DRFX* IF MASS STORAGE DEVICE INACCESSIBLE. * * CALLS EXR, *0DQ*, *0FA*, *0PT*, *0RF*, *0RP*, *0RT*. * * MACROS EXECUTE. EZO BSS 0 EXECUTE 0DQ,= EXECUTE 0FA,= EXECUTE 0PT,= EXECUTE 0RF,= EXECUTE 0RP,= EXECUTE 0RT,= RJM. EXR PJN DRF2 IF NO INACCESSIBLE DEVICE ERROR NFA FA,R ADN FSTL RESTORE FST INFORMATION CRD FS LCN 0 DRF1 UJN DRFX EXIT DRF2 UJN *+2 CHECK EQUIPMENT ASSIGNED DRFA EQU DRF2 UJN PFT4 CONTINUE WITH *0RF* CALL DRF3 LDC 0 DRFB EQU *-1 ZJN DRF4 IF NOT TO RELEASE EQUIPMENT STD CM+1 MONITOR DEQM RELEASE ASSIGNED EQUIPMENT * CLEAR FNT ENTRY IN NFL. DRF4 LDD FA SET RELATIVE FNT ADDRESS STD CM+4 LDN DLFS SELECT DELETE LOCAL FILE STD CM+1 MONITOR PLFM CLEAR FNT ENTRY * LDN 0 STD FA UJN DRFX EXIT PFT SPACE 4,30 ** PFT - RELEASE PERMANENT FILE. * * USES CM - CM+4. * * CALLS EZO. * * MACROS MONITOR, NFA, SFA. * * NOTE LOADING *0FA*, *0OD*, *0PT*, *0RF*, *0RP*, OR *0RT* * AND THEIR PARAMETERS OVERLAYS CODE STARTING AT *PFT*. * * *0FA* IS CALLED TO RETURN A PERMANENT FILE FOR * WHICH A MATCHING FAST-ATTACH FNT ENTRY WAS FOUND. * * *0OD* IS CALLED TO RETURN ALL OPTICAL DISK FILES. * *OPT* IS CALLED TO CLEAR THE PRIMARY FILE POINTERS * IN THE JOB EJT ENTRY WHEN DROPPING THE PRIMARY FILE. * * *0RP* IS CALLED TO RETURN ALL OTHER PERMANENT FILES. * * *0RF* IS CALLED AFTER *0RP* TO DECREMENT THE JOB * RESOURCE COUNTS WHENEVER THE PERMANENT FILE IS THE * LAST DIRECT ACCESS FILE ATTACHED TO THIS JOB THAT * RESIDES ON A SPECIFIC REMOVABLE AUXILIARY PACK. * * *0RT* IS CALLED FOR ALL FILES ASSIGNED TO TAPE * EQUIPMENT (*MT*, *NT*, *CT*, *AT* OR *TE*) TO CLEAR * THE ASSOCIATED VSN FILE ENTRY AND TO DECREMENT THE * JOB RESOURCE COUNTS. PFT4 LDN 5 FLAG *0RP* PROCESSING COMPLETED STD FS+1 NFA FA,R STORE FST (FIRST TRACK BYTE CLEAR) ADN FSTL CWD FS AOM DRFA-OVL ENABLE DELETION OF FNT ENTRY PFT5 LDM -1-OVL GET *0DF* PARAMETER WORD LPN 1 STM -1 SET RESOURCE UPDATE CONTROL LDC 3R0RF LJM EZO-OVL LOAD AND EXECUTE *0RF* OVL EQU *+1 ZERO-LEVEL OVERLAY LOAD ADDRESS PFT BSS 0 ENTRY LDD CM+3 SET FILE MODE LPN 77 STM OVL-1 SET *0RP* PARAMETER WORD LDD FS+4 CHECK FILE TYPE SHN 21-12 PJN PFT1 IF NOT FAFT LDC 2RFA SET *0FA* CALL STM EZOA PFT1 SFA EST,FS FETCH EST ENTRY ADK EQDE CRD CM LDD CM+4 SHN 3 ADN MDGL CRD CM LDD CM SHN 0-12 LMN 3 NJN DRF5 IF NOT REMOVABLE AUXILIARY DEVICE LDD FA STD CM+4 SET RELATIVE FNT ADDRESS LDN DLCS STD CM+1 MONITOR PLFM COUNT FILES ATTACHED ON DEVICE SOD CM+3 NJN DRF5 IF NOT LAST FILE * PROCESS LAST FILE ON A REMOVABLE AUXILIARY DEVICE. LDD FS+1 SHN 0-13 NJN PFT3 IF *0RP* NOT YET CALLED LDN OVL RAD LA LDD FS+1 NJN PFT2 IF INTERMEDIATE PROCESSING STATE LJM PFT4-OVL DECREMENT RESOURCE COUNTS PFT2 LJM PFT5-OVL CONTINUE PROCESSING PFT3 SOM DRFA ENABLE *0RF* PROCESSING * SET ZERO-LEVEL OVERLAY ENTRY CONDITIONS. DRF5 LDN OVL ADJUST LOAD ADDRESS RAD LA LDC 3R0RP SET OVERLAY NAME EZOA EQU *-1 LJM EZO-OVL EXECUTE OVERLAY IFP SPACE 4,15 ** IFP - IDENTIFY FILE PROCESSOR. * * ENTRY (FA) = FNT ENTRY RELATIVE ADDRESS IN NFL. * * EXIT TO FILE PROCESSORS WITH FOLLOWING - * (A) = 2. * (T8) = CHECKPOINT REQUEST. * (CM - CM+4) = FNT ENTRY. * (FS - FS+4) = FST INFORMATION. * * USES T1. * * MACROS MONITOR, NFA. IFP BSS 0 ENTRY LDM -1 CHECK *DROP ROFT* FLAG LPN 2 NJN IFP1 IF *ROFT* FILE TO BE DROPPED STM TFTY+ROFT CLEAR PROCESSOR IFP1 LDD FA ZJN IFP2 IF NO FNT ADDRESS NFA FA,R CRD CM READ FNT ADN FSTL CRD FS LDD CM+4 GET FILE TYPE SHN -6 SBN MXFT PJN IFP2 IF ILLEGAL FILE TYPE ADC TFTY+MXFT SET TABLE ADDRESS ADD LA STD T1 LDI T1 NJN IFP3 IF PROCESSOR PRESENT IFP2 MONITOR HNGM HANG PP * LDN 0 LJM DRFX EXIT IFP3 LPC 3777 SET PROCESSOR ADDRESS STM IFPA LMI T1 SET CHECKPOINT REQUEST STD T8 LDN 2 LJM * EXIT TO FILE PROCESSOR IFPA EQU *-1 TFTY SPACE 4,10 ** TFTY - TABLE OF FILE TYPE PROCESSORS. * * ENTRY 1 WORD. * INDEXED BY FILE TYPE. * *T, 1/C, 11/ADDR * * C = CHECKPOINT REQUEST. * ADDR = ADDRESS OF FILE PROCESSOR. TFTY INDEX INDEX INFT,INP+4000 INPUT INDEX QFFT,QUE+4000 QUEUED = DROP FILE INDEX ROFT,RFA ROLLOUT = RELEASE FILE * INDEX ROFT,0 (IF *ROFT* FILE ILLEGAL) INDEX LIFT,LIB LIBRARY INDEX PTFT,PTY PRIMARY INDEX PMFT,PFT PERMANENT = 0RP INDEX SYFT,SYS SYSTEM FILE TYPE INDEX LOFT,RFA LOCAL FILE TYPE = DROP FILE INDEX MXFT LIB TITLE FILE TYPE PROCESSORS. LIB SPACE 4,20 ** LIB - PROCESS LIBRARY FILE. * * EXIT TO *SYS*. * IF THE TRACK INTERLOCK BIT (BIT 11 OF FST BYTE 4) * IS SET, THE TRACK INTERLOCK ON THE FIRST TRACK IS * CLEARED. IF THE PF ACTIVITY BIT (BIT 3 OF FUT BYTE 2) * IS SET, THE PF ACTIVITY COUNT FOR THAT EQUIPMENT * IS DECREMENTED. * * USES CM - CM+4. * * MACROS MONITOR, NFA. LIB BSS 0 ENTRY LDD FS+4 CHECK TRACK INTERLOCK SHN 21-11 PJN LIB1 IF INTERLOCK NOT SET LDD FS+1 STD CM+2 LDD FS SET EST ORDINAL STD CM+1 LDN CTIS SELECT CLEARING OF TRACK INTERLOCK STD CM+3 MONITOR STBM CLEAR INTERLOCK LIB1 NFA FA,R READ *FUTL* WORD OF FNT ADN FUTL CRD CM LDD CM+2 LPN 10 ZJN LIB2 IF PF ACTIVITY BIT NOT SET LDD FS STD CM+1 LDN DPAS DECREMENT PF ACTIVITY STD CM+3 MONITOR STBM LIB2 LJM SYS RETURN SYSTEM FILE INP SPACE 4,15 ** INP - PROCESS INPUT FILE. * * EXIT TO *DRFX*, IF INPUT FILE IS CONTROL STATEMENT FILE. * TO *RFA*, IF NOT CONTROL STATEMENT FILE. * * MACROS NFA. INP BSS 0 ENTRY LDC FNTN CHECK FNT RELATIVE ADDRESS LMD FA NJN INP2 IF NOT CONTROL STATEMENT FILE LDD CM+4 SCN 77 CHANGE FILE NAME TO -INPUT*- RAM INPB+4 AOD FS+4 SET STATUS COMPLETE LDD LA RAM INPA NFA FA,R CWM. INPB,ON REWRITE FILE NAME INPA EQU *-1 ADK FSTL-1 STORE FILE STATUS CWD FS LDN 0 LJM DRFX EXIT INP2 LDN 0 UJN RFA RELEASE FILE ASSIGNMENT INPB VFD 42/6LINPUT*,6/1,12/NDST PTY SPACE 4,10 ** PTY - PROCESS PRIMARY FILE. * * EXIT TO *RFA*. * * USES CM - CM+4. PTY BSS 0 ENTRY LDD CP ADN TFSW CRD CM LDN 0 CLEAR PRIMARY FILE RELATIVE ADDRESS STD CM+1 LDD CP ADN TFSW CWD CM LDN 1 * UJN RFA RELEASE FILE ASSIGNMENT QUE SPACE 4,10 ** QUE - PROCESS QUEUE FILE. * * EXIT TO *RFA*. QUE EQU INP2 SYS SPACE 4,10 ** SYS - PROCESS SYSTEM FILE. * * EXIT TO *DRF3*. SYS EQU DRF3 RFA SPACE 4,25 ** RFA - RELEASE FILE ASSIGNMENT. * * ENTRY (A) = 0 IF QUEUE FILE. * = 1 IF PRIMARY FILE. * = 2 FOR OTHER FILE TYPES. * (T8) = CHECKPOINT REQUEST. * (FA) = FNT ADDRESS. * (FS - FS+4) = FST INFORMATION. * * EXIT TO *DRF5* TO LOAD AND EXECUTE - * *0DQ* IF QUEUE FILE. * *0OD* IF OPTICAL DISK FILE. * *0PT* IF PRIMARY FILE. * *0RT* IF TAPE FILE. * TO *SYS* FOR ALL OTHER FILES. * * USES T2, QA, CM - CM+4. * * CALLS RMS. * * MACROS SFA. RFA BSS 0 ENTRY STD T2 LDM -1 SET RETURN / UNLOAD FLAG LPN 1 STM OVL-1 LDD FS ZJN RFA3 IF EST ORDINAL ZERO SFA EST ADK EQDE READ EST ENTRY CRD CM LDD CM CHECK EQUIPMENT TYPE SHN 21-13 PJN RFA6 IF NOT MASS STORAGE SOD T2 MJN RFA2 IF QUEUE FILE RJM RMS RELEASE MASS STORAGE SPACE LDD T2 NJN RFA3 IF NOT PRIMARY FILE STD FS STD FS+1 LDC 2RPT SELECT *0PT* RFA1 STM EZOA LJM DRF5 LOAD AND EXECUTE OVERLAY RFA2 LDD FS+1 NJN RFA4 IF FILE USED RFA3 LJM SYS DELETE FNT ENTRY RFA4 LDN 0 SELECT QFT SEARCH STD QA STM OVL-1 RELEASE DISK SPACE LDC 2RDQ UJN RFA1 LOAD AND EXECUTE *0DQ* RFA6 LDD CM+3 CHECK DEVICE TYPE LMC 2RNT ZJN RFA8 IF TAPE DEVICE LMC 2RMT&2RNT ZJN RFA8 IF TAPE DEVICE LMC 2RCT&2RMT ZJN RFA8 IF TAPE DEVICE LMC 2RAT&2RCT ZJN RFA8 IF TAPE DEVICE LDD CM SHN 21-12 MJN RFA7 IF ALLOCATABLE DEVICE LDD FS LPC 777 STM DRFB SET EQUIPMENT TO RELEASE RFA7 LDD CM+3 CHECK DEVICE TYPE LMC 2RTE ZJN RFA8 IF *TE* LMC 2ROD&2RTE NJP RFA3 IF NOT *OD* LDC 2ROD SET *0OD* OVERLAY STM RFAA RFA8 LDD FS+2 LPN 77 ISOLATE RANDOM ADDRESS STD FS+2 LDD FS+4 SHN 21-2 MJN RFA9 IF PREVIOUS *0RT* REJECT SHN 2-21 STD FS+4 RFA9 LDC 2RRT * LDC 2ROD (IF OPTICAL DISK) RFAA EQU *-1 UJP RFA1 LOAD AND EXECUTE *0RT* OR *0OD* RMS SPACE 4,15 ** RMS - RELEASE MASS STORAGE. * * ENTRY (FA) = FNT ENTRY RELATIVE ADDRESS IN NFL. * (T8) = CHECKPOINT REQUEST. * (FS - FS+4) = FST INFORMATION. * * USES CM - CM+4. * * MACROS MONITOR. RMS SUBR ENTRY/EXIT LDD FS+1 ZJN RMSX IF FILE UNUSED STD CM+2 LDD FS LMD T8 MERGE CHECKPOINT REQUEST STD CM+1 MONITOR DTKM DROP TRACKS * INCREMENT PRU LIMIT FIELD IN CONTROL POINT AREA. * 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 POSITION 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 UJN RMSX RETURN SPACE 4,10 RSTR RESTORE INSTRUCTIONS OVERFLOW SPACE 4,10 ** OVERFLOW CHECKS. * * BYTES WHICH CAN BE ADDED BEFORE *OVL* IN *0DF* * AND STILL ALLOW *0DQ*, *0FA*, *0PT*, *0RF*, *0RP*, AND * *0RT* TO LOAD. ERRNG ZDFL-OVL-ZDQL CHECK LENGTH OF *0DQ* ERRNG ZDFL-OVL-ZFAL CHECK LENGTH OF *0FA* ERRNG ZDFL-OVL-ZODL CHECK LENGTH OF *0OD* ERRNG ZDFL-OVL-ZPTL CHECK LENGTH OF *0PT* ERRNG ZDFL-OVL-ZRFL CHECK LENGTH OF *0RF* ERRNG ZDFL-OVL-ZRPL CHECK LENGTH OF *0RP* ERRNG ZDFL-OVL-ZRTL CHECK LENGTH OF *0RT* ERRNG ZDFL-* BYTES WHICH CAN BE ADDED TO *0DF* END