Type ASSEMBLE
Source Lines : 3,889
Fixes Applied : 7
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [R13316DS]
Function
INTERFACE MODULE WHICH ALLOWS CLASS C, E OR F VIRTUAL USERS TO EDIT AND PRINT VM/370 ERROR RECORDINGS UNDER CMS VIA THE OS/VS EREP EDIT AND PRINT PROGRAM - IFCEREP1. INTERFACE IS ALSO PROVIDED FOR CLEARING THE VM/370 ERROR RECORDING CYLINDERS BY A CLASS F USER.
Operation
1. PERFORM STANDARD LINKAGE AND ADDRESSABILITY FUNCTIONS. 2. INVOKE CMS LOAD FUNCTION TO LOAD AND RESOLVE VCON'S IN ABOUT A DOZEN EREP OBJECT DECKS. (NOTE: ALL OTHER EREP OBJECT DECKS GET BROUGHT INTO STORAGE LATER, AS NEEDED, BY OS LOAD AND LINK MACROS ISSUED BY OS/VS EREP.) 3. INVOKE 'STRINIT' FUNCTION. INDICATES THAT AREA ABOVE PRESENTLY LOADED PROGRAMS IS BEGINNING OF FREE STORAGE. (NOTE: OS LOAD AND LINK WILL ACQUIRE SPACE FROM FREE STORAGE TO CONTAIN THE PROGRAMS THEY LOAD.) 4. TURN OFF THE 'DOSSVC' FLAG IN THE CMS NUCLEUS SO THAT OS SIMULATION IS USED. BUT SAVE A COPY OF 'DOSSVC' SO IT CAN BE RESTORED LATER. SET COMPSWT IN CMS NUCLEUS SO THAT OS LOAD AND LINK MACROS BRING IN TEXT (OR TXTLIB) FILES RATHER THAN MODULE FILES. 4X. INVOKE OS LOAD TO LOAD DMSREA INTO STORAGE. SAVE ITS ADDRESS SO DMSREA CAN BE CALLED LATER DURING THE EXCP SIMULATION. 5. ESTABLISH HANDLING OF SVC 76 (ERROR LOG), SVC 18 (BLDL), AND SVC 0 (EXCP). 6. INVOKE 'FILEDEF' FUNCTION TO DEFINE: (1) PRINTER FILE FOR EREP, (2) SYSIN FILE TO BE CREATED FOR EREP, (3) DUMMY FILE FOR EREP TO OPEN AND CLOSE AS SYS1.LOGREC (FILE IS A DUMMY BECAUSE ATTEMPTED I/O ACTIVITY IS VIA EXCP WHICH WILL BE INTERCEPTED), (4) 'TOURIST' ERROR FILE TO THE TERMINAL, AND (5) THE 'DIRECTWK' WORK FILE ON DISK. 7. GET THE COMMAND LINE ARGUMENTS AND DETERMINE IF A CONTROL FILE IS PROVIDED FOR INPUT. IF SO, SET UP TO READ PARAMETERS FROM THE CONTROL FILE; OTHERWISE SET UP TO READ PARAMETERS FROM THE TERMINAL. 8. ISSUE A DMSFREE MACRO TO GET CORE IN WHICH TO BUILD AN OS 'PARM' LIST TO BE PASSED TO EREP. 9. GET INPUT PARAMETERS (FROM CONTROL FILE OR TERMINAL) AND CONSTRUCT EQUIVALENT OS/VS EREP PARM LIST AND SYSIN CONTROL CARD FILE. 10. IF CLEAR WAS SPECIFIED AND IT WAS NOT THE ONLY PARAMETER SPECIFIED, THEN TYPE ERROR MESSAGE TO TERMINAL AND SKIP TO 17. 11. IF CLEAR WAS SPECIFIED (CORRECTLY), CALL A SUBROUTINE TO ISSUE THE DIAGNOSE THAT ZEROS OUT THE VM ERROR CYLINDERS, THEN SKIP TO 17. 12. INVOKE 'FILEDEF' TO DEFINE THE ACCUMULATION TAPE FILE IF REQUESTED. ISSUE THE TAPE CONTROL MACROS NECESSARY TO POSITION THE TAPE FOR SUBSEQUENT WRITE OPERATIONS. 13. INVOKE 'FILEDEF' TO DEFINE THE HISTORY INPUT TAPE IF REQUESTED. AND BE SURE IT IS REWOUND. 14. LINK TO OS/VS EREP (IFCEREP1). 15. SIMULATE BLDL SVC'S ISSUED FROM OS/VS EREP. SIMULATE EXCP SVC'S ISSUED FROM OS/VS EREP SO THEY WILL APPEAR TO ACCESS A SYS1.LOGREC DATA SET; SIMULATION WILL RESULT IN CALLS TO DMSREA TO GET RECORDS FROM VM/370 ERROR RECORDING CYLINDERS; AN EXCP THAT ATTEMPTS TO RE-WRITE THE SYS1.LOGREC HEADER IS A RESULT OF THE 'ZERO' FUNCTION AND IS SIMULATED BY CALLING A SUBROUTINE TO ISSUE THE DIAGNOSE THAT ZEROS OUT THE ERROR RECORDING CYLINDERS. 16. EVENTUALLY OS/VS EREP IS DONE AND CONTROL RETURNS HERE FROM THE 'LINK' DONE AT 14. ABOVE 17. HOUSEKEEP ALL INDICATORS AND SWITCHES. FRET ANY CORE OBTAINED FOR THE OS 'PARM' AREA. CLEAR HANDLING OF SVC'S 0, 18, AND 76. CLEAR ANY FILDEFS THAT WERE SET UP BY CPEREP. 18. EXIT TO CMS.
Calls to Other Routines
IFCEREP1 - LINK TO OS/VS EREP PROGRAM WITH R1 CONTAINING THE ADDRESS OF A FULLWORD WHICH IN TURN CONTAINS THE ADDRESS OF AN OS FORMAT PARM LIST. THE PARM LIST WILL BE AS FOLLOWS: -------------------------------------- |CC| VARIABLE LENGTH CHARACTER STRING ______________________________________ WHERE CC IS A TWO BYTE COUNT OF THE NUMBER OF CHARACTERS OF PARAMETERS THAT FOLLOW. THE VARIABLE LENGTH CHARACTER STRING WILL CONSIST OF ANY PARAMETERS PASSED TO THIS PROGRAM THAT ARE NOT RECOGNIZED AS 'CLEAR' COMMANDS OR 'SHARE=' OR 'CTLCRD=' OR 'TERMINAL' OR 'CONTROLLER='. THERE WILL BE COMMAS BETWEEN THE PARAMETERS IN THE PARM LIST. DMSREA - CALLED VIA BALR, IT READS A SPECIFIED RECORD FROM THE VM/370 ERROR RECORDING CYLINDERS. DMKIOG - CALLED VIA DIAGNOSE TO CLEAR REQUESTED RECORDING CYLINDERS. STATE/STATEW - CMS FUNCTIONS CALLED VIA SVC. ERASE - CMS FUNCTIONS CALLED VIA SVC. INCLUDE - CMS FUNCTIONS CALLED VIA SVC. OTHERS - SEE 'MACROS' SECTION BELOW.