Table of Contents

DMKRGB Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,434
Fixes Applied : 12
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [R13944DK]

Synopsis

Module

       DMKRGB

Attributes

       SERIALLY REUSEABLE, RESIDENT, ENTERED VIA GOTO

Operation

     I. HANDLE CONTASKS QUEUED OFF RDEVBLOK (RDEVCON)

       1. IF THE LINE IS NOT AVAILABLE, EXIT.

       2. IF THERE ARE NO MORE CONTASKS TO BE PROCESSED,
          ATTEMPT TO START OUTPUT TO THE LINE VIA RGSTART.

       3. IF THE RESOURCE SPECIFIED BY THE VMTRMID FIELD IN
          THE VMBLOK (FROM 'CONUSER') IS NOT AVAILABLE, SET
          RETURN CODE 12 IN THE RESPONSE SAVEAREA (IF ANY),
          AND RETURN THE CONTASK VIA CALL DMKQCNET.

       4. CONTASKS ARE QUEUED OFF THE RESOURCES (NICBLOKS) THAT HAVE
          THE SAME VMBLOK ADDRESS CONTAINED IN EACH CONTASK.

    II. HANDLE THE CONTASKS FOR OUTPUT AND INPUT REQUEST (RGSTART)

       1. ATTEMPT TO START OUTPUT TO THE BISYNC LINE. IF THE BISYNC
          LINE IS EITHER NOT READY OR ALREADY BUSY, EXIT.

       2. DETERMINE IF THERE IS AN AVAILABLE STATION ON THE
          CONTROL UNIT BY SCANNING THE ENTIRE NICBLOK LIST LOOKING
          FOR THE FOLLOWING CONDITIONS:

           A. THE RESOURCE HAS AT LEAST ONE CONTASK QUEUED OFF THE
              NICBLOK AND THE STATION IS NOT IN CONTROL MODE.

           B. IF NO STATIONS ARE AVAILABLE ON THE CONTROL UNIT,
              THE CCWS ARE SET UP TO DO A GENERAL POLL OPERATION
              TO THE REMOTE CONTROL UNIT TO READ DATA FROM A
              STATION VIA A CALL TO DMKIOSQR.

       3. THE SYNCHRONIZATION CONTASK IS RETURNED TO THE SYSTEM AND
          THE NEXT CONTASK (IF ANY) IS PROCESSED FOR THIS STATION.

       4. THE DIAGNOSE CONSOLE OUTPUT CONTASK IS PROCESSED IN THE
          FOLLOWING WAY:

          A. GET LINE COORDINATE FROM THE CONTASK, SET DIAGNOSE
             WRITE FLAG IN NICBLOK (NICDIAG), AND STORE THE LINE
             COORDINATE IN THE NICBLOK (NICCORD).

          B. BUILD THE CONTROL CONTASK TO WRITE DATA TO THE REMOTE
             DISPLAY STATION AND GO TO STEP 8.

       5. WHEN THE CONTASK IS JUST AN OUTPUT CONTASK AND THE DISPLAY
          SCREEN IS FULL, RESET TIMER REQUEST (IF PRESENT), BUILD
          A CONTROL CONTASK TO WRITE THE STATUS MESSAGE (MORE),
          AND GO TO STEP 8.

       6. AN OUTPUT CONTASK AND THE DISPLAY SCREEN IS NOT FULL,
          SETUP CCWS TO WRITE DATA TO THE DISPLAY STATION AND
          GO TO STEP 8.

       7. ON AN INPUT CONTASK, BUILD THE CCWS TO WRITE THE STATUS
          (READ) TO THE DISPLAY SCREEN, SET THE STATION IN
          CONTROL MODE, AND GO TO STEP 8.

       8. GET STORAGE NECCESARY TO BUILD AN IOBLOK. THE IOBLOK IS
          USED TO PERFORM THE PROCESSING OF ALL I/O REQUESTS TO
          THE STATION AND BISYNC LINE. THE FOLLOWING FUNCTIONS ARE
          HANDLED:

          A. SELECTION OF STATIONS
          B. GENERAL POLLING OF 3270 CONTROL UNIT
          C. SPECIFIC POLLING OF STATIONS
          D. WRITING OF DATA TO THE STATIONS

       9. DATA CHAINING OF WRITE OPERATIONS ONLY TAKES PLACE IF
          THE FOLLOWING CONDITIONS DO NOT EXIST:

          A. A CONTROL TASK
          B. A DIAGNOSE CONSOLE WRITE REQUEST
          C. ONLY ONE CONTASK IS QUEUED OFF THE RESOURCE (NICBLOK)
          D. THE CONTASK REPRESENTS A HIGH PRIORITY MESSAGE
          E. NON-OUTPUT CONTASKS

      10. SET UP CCWS TO WRITE THE STATUS WORD RUNNING (IF NEEDED)
          AND THE READ CCW TO READ REPLY FROM REMOTE STATION.

      11. SET UP IOBLOK BEFORE CALLING DMKIOSQR TO WRITE THE DATA
          ACROSS BISYNC LINE.

Calls to Other Routines

       DMKSTKCP - TO STACK A CPEXBLOK FOR A LATER EXIT.
       DMKFREE  - TO ALLOCATE STORAGE FOR THE CONTASK.
       DMKRGBIC - TO INITIATE I/O TO THE LINE.