Table of Contents

DMKVCH Abstract

Statistics

Type ASSEMBLE
Source Lines : 869
Fixes Applied : 7
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [HRC040DK]

Synopsis

Module

       DMKVCH

Function

       TO 'ATTACH' OR 'DETACH' A REAL CHANNEL AND ALL DEVICES
       ON IT TO A SPECIFIED USER.

       +--------+----------------------------+
       | ATTACH |  CHANNEL X <TO> USERID     |
       |--------+----------------------------+
       | DETACH |  CHANNEL X <FROM> <USERID> |
       +--------+----------------------------+

       THE ACTUAL COMMAND LINE IS DECODED BY DMKVDC.

Attributes

       RE-ENTRANT, PAGEABLE, CALLED VIA SVC

Operation

       DMKVCHDC IS CALLED BY DMKVDA (ATTACH) OR DMKVDD (DETACH) A
       REAL DEVICE AND ALL DEVICES ON THE CHANNEL TO A SPECIFIED
       USERID. THE ATTACH/DETACH COMMAND HAS BEEN PROCESSED BY
       DMKVDA/DMKVDD AND FLAGS SET IN GPR1, REPRESENTING THE FUNCTION
       REQUESTED.  THE FOLLOWING CONDITIONS ARE TESTED BEFORE
       A CHANNEL CAN BE DEDICATED.

             1. MUST NOT BE CHANNEL 0
             2. VIRTUAL CHANNEL CANNOT ALREADY EXIST.
             3. REAL CHANNEL MUST BE ON THE SYSTEM
             4. CHANNEL MUST NOT BE DEDICATED TO ANOTHER USER
             5. THERE MUST BE NO CP-VOLUMES ON THE CHANNEL
             6. SPOOLING DEVICES MUST BE IN A DRAINED CONDITION
             7. DEVICES ON THE CHANNEL CANNOT BE ALREADY ATTACHED
                TO ANY USER'S.

       IF ALL OF THE ABOVE CONDITIONS ARE SATISFIED; VIRTUAL
       CHANNEL, CONTROL UNITS, AND DEVICE BLOKS ARE BUILT. THEY ARE
       MAPPED 1 FOR 1 AGAINST THE REAL CHANNEL, CONTROL UNITS, AND
       DEVICES. THE DEDICATE BITS ARE TURNED ON. A RESPONSE IS
       ISSUED TO THE USER THAT THE CHANNEL HAS BEEN ATTACHED.

       TO DETACH A CHANNEL THE FOLLOWING CONDITIONS MUST BE MET;

             1. MUST NOT BE CHANNEL 0
             2. THE REAL CHANNEL MUST EXIST
             3. THE CHANNEL MUST HAVE ALREADY BEEN DEDICATED TO
                THIS USER.

       IF THE ABOVE CONDITIONS ARE MET; VIRTUAL CHANNEL, CONTROL
       UNITS, AND DEVICE BLOKS ARE MARKED UNAVAILABLE. THE DEDICATE
       BITS ARE RESET IN THE REAL CONTROL BLOKS. CONTROL REGISTER 2
       IS CHANGED IF NECCESSARY TO ALLOW THE CHANNEL TO
       BECOME ACTIVE.

Calls to Other Routines

       DMKERMSG- TO WRITE MESSAGES
       DMKSCNRA - TO OBTAIN THE HEX REAL DEVICE ADDRESS
       DMKSCNVU- TO LOCATE VIRTUAL CONTROL BLOKS
       DMKSCNRU- TO LOCATE REAL DEVICE CONTROL BLOKS
       DMKSCNRD - TO OBTAIN THE HEX REAL DEVICE ADDRESS
       DMKVDSAT - TO BUILD VIRTUAL DEVICE BLOCKS FOR ATTACH
       DMKVDREL - TO RELEASE VIRTUAL BLOCKS FOR DETACH
       DMKFREE - TO OBTAIN STORAGE
       DMKFRET - TO RELEASE STORAGE
       DMKQCNWT - SEND MESSAGES TO THE TERMINAL