Table of Contents

DMKIOE Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,756
Fixes Applied : 16
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [HRC011DK]

Synopsis

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