Type ASSEMBLE
Source Lines : 1,434
Fixes Applied : 12
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [R13944DK]
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.