User Tools

Site Tools


ibm:vm370-lib:cp:dmkmcd.assemble_abs

โˆ’Table of Contents

DMKMCD Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,065
Fixes Applied : 1
Most Recent Version : Thursday, February 1, 1979
Last Fix ID : [R09747DK]

Synopsis

Module

       DMKMCD

Function

       TO HANDLE MONITOR CONTROL COMMANDS, AN EXTENSION TO
       DMKMCC, THE CONTROLLER OF MONITOR COMMAND PROCESSING

Attributes

       REENTRANT, PAGEABLE, CALLED VIA SVC

Operation

                        MONITOR COMMAND PROCESSING

            DMKMCC WILL CALL DMKSCNFD TO LOCATE AN ARGUMENT.
            THIS MODULE WILL BE CALLED FOR THE ARGUMENTS LISTED
            BELOW.

            IF THE ARGUMENT IS TIME THEN GO TO DMKMCDTI
            IF THE ARGUMENT IS INTERVAL THEN GO TO DMKMCDIN.
            IF THE ARGUMENT IS LIMIT THEN GO TO DMKMCDLI.
            IF THE ARGUMENT IS STOP THEN GO TO DMKMCDST.
            IF THE ARGUMENT IS SEEKS THEN GO TO DMKMCDSE.
            IF THE ARGUMENT IS NONE OF  THESE THEN EXIT WITH AN
            APPROPRIATE ERROR MESSAGE.

   TIME:

            BUILDS TRQS TO TO START AND STOP THE MONITOR
            AUTOMATICALLY.

   INTERVAL:


            CALL DMKSCNFD TO  GET THE INTERVAL VALUE.   IF NONE
            WAS  GIVEN  THEN  EXIT WITH  AN  APPROPRIATE  ERROR
            MESSAGE.   IF  THE  INTERVAL WAS  GIVEN  THEN  CALL
            DMKCVTDB TO CONVERT IT TO BINARY.

            CALL DMKSCNFD TO  LOCATE THE NEXT ARGUMENT.   IF IT
            IS 'SEC'  THEN DON'T MULTIPLY. IF IT IS  'MIN' THEN
            MULTIPLY  THE  INTERVAL  BY 60  TO  CONVERT  IT  TO
            SECONDS.

            IF THE SPECIFIED  VALUE IS LESS THAN  30 SECONDS OR
            MORE THAN  9 HOURS, THEN  EXIT WITH  AN APPROPRIATE
            ERROR  MESSAGE. CALL DMKSCNFD TO CHECK FOR A UTILIZATION
            INTERVAL. IF NOT SPECIFIED, USE THE DEFAULT IN DMKENTUT.
            THE UTILIZATION INTERVAL IS ONLY INTERPRETED AS SECONDS.
            SAVE THE MONITOR SAMPLE INTERVAL IN DMKPRGTI. SAVE THE
            I/O UTILIZATION INTERVAL IN DMKENTUT.

   SEEKS:

            MONITOR SEEKS PROCESSING - OPTIONS ARE:
            INCLUDE, EXCLUDE, DISPLAY, DELETE

   STOP:

            CALL DMKSCNFD TO  LOCATE THE NEXT ARGUMENT.   IF IT
            IS 'CPTRACE'  THEN GO  TO STOP  CPTRACE.  IF  IT IS
            'TAPE' THEN GO  TO STOP TAPE.  IF IT  IS NEITHER OF
            THESE THEN EXIT WITH AN APPROPRIATE ERROR MESSAGE.

   STOP CPTRACE:

            IF CP INTERNAL TRACING IS NOT ACTIVE THEN EXIT WITH
            AN APPROPRIATE  ERROR MESSAGE.  OTHERWISE,  SET THE
            TRACE FLAGS  TO ZEROES AND  EXIT AFTER  SENDING THE
            'COMMAND COMPLETE' MESSAGE.

   STOP TAPE/SPOOL

            IF MONITORING IS CURRENTLY  INACTIVE THEN EXIT WITH
            AN APPROPRIATE ERROR MESSAGE.

            IF THE  MONITOR IS CURRENTLY  IN ERROR  RECOVERY OR
            PROCESSING A 'STOP SPOOL / TAPE' COMMAND THEN EXIT
            WITH AN APPROPRIATE ERROR MESSAGE.

            CLEAR CONTROL REGISTER 8 TO INHIBIT FURTHER MONITOR
            CALL  INTERRUPTS.  INDICATE  THAT  A 'MONITOR  STOP
            TAPE' COMMAND IS BEING PROCESSED.

            OBTAIN  STORAGE  FOR  AND  INITIALIZE  A  CPEXBLOK.
            'STACK' THE  CPEXBLOK ON  THE COMMUNICATIONS  AREA.
            IF THE MONITOR TAPE IS CURRENTLY BUSY THEN SKIP THE
            NEXT STEP.

            CALL   DMKMNISH   TO  COMPLETE   MONITOR   SHUTDOWN
            PROCESSING.  WHEN CONTROL RETURNS FROM DMKMNI, EXIT
            AFTER ISSUING THE 'COMMAND COMPLETE' MESSAGE.

            SET  THE RETURN  ADDRESS  IN  THE CPEXBLOK  TO  THE
            'COMMAND COMPLETE'  MESSAGE ROUTINE  AND GO  TO THE
            DISPATCHER.  SINCE THE TAPE IS  BUSY AND THE CFSTOP
            FLAG HAS  BEEN SET, THE  MONITOR WILL BE  SHUT DOWN
            WHEN THE NEXT TAPE I/O INTERRUPT OCCURS.  FOLLOWING
            THAT, THE  CPEXBLOK WILL BE 'UNSTACKED'  AND RETURN
            WILL  BE  MADE TO  THIS  ROUTINE  TO TYPE  OUT  THE
            'COMMAND COMPLETE' MESSAGE.

Calls to Other Routines

       DMKSCNFD - TO LOCATE NEXT FIELD IN INPUT LINE
       DMKQCNWT - TO SEND A MESSAGE TO THE TERMINAL
       DMKERMSG - TO SEND CANNED ERROR MESSAGE TO TERMINAL
       DMKPTRFR - TO OBTAIN A PAGE OF STORAGE FOR MONITOR DATA
       DMKMONSH - MONITOR STOP ROUTINE
       DMKCVTHB - TO CONVERT DEVICE ADDRESS TO BINARY
       DMKCVTDB - TO CONVERT INTERVAL TO BINARY
       DMKSCNRU - TO OBTAIN RDEVBLK ADDRESS FROM DEV. ADDRESS
       DMKFREE  - TO OBTAIN STORAGE FOR MESSAGES
       DMKFRET  - TO RELEASE STORAGE USED FOR MESSAGES
       DMKSCHST - TO ENQUEUE A TIMER RQST. BLOCK FOR MONITORING
       DMKSCHRT - TO REMOVE A TIMER RQST. BLOCK FROM QUEUE
       DMKMONTH - TAPE HEADER ROUTINE
ibm/vm370-lib/cp/dmkmcd.assemble_abs.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator