Type ASSEMBLE
Source Lines : 1,756
Fixes Applied : 16
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [HRC011DK]
Module
DMKIOE
Attributes
SERIALLY REUSEABLE, RESIDENT, ENTERED VIA SVC
Operation
I. BUILD AN ERRBLOK FOR THE ERROR CONDITION 1. IF THE IOERBLOK ADDRESS DOESN'T EXIST, RETURN TO CALLER. 2. IF A CHANNEL ERROR IS INDICATED IN THE CSW, DO THE FOLLOWING: . WRITE A CHANNEL ERROR MESSAGE TO THE OPERATOR (DMKCCH604I) AND RELEASE THE IOERBLOK. . IF THIS IS AN UNCORRECTABLE CHANNEL ERROR, WRITE A PERMANENT ERROR MSG. TO THE OPERATOR (DMKCCH606I) AND RESET THE VIRTUAL MACHINE BEFORE GOING TO THE RECORDER. . PUT THE DATE AND TIME IN THE CCH RECORD. . ANALYSE THE MCH/CCH CYLINDER AND THE RECORDING IN PROGRESS FLAG. * IF CYLINDER IS FULL OR NOT INITIALIZED, RELEASE THE CCH RECORD AND RETURN TO CALLER WITH A NON-ZERO RETURN CODE. * IF RECORDING IS IN PROGRESS, QUE CCH REQUEST AND RETURN TO CALLER. * IF RECORDING IS NOT IN PROGRESS, CALL THE RECORDER (DMKIOFC1) AND RECORD CCH RECORD. 3. DETERMINE IF INTENSIVE RECORDING IS ACTIVATED FOR A CLASS 'F' USER. 4. IF THIS IS NOT A CP OR DIAGNOSE GENERATED REQUEST, RETURN TO CALLER. 5. DETERMINE IF ENVIRONMENTAL DATA IS PRESENT IN THE SENSE DATA FOR A DASD DEVICE. IF PRESENT, BUILD AND FORMAT A MISCELLANEOUS DATA RECORD (MDR) FOR THE DASD'S HARDWARE COUNTERS BEFORE GOING TO STEP 8. 6. IF THIS IS NOT A PERMANENT I/O ERROR, RELEASE THE IOERBLOK AND RETURN TO THE CALLER. 7. BUILD AND FORMAT OUTBOARD RECORD (OBR) FOR UNIT CHECK CONDITION. 8. RELEASE THE IOERBLOK AND SETUP THE INTERFACE TO THE RECORDER. 9. ANALYSE THE ERROR RECORDING CYLINDERS AND THE RECORDING IN PROGRESS FLAG. . IF THE CYLINDERS ARE FULL OR NOT INITIALIZED, RELEASE THE OBR/MDR RECORD AND RETURN TO CALLER. . IF RECORDING IS IN PROGRESS, QUE REQUEST AND RETURN TO CALLER. . IF RECORDING IS NOT IN PROGRESS, QUE CPEXBLOK TO ACTIVATE RECORDER AND RETURN TO CALLER.
Calls to Other Routines
DMKFREE - TO ALLOCATE FREE STORAGE FOR ERRBLOK DMKFRET - TO RETURN ALLOCATED STORAGE FOR THE ERRBLOK/SDRBLOK DMKDSPCH - EXIT TO DISPATCHER IF RECORDING IS ACTIVE DMKSTKCP - STACK CPEXBLOK FOR RECORDER DMKIOFOB - GO RECORD OBR RECORD