Type ASSEMBLE
Source Lines : 1,049
Fixes Applied : 8
Most Recent Version : Saturday, December 9, 1978
Last Fix ID : [HRC075DK]
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)