Type ASSEMBLE
Source Lines : 659
Fixes Applied : 3
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [R13360DK]
Module
DMKCQH
Function
TO RETURN TO THE REQUESTOR INFORMATION FOR THE FOLLOWING QUERY FUNCTIONS : QUERY RDR, PRT, PUN (WITH OPTIONS )
Attributes
REENTRANT, PAGEABLE, CALLED VIA SVC
Operation
1. ISSUE SVC 16 TO RETURN THE SAVEAREA, THUS, WHEN EXIT WILL RETURN DIRECTLY TO DMKCFM COMMAND PROCESSING INSTEAD OF RETURNING TO THE INVOKER. 2. THE PROPER ROUTINE IS ENTERED VIA A BRANCH TABLE. REGISTER 6 IS SET UP BY DMKCFMQU TO INDEX TO THE PROPER BRANCH INSTRUCTION. 3. EACH ROUTINE SCANS THE APPROPRIATE CONTROL BLOKS TO PICK UP THE INFORMATION NEEDED FOR THE REQUEST AND FORMATS THE MESSAGE TO BE RETURNED TO THE USER. 4. READER - PUNCH - PRINTER - SET A FLAG IN SAVEWRK1 TO INDICATE THE TYPE OF REQUEST. CALL DMKSCNFD TO LOCATE THE ALL, TBL OR SPOOLID ARGUMENT. IF NO ARGUMENT IS FOUND LIST THE SHORT FORM OF FILE-ID INFORMATION. IF SPOOLID IS FOUND, CALL DMKCVTDB TO CONVERT THE SPOOLID TO BINARY. IF THE CONVERT IS BAD, CALL DMKERMSG TO SEND THE DMKCQH027E ERROR MESSAGE. ELSE SEARCH THE SFBLOKS FOR THIS USERID AND/OR SPOOLID. WHEN A SFBLOK IS FOUND, EXTRACT THE NEEDED INFORMATION FROM IT TO BUILD THE MESSAGE. IF TBL, BRING THE FIRST DASD BUFFER INTO STORAGE AND EXTRACT THE REQUIRED INFORMATION. CALL DMKQCNWT TO OUTPUT THE MESSAGE. IF 'ALL' OR 'TBL' REQUEST, KEEP SCANNING THE SFBLOKS UNTIL THERE ARE NO MORE AND THEN EXIT. IF A SPOOLID REQUEST AND THE SPOOLID WAS NOT FOUND, CALL DMKERMSG TO SEND ERROR MESSAGE DMKCQH042E.
Calls to Other Routines
DMKSCNFD - TO LOCATE THE NEXT ARGUMENT IN THE COMMAND BUFFER DMKSCNAU - TO FIND THE VMBLOK FOR A SPECIFIC USERID DMKSCNVU - TO FIND CONTROL BLOKS FOR A VIRTUAL DEVICE DMKCVTHB - TO CONVERT HEXADECIMAL ADDRESS TO BINARY DMKCVTDB - TO CONVERT A DECIMAL NUMBER TO BINARY DMKCVTBD - TO CONVERT A BINARY NUMBER TO DECIMAL DMKCVTBH - TO CONVERT A BINARY NUMBER TO HEXADECIMAL DMKFREE - TO OBTAIN STORAGE FOR REGISTER SAVE DMKFRET - TO RETURN STORAGE TO THE SYSTEM DMKQCNWT - TO OUTPUT MESSAGES TO THE TERMINAL DMKSCNRN - TO GET REAL DEVICE NAME DMKERMSG - TO OUTPUT ERROR MESSAGES TO THE TERMINAL. DMKSCNRD - TO GET THE ADDRESS OF A DEVICE. DMKSCNVN - TO GET A DEVICE NAME. DMKCVTDT - TO GET THE DATE AND TIME. DMKCFCSC - SCAN OPERAND FOR RANGE OF ADDRESSES DMKPGTVG - GET A SYSTEM VIRTUAL PAGE FOR SPLINK BUFFER DMKPGTVR - GIVE BACK THE SYSTEM VIRTUAL PAGE DMKRPAGT - READ IN THE FIRST DASD BUFFER OF A SPOOL FILE