Table of Contents

DMKWRM Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,049
Fixes Applied : 8
Most Recent Version : Saturday, December 9, 1978
Last Fix ID : [HRC075DK]

Synopsis

Module

       DMKWRM

Function

       DMKWRM CALLED BY DMKCPINT TO RETRIEVE THE SYSTEM
       LOG MESSAGES, ACCOUNTING CARDS, SPOOL FILE BLOCKS
       AND SPOOLING ALLOCATION RECORDS FROM THE WARMSTART
       CYLINDER ON THE I.P.L. PACK.

Attributes

       NON-REENTRANT, NON-RESIDENT, AND CALLED BY DMKCPINT

Operation

       1.  IF COLD START REQUESTED; GO TO STEP 12.
           LOCATE THE WARMSTART AREA, STARTING AND ENDING CYLINDER
           ADDRESSES LOCATED AT DMKSYSWM. THE WARM START AREA MAY
           RANGE FROM 1 TO 9 CYLINDERS IN SIZE. READ THE FIRST DISK
           AND IF THE FIRST 8 BYTES ARE NOT X'FF'S; GIVE
           MESSAGE DMKWRM920I AND EXIT GIVING RETURN CODE
           EQUAL TO 4. (NO WARM START DATA; COLD START ASSUMED)
       2.  READ ACCOUNTING INFORMATION FROM WARMSTART CYLINDER
       3.  CHAIN ACCOUNTING CARDS TO DMKRSPAC
       4.  READ SYSTEM LOG MESSAGES FROM WARMSTART CYLINDER
       5.  CHAIN LOG MESSAGES TO DMKSYSLG
       6.  READ SPOOL FILE CONTROL BLOCKS FROM WARMSTART CYLINDER
       7.  CHAIN SPOOL FILE CONTROL BLOCKS TO DMKRSPRD,DMKRSPPR
           DMKRSPPU AND DMKRSPDL. MOVE THE SPOOLID COUNTER CONTAINED
           IN THE DELIMITER RECORD FOR SPOOL FILES TO DMKRSPID
           SAVE THE STATE OF ALL UNIT RECORD DEVICES AND FOR
           A 3800 PRINTER, RESTORE THE IMAGE LIBRARY AND
           CONTROL FILES FOR THE SEPARATOR PAGE AND UPDATE THE
           ACTIVITY COUNT FOR THE NAMED IMAGE LIBRARY IF THE
           3800 IS NOT DRAINED.
       8.  READ RECORD ALLOCATION BLOCKS FROM WARMSTART CYLINDER
       9.  CHAIN RECORD ALLOCATION BLOCK TO THE READ DEVICE BLOKS
           AND UPDATE CYLINDER ALLOCATION RECORD SET UP BY DMKCPI.
           IF SPOOL VOLUME NOT MOUNTED; GIVE MESSAGE
           DMKWRM909W AND GO TO STEP 14.
           IF TRYING TO ALLOCATE ON A NON-TEMPORARY CYLINDER;
           GIVE MESSAGE DMKWRM903W AND GO TO STEP 14.
       10. READ SYSTEM HOLD QUEUE BLOKS FROM WARMSTART CYLINDER
       11. CHAIN SYSTEM HOLD QUEUE BLOCKS TO DMKRSPHQ.
       12. IF NO ERRORS; SET THE FIRST 8 BYTES TO BINARY ZEROES,
           AND MOVE IN 8 BYTE START TIME VALUE (STARTIME PSA) TO
           X'18' OF FIRST WARMSTART CYLINDER RECORD,
           AND EXIT TO DMKCPI. IF I/O ERRORS; GIVE ERROR MESSAGE
           DMKWRM902W AND GO TO STEP 14.
       13. IF HASH AND RECORD COUNT IN WARMSTART RECORDS ARE
           INCORRECT; GIVE MESSAGE DMKWRM904W
       14. ENTER DISABLE WAIT STATE. (WAIT STATE CODE 009)