         TITLE 'IEFVH1'                                                 00050001
**********************************************************************  00060002
*                                                                       00070002
*                                                                       00080002
*MODULE NAME= IEFVH1                                                    00100001
*                                                                       00110002
*DESCRIPTIVE NAME= CONVERTER INITIALIZATION ROUTINE                     00150002
*                                                                       00160002
*COPYRIGHT= N/A                                                         00200001
*                                                                       00210002
*STATUS= VS2 SU16 - IN THIS MODULE, SU 16 SUPPORTS             @G16APPK 00250003
*        VPSS SUPPORT (SU 29 - @G29AN2E).                      @G16APPK 00253003
*        MERGE SU4,10,16 CODE TO REL 037 PTF                   @ZA27753 00256003
*                                                                       00260002
*                                                                       00270002
*FUNCTION= THIS MODULE PERFORMS INITIALIZATION FOR THE CONVERTER.       00300002
*          IT SETS UP THE ESTAE ENVIRONMENT OVER THE CONVERTER.         00310002
*          IT GETS AND INITIALIZES THE CONVERTER WORK AREA,             00350002
*          AS WELL AS INITIALIZING  OTHER  CONTROL                      00410002
*          BLOCKS.                                                      00450002
*                                                                       00502002
*    OPERATION=                                                         00510002
*             .CORE IS GOTTEN FOR THE ESTAE PARAMETER LIST              00510802
*             .CORE IS GOTTEN FOR THE USER PARAMETER LIST               00511202
*             .ESTAE LIST IS MOVED TO THE GOTTEN CORE                   00511602
*             .ESTAE MACRO (EXECUTE FORM) IS ISSUED.                    00511702
*             .GETS AND CLEARS CONVERTER WORK AREA                      00512002
*             .INITIALIZE R12 WITH CONV WORK AREA PTR                   00514002
*             .CWA ADDRESS IS STORED INTO ESTAE USER PARAM AREA         00514402
*             .INITIALIZE NEL PTR IN CONV WORK AREA                     00516002
*             .SAVE CALLER'S REG SAVE AREA ADDR IN CONV WORK AREA       00518002
*             .GET INPUT STMT BUFFER AND SAVE ADDR IN CONV WORK AREA    00518402
*             .GET INTERNAL TEXT BUFFER AND SAVE ADDR IN CWA            00518502
*             .PUT PROCLIB DCB PTR IN CONV WORK AREA                    00518802
*             .GET PROCEDURE STMT BUFFER AND SAVE ADDR IN CONV WORK     00519202
*              AREA                                                     00519602
*             .GET MESSAGE BUFFER AND SAVE ADDR IN CWA FOR IEFVGM       00523202
*             .GET AND CLEAR CORE FOR LOCAL WORK AREA AND INITIALIZE    00528002
*              LWA PTR IN CWA                                           00531602
*             .GET , CLEAR, AND CHAIN REG SAVE AREA                     00535202
*              PUT PTR TO CONVERTER REG SAVE AREA IN CWA                00538802
*             .MOVE QMPA PASSED BY CALLER INTO CWA                      00542402
*             .CHECK IF SMF IS FUNCTIONAL.  IF YES,                     00546002
*              GET CORE FOR JMR, MOVE JMR FOR THE JOB INTO IT           00549602
*              AND INITIALIZE SYSTEM ID AND SMF OPTION FIELDS IN IT.    00553202
*              SAVE JMR PTR IN CWA.                                     00556802
*             .CHECK FOR ACCOUNTING RTN EXIT; IF YES STORE PTR IN CWA   00560402
*             .CHECK FOR SPECIAL FIND EXIT; IF YES SET FLAG AND STORE   00564002
*              PTR IN CWA.                                              00567602
*             .CHECK FOR SPECIAL SWA-MANAGER ENTRY; IF YES, SET FLAG    00571202
*              AND STORE PTR IN CWA                                     00574802
*             .GET BUFFER FOR STMTS THAT ARE BEING PUT TO SYSOUT.       00578402
*              SAVE BUFFER PTR IN CWA.                                  00582002
*             .ALLOCATE VIRTUAL STORAGE FOR SSOB AND SSIB      @G29AN2E 00582903
*              AND STORE PTR IN CWA                            @G29AN2E 00583803
*             .INITIALIZE SSOB AND SSIB                        @G29AN2E 00584703
*             .EXIT                                                     00585602
*                                                                       00589202
*                                                                       00592802
*NOTES                                                                  00596402
*    CHARACTER-CODE DEPENDENCIES= EBCDIC                                00600001
*    DEPENDENCIES=NONE                                                  00650001
*    RESTRICTIONS=NONE                                                  00700001
*    REGISTER-CONVENTIONS=                                              00750002
*               R11 - MODULE BASE                                       00760002
*               R12 - CONVERTER WORK AREA PTR                           00770002
*               R13 - REG SAVE AREA PTR                                 00780002
*    PATCH-LABEL= PATCH                                                 00800002
*                                                                       00850002
*                                                                       00860002
*MODULE TYPE= BAL CSECT                                                 00900002
*    PROCESSOR= ASSEMBLER                                               00950002
*    ATTRIBUTES=REFRESHABLE,PRIVILEGED,KEY 0, PAGEABLE LPA              01050002
*                                                                       01070002
*                                                                       01100001
*ENTRY POINT= IEFVH1 FROM JOB ENTRY SUBSYSTEM OR MASTER SUBSYSTEM       01150002
*    PURPOSE= NORMAL ENTRY TO INITIALIZE FOR CONVERTER PROCESSING       01200002
*    LINKAGE= LINK                                               Y02668 01250002
*    INPUT DATA= REG 1 POINTS TO NEL                                    01300001
*                REG 13 POINTS TO SUPERVISOR REG SAVE AREA              01350002
*    REGISTERS SAVED= R14-R12                                           01400001
*    REGISTER CONTENTS DURING PROCESSING=                               01450002
*              R0  - WORK REG                                           01460002
*              R1  - PTR TO NEL AND WORK REG                            01470002
*              R2  - WORK REG                                           01480002
*              R3  - NEL BASE REG                                       01490002
*              R4  - WORK REG                                           01492002
*              R5  - WORK REG                                           01494002
*              R6  - WORK REG                                           01496002
*              R7  - WORK REG                                           01498002
*              R8  - UNUSED                                             01498402
*              R9  - UNUSED                                             01498802
*              R10 - LOCAL WORK AREA BASE AND SUBRTN LINKAGE REG        01499202
*              R11 - MODULE BASE REG                                    01499602
*              R12 - CONVERTER WORK AREA PTR                            01499702
*              R13 - REG SAVE AREA PTR                                  01499802
*              R14 - LINKAGE AND WORK REG                               01499902
*              R15 - LINKAGE AND WORK REG                               01516602
*    REGISTERS RESTORED= NONE                                           01533302
*                                                                       01550002
*                                                                       01600001
*EXIT - NORMAL= IEFVHA                                                  01650002
*    CONDITIONS= ALL TABLES AND CONTROL BLOCKS HAVE BEEN SET UP.        01700001
*                READY TO GET 1ST STMT FROM JCL DATA SET.               01750002
*    OUTPUT DATA= REG 12 POINTS TO CWA, REG 13 POINTS TO RSA            01850002
*    RETURN CODES= NONE                                                 01900001
*                                                                       01950001
*                                                                       01960002
*EXIT - ERROR=  N/A                                                     02000002
*   CONDITIONS=  N/A                                                    02050002
*   OUTPUT DATA=  N/A                                                   02100002
*   RETURN CODES= NONE                                                  02200002
*                                                                       02250001
*                                                                       02500001
*EXTERNAL REFERENCES                                                    02550001
*   ROUTINES=  NONE                                                     02600002
*   DATA AREAS=  CONVERTER WORK AREA, LOCAL WORK AREA ,ESTAE USER       02750002
*                PARAMETER LIST                                         02800002
*   CONTROL BLOCKS= NEL, QMPA, JMR, SSOB, SSIB                 @G29AN2E 02850003
*   TABLES=  NONE                                                       03500002
*   MACROS= GETMAIN, CALL, FREEMAIN,  LOAD, SAVE,                       03700002
*           IEFSAVER, IEFRELSE, RETURN,IEFZB9RD.                        03750002
*   ENQUEUE  RESOURCES= NONE                                            03800002
*   CHANGE LEVEL= Y02668,Y02653,G29AN2E                        @G29AN2E 03850003
*                                                                       03900001
*                                                                       03910002
*MESSAGES=  NONE                                                        03950002
*                                                                       04000002
*********************************************************************** 04050001
         EJECT                                                          04100001
         IEFCOMWA                                                Y02668 04150002
         IEFCVRWA                                                Y02668 04200002
         EJECT                                                          04250001
         IEFVMEWA                                                       04300001
ENDLAREA EQU   *                                                        04350001
         EJECT                                                          04400001
         IEFVMDWA   NA                                                  04450001
         EJECT                                                          04500001
         IEFVMJWA  NA                                                   04550001
LNGTHAWA EQU   ENDAWA-QLINKWA           LENGTH OF AWA                   04600001
LNGJACT  EQU   JACT-JASW1              RELATIVE ADDR OF ACT             04650001
LNGSIOT  EQU   SIOT-DWA            SIOT OFFSET IN DD LWA.               04700001
LNGJFCB  EQU   JFCB-DWA            JFCB OFFSET IN DD LWA.               04750001
LNGJFCBX EQU   JFCBX-DWA           JFCBX OFFSET IN DD LWA.              04800001
         EJECT                                                          04850001
         EJECT                                                          05000001
         EJECT                                                          05150001
DTGM     DSECT                                                    20001 05200001
DTUNPK   DS    D                                                  20001 05250001
DTCVT    EQU   DTUNPK                                                   05300001
DTMASK   EQU   *                                                        05350001
DTDATE   DS    8C                                                       05400001
DTDOT2   DS    1C                      PERIOD                           05450001
DTTIME   DS    7C                       TIME                            05500001
DTDOT3   DS    1C                      PERIOD                           05550001
DTCTR    DS    5C                       INTERPRETER CTR                 05600001
DTDOT4   DS    1C                                                       05650001
         DCBD  DSORG=(PS)                                               05700001
         EJECT                                                          05750001
         IEFQMNGR                                                       05800001
         IFGRPL                                                         05820002
QPARMEND DS    0D                                                       05850001
         EJECT                                                          05900001
         EJECT                                                          06050001
         EJECT                                                          06200001
         EJECT                                                          06350001
NELHERE    DSECT                                                        06400001
         IEFNEL   SUBCOM=C,EXITS=(TXT,RTN,QEP,SMF,IAM,FAM)              06500002
         EJECT                                                          06550001
         IEESMCA                                                        06600001
         EJECT                                                          06650001
         IEFJMR                                                         06700001
         EJECT                                                          06750001
         IEFZB9RD                                                       06760002
         EJECT                                                          06770002
H1CVT    DSECT                                                          06800001
         CVT                                                            06850001
         EJECT                                                          06900001
         IEFJSSIB                                              @G29AN2E 06950003
         EJECT                                                          07000003
         IEFJSSOB (CI)                                         @G29AN2E 07050003
         EJECT                                                          07800001
IEFVH1   CSECT                                                          07850002
         ENTRY TRACE                                                    07900002
*****************************************************************Y02668 07950002
*                                                                Y02668 08050002
*  STANDARD LINKAGE CONVENTIONS                                  Y02668 08150002
*                                                                Y02668 08250002
*****************************************************************Y02668 08350002
         SPACE 2                                                 Y02668 08450002
         SAVE  (14,12)                                           Y02668 08550002
         BALR  RB,0                SET UP MODULE                 Y02668 08650002
         USING *,RB                ADDRESSABILITY                Y02668 08750002
         B     VH10010                                           Y02668 08850002
         MODID BR=NO                                                    08950002
*        DC    C'SU16'             FUNC ID                     @G16APPK 09050003
         DC    C'01'  LEV # (MERGE SU4,10,16 CODE TO 037 PTF)  @ZA27753 09100003
VH10010  DS    0H                                                Y02668 09450002
         LR    R3,R1               SAVE NEL ADDR, FOR R1         Y02668 09550002
         USING NELHERE,R3          CLOBBERED BY GETMAIN          Y02668 09650002
         MODESET  MODE=SUP         GET INTO SUPERVISOR MODE      Y02668 09700002
         EJECT                                                          09750002
*****************************************************************Y02668 09850002
*                                                               *Y02668 09950002
*  GET CORE FOR WORK AREAS AND INITIALIZE                       *Y02668 10050002
*                                                               *Y02668 10150002
*****************************************************************Y02668 10250002
         SPACE 2                                                 Y02668 10350002
         IEFSAVER  ,               GET CONVERTER SAVE AREA       Y02668 10450002
*****************************************************************Y02668 10510002
*                                                               *Y02668 10517002
*  CALCULATE CORE NEEDED FOR CWA+LWA+JCL STMT BUFFER+SYSOUT     *Y02668 10524002
*  STMT BUFFER+MSG BUFFER+TEXTBUFFER+SSOB+SSIB AND ISSUE       @G29AN2E 10531003
*  ONE BIG GETMAIN.                                            @G29AN2E 10531703
*  THIS ENABLES CONVERTER TERMINATION TO ISSUE ON BIG FREEMAIN. *Y02668 10532403
*                                                                       10533103
*                                                                       10533803
*  THE LARGE VIRTUAL STORAGE AREA THAT IS GETMAINED IS USED   *@G29AN2E 10534503
*  FOR THE FOLLOWING IN THIS ORDER:                           *@G29AN2E 10535203
*                                                             *@G29AN2E 10535903
*        COMWA                -COMMON WORK AREA               *@G29AN2E 10536603
*        CVRWA/IWA            -CONVERTER/INTERPRETER WORKAREA *@G29AN2E 10537303
*        LWA                  -LOCAL WORKAREA (JWA/EWA/DWA)   *@G29AN2E 10538003
*        STMT BUFFER          -INPUT BUFFER FOR JCL STMT      *@G29AN2E 10538703
*        INTERNAL TEXT BUFFER                                 *@G29AN2E 10539403
*        SYSTEM OUTPUT BUFFER -OUTPUT BUFFER FOR JCL STMT     *@G29AN2E 10540103
*        MESSAGE BUFFER       -FOR ERROR MESSAGE              *@G29AN2E 10540803
*        SSOB                 -FOR SUBSYS KEY PROCESSING      *@G29AN2E 10541503
*        SSIB                 -FOR SUBSYS KEY PROCESSING      *@G29AN2E 10542203
*                                                             *@G29AN2E 10542903
*                                                             *@G29AN2E 10543603
*  JMR AND PROC BUF ARE OPTIONAL AND THEREFORE GOTTEN SEPARATELY*Y02668 10545002
*****************************************************************Y02668 10552002
         SPACE 2                                                 Y02668 10559002
         LH    R2,TXTBUFLT         GET TEXT BUFFER LENGTH        Y02668 10566002
         LA    R2,WALTH(R2)        ADD WORK AREA LENGTH.         Y02668 10573002
         LA    R2,WRKAREAS(R2)     ADD OTHER WORK AREA LENGTHS   Y02668 10580002
         LA    R2,SSOBLN19(R2)     ADD LENGTH OF SSOB          @G29AN2E 10582003
         LA    R2,SSIBSIZE(R2)     ADD LENGTH OF SSIB          @G29AN2E 10584003
         LR    R0,R2               SET UP FOR GETMAIN            Y02668 10587002
         BAL   RA,VH1GAC           GET CORE FOR WORK AREAS       Y02668 10594002
         EJECT                                                   Y02668 10601002
*****************************************************************Y02668 10608002
*                                                               *Y02668 10615002
* START INITIALIZATION - DIVIDE LARGE AREA OF GOTTEN CORE       *Y02668 10622002
*                                                               *       10629002
*****************************************************************Y02668 10636002
         SPACE 2                                                 Y02668 10643002
         LR    RC,R1               INITIALIZE R12 TO POINT TO CWAY02668 10650002
*                                  R12 PTS TO CWA THRU LIFE OF   Y02668 10750002
*                                  CONVERTER                     Y02668 10850002
         ST    R2,WAWRKLTH         SAVE GETMAIN LENGTH FOR       Y02668 10880002
*                                  WORK AREA FREEMAIN IN VHF     Y02668 10910002
         LA    R0,WALTH            LOAD WORK AREA LENGTH.        Y02668 10950002
         ST    R0,CWAL             SAVE LENGTH IN 1ST WORD       Y02668 11050002
         MVC   CWAID,ID            INITIALIZE CWA IDENTIFIER     Y02668 11150002
         ST    R3,WANELPTR         SAVE NEL PTR IN CWA           Y02668 11250002
         ST    RD,SAVEPTR          SAVE PTR TO CURRENT SAVE AREA Y02668 11350002
         MVC   CWASAVPT(WORDLEN),WORDLEN(RD)   SAVE PTR TO       Y02668 11380002
*                                  CALLER'S SAVE AREA            Y02668 11410002
         L     R0,IEFVHFV          GET PTR TO  CONVERTER         Y02668 11450002
*                                  TERMINATION ROUTINE           Y02668 11550002
         ST    R0,TERMRTN          SAVE IN CWA FOR C/I           Y02668 11650002
*                                  COMMON ROUTINES               Y02668 11750002
         L     R0,NELPROCB         GET PROCLIB DCB PTR           Y02668 11850002
         ST    R0,PDCBP            SAVE PROCLIB DCB PTR IN CWA   Y02668 11950002
         MVC   CWACONID(WORDLEN),NELCOMID INIT CWA WITH CONSOLE  Y02668 12050002
*                                  ID PTR-USED BY WTO            Y02668 12150002
         LA    R1,WALTH(RC)        CALC ADDR OF LOCAL WORK AREA. Y02668 12250002
*                                  AREA BY BUMPING PTR TO THE    Y02668 12310002
*                                  END OF THE CWA                Y02668 12370002
*                                  AND CLEAR IT                  Y02668 12450002
         ST    R1,CTRLWAP          SAVE PTR TO LWA IN CWA        Y02668 12550002
         MVC   CWALABEL(LEN1),NELLABEL   SAVE LABEL PROCESSING   Y02668 12950002
*                                  OPTION BYTE IN CWA-THIS OPTIONY02668 13050002
*                                  MUST BE PASSED TO THE INTERP  Y02668 13150002
*                                  VIA JOB STRING PREFIX         Y02668 13250002
         MVI   CWAMSLEN,MSGLEN     INDICATE MSG LENGTH TO IEFVGM Y02668 13350002
        EJECT                                                           13450002
*****************************************************************Y02653 13453002
*                                                                Y02653 13456002
*  SETUP ESTAE ENVIRONMENT OVER CONVERTER                        Y02653 13459002
*                                                                Y02653 13462002
*****************************************************************Y02653 13465002
         SPACE 2                                                        13468002
         L     R0,LENESTAE        GET CORE FOR ESTAE LIST FORM   Y02653 13471002
         BAL   RA,VH1GAC           GET CORE ROUTINE.             Y02653 13474002
         LR    R5,R1               ADDRESSABILITY FOR LIST FORM  Y02653 13477002
         L     R4,LENESTAE         LENGTH OF LIST FORM FOR MOVE  Y02653 13480002
         BCTR  R4,0          DECREMENT FOR MOVE INTO CORE.      YM02681 13481002
         EX    R4,MVESTAE          MOVE LIST TO GOTTEN CORE      Y02653 13483002
         LA    R0,EREPLEN          LENGHT OF USER PARAMETER AREA Y02653 13486002
         BAL   RA,VH1GAC           GET CORE FOR PARAMETER AREA   Y02653 13489002
         LR    R4,R1               ADDRESSABILITY FOR PARAM AREA Y02653 13492002
         ST    R4,AOSTAPRM         ADDRESS OF USER PARAM AREA    Y02653 13495002
         USING EREPL,R4             ADDRESSABILITY TO USER AREA  Y02653 13498002
         ST    RC,EREPLCWA      CWA ADDR IN PARAM AREA FOR ESTAE Y02653 13501002
         MVC   EREPLRSV(LEN4),CWASAVPT  ADDR OF CALLERS S/A      Y02653 13504002
         DROP  R4                  DROP REGISTER 4               Y02653 13507002
         L     R6,IEFNB9CR         ADDRESS OF ESTAE EXIT.        Y02653 13510002
*                                                                Y02653 13513002
         ESTAE (6),PARAM=(4),MF=(E,(5))                          Y02653 13516002
         LTR   RF,RF              WAS ESTAE SUCCESSFUL?          Y02653 13519002
         BZ    VH10020            YES IF REG15 IS ZERO           Y02653 13522002
*        IF ESTAE WAS NOT SUCCESSFUL. FREE THE USER PARAMETER    Y02668 13522402
*        AREA AND ZERO THE POINTER TO IT IN THE CWA              Y02668 13522802
*                                                                Y02668 13523202
         L     R1,AOSTAPRM         ADDRESS OF USER AREA GOTTEN   Y02668 13523602
         LA    R0,EREPLEN          LENGTH OF USER AREA           Y02668 13524002
         FREEMAIN R,LV=(0),A=(1)   FREE USER PARAMETER LIST      Y02668 13524402
         XC    AOSTAPRM(4),AOSTAPRM     ZERO USER PARMETER LIST  Y02653 13525002
*              POINTER TO SIGNAL THAT ESTAE DOES NOT EXIST.      Y02653 13528002
VH10020  DS    0H                                                Y02653 13531002
*        FREE ESTAE EXIT LIST IN GOTTEN CORE                     Y02668 13534002
         LR    R1,R5               ADDRESS OF LIST IN CORE       Y02668 13537002
         L     R0,LENESTAE         LENGTH OF LIST IN CORE        Y02668 13540002
         FREEMAIN R,LV=(0),A=(1)   FREE LIST                     Y02668 13543002
         EJECT                                                   Y02668 13546002
*****************************************************************Y02668 13550002
*                                                               *Y02668 13650002
*  SET UP QMPA AND JMR IN CONVERTER'S CORE                      *Y02668 13750002
*  LOAD IEFUJV                                                  *YM0581 13800002
*                                                               *Y02668 13850002
*****************************************************************Y02668 13950002
         SPACE 2                                                 Y02668 14050002
         L     R1,NELQMPA          GET POINTER TO QMPA PASSED BY Y02668 14150002
*                                  THE CONVERTER'S CALLER        Y02668 14250002
         MVC   QPARM(QMPALEN),0(R1) MOVE QMPA INTO CWA           Y02668 14350002
         LA    R0,QPARM            GET ADDR OF SWA MANAGER PARM  Y02668 14450002
*                                  AREA IN CWA                   Y02668 14550002
         ST    R0,QPARMP           INIT CWA PTR FIELD FOR VHQ    Y02668 14650002
         TM    NELOPSWT,NELSMF     IS SMF BEING USED             Y02668 14750002
         BZ    VH1IOBUF            NO, SKIP JMR PROCESSING       Y02668 14850002
         LA    R0,JMRLEN           GET JMR LENGTH                Y02668 14950002
         BAL   RA,VH1GAC           GET CORE AND CLEAR FOR JMR    Y02668 15050002
         USING JMR,R1              ADDRESS NEWLY GOTTEN CORE     Y02668 15150002
         L     RE,NELJMR           GET JMR POINTER FROM NEL      Y02668 15250002
         MVC   JMRJOB(JESSJMR),DISPL0(RE) MOVE JMR TO CONVRTR'S  Y02668 15350002
*                                  CORE-THIS IS DONE SO THAT WHENY02668 15450002
*                                  THE SMF USER EXIT IS TAKEN,   Y02668 15550002
*                                  THE USER DOES NOT LOOK AT     Y02668 15650002
*                                  JESS CORE.                    Y02668 15750002
         ST    R1,CWAJMRPT         SAVE PTR TO JMR IN CWA        Y02668 15850002
         LOAD  EP=IEFUJV           LOAD USER ROUTINE.           YM00581 15950002
         L     R1,CWAJMRPT         RESTORE R1,DESTROYED BY LOAD YM00581 16350002
         ST    R0,JMRUJVP          SAVE ADDR IN JMR.            YM00581 16750002
         MVI   JMRSTEP,STEP1       START OFF WITH STEP 1         Y02668 17150002
         DROP  R1                                                       17550002
         EJECT                                                   Y02668 17650002
*****************************************************************Y02668 17750002
*                                                               *Y02668 17850002
*  GET I/O BUFFERS AND INITIALIZE PTRS IN CWA                   *Y02668 17950002
*                                                               *Y02668 18050002
*****************************************************************Y02668 18150002
         SPACE 2                                                 Y02668 18250002
VH1IOBUF DS    0H                                                Y02668 18350002
         L     R6,NELPROCB         GET PROCLIB DCB PTR FROM NEL  Y02668 18450002
         LTR   R6,R6               HAS A PROCLIB BEEN SPECIFIED  Y02668 18550002
*                                  FOR THIS JOB                  Y02668 18650002
         BZ    VH10100             NO, DO NOT GET PROC BUFFER    Y02668 18750002
         USING IHADCB,R6           ADDRESS DCB                   Y02668 18850002
         LH    R0,DCBBLKSI         USE MAX BLKSIZE AS PROCEDURE  Y02668 19350002
*                                  BUFFER LENGTH                 Y02668 19450002
         BAL   RA,VH1GAC           GET AND CLEAR PROC BUFFER     Y02668 19550002
         ST    R1,PSTMT            SAVE PTR IN CWA               Y02668 19650002
         ST    R1,CWABPROC         SAVE PTR TO BLOCKED PROC BUFF Y02668 19750002
         DROP  R6                                                Y02668 19850002
VH10100  DS    0H                                                       19950002
         L     R1,CTRLWAP          GET PTR TO LOCAL WORKAREA     Y02668 20150002
         LA    R1,LEWA(R1)         CALCULATE THE END ADDR OF THE Y02668 20250002
*                                  LWA-THIS IN TURN IS THE       Y02668 20350002
*                                  BEGINNING OF THE STMT BUFFER  Y02668 20450002
         ST    R1,RSTMT            SAVE PTR IN CWA               Y02668 20550002
         LA    R1,JCLLEN(R1)       INCREMENT THE JCL STMT BUFFER Y02668 20650002
*                                  PTR BY THE BUFFER LENGTH TO   Y02668 20710002
*                                  GET A PTR TO THE TEXT BUFFER  Y02668 20770002
         LA    R2,DBLWORD(R1)      ALLOW DOUBLE WORD AT BEGINNINGY02668 20850002
*                                  OF THE TEXT BUFFER FOR AN     Y02668 20854002
*                                  IDENTIFIER AND LENGTH FIELD   Y02668 20858002
         LH    RF,TXTBUFLT         GET BUFFER LENGTH             Y02668 20862002
         ST    RF,BYTE0(R1)        PUT LENGTH IN HEADER          Y02668 20866002
         MVC   WORDLEN(WORDLEN,R1),TEXTID PUT ID IN BUFFER       Y02668 20870002
         ST    R2,TEXTBUFP         SAVE PTR TO 1ST AVAIL BYTE    Y02668 20874002
         AH    R1,TXTBUFLT         GET BUFFER END ADDRESS        Y02668 20880002
         ST    R1,TENDP            SAVE END ADDRESS              Y02668 20910002
*                                  THE END ADDRESS OF THE        Y02668 20950002
*                                  INTERNAL TEXT BUFFER IS       Y02668 21050002
*                                  THE BEGINNING ADDRESS OF      Y02668 21150002
*                                  THE SYSTEM OUTPUT BUFFER      Y02668 21250002
         ST    R1,AOWSTMT          STORE PTR IN CWA              Y02668 21350002
         LA    R1,AOWBFLTH(R1)     THE END ADDR OF THE SYSTEM    Y02668 21370002
*                                  OUTPUT BUFFER IS THE          Y02668 21380002
*                                  BEGINNING ADDR OF THE         Y02668 21390002
*                                  MESSAGE BUFFER                Y02668 21400002
         ST    R1,WAMSGBUF         SAVE PTR TO MSGBUF IN CWA     Y02668 21430002
         LA    R1,MSBUFLEN(R1)     THE END ADDR OF THE MESSAGE @G29AN2E 21450003
*                                  BUFFER IS THE BEGINNING ADDR@G29AN2E 21460003
*                                  OF THE SSOB                 @G29AN2E 21470003
         ST    R1,AOSSOB           SAVE PTR TO SSOB            @G29AN2E 21480003
         LA    R1,SSOBLN19(R1)     THE END ADDR OF THE SSOB IS @G29AN2E 21490003
*                                  THE BEGINNING OF THE SSIB   @G29AN2E 21500003
         ST    R1,AOSSIB           SAVE PTR TO SSIB            @G29AN2E 21510003
         EJECT                                                          21520003
*****************************************************************Y02668 21550002
*                                                               *Y02668 21650002
*  EXIT LIST PROCESSING                                         *Y02668 21750002
*                                                               *Y02668 21850002
*****************************************************************Y02668 21950002
         SPACE 2                                                 Y02668 22050002
         L     R7,NELEXLST         GET PTR TO EXIT LIST FROM NEL Y02668 22150002
         USING NELEXITS,R7         ADDRESS EXIT LIST             Y02668 22250002
         LTR   R7,R7               IS THERE AN EXIT LIST         Y02668 22350002
         BZ    VH1EXEND            NO EXIT LIST - CONTINUE       Y02668 22450002
         SR    R6,R6               CLEAR REG 6 FOR LOAD          Y02668 22460002
         LH    R6,NELEXLEN         GET LENGTH OF EXIT LIST       Y02668 22470002
         DROP  R7                                                       22480002
         SRA   R6,3                DIVIDE BY 8 TO GET            Y02668 22490002
*                                  NUMBER OF ENTRIES             Y02668 22500002
         BCTR  R6,R0               DECREMENT NO. BY ONE TO       Y02668 22510002
*                                  ACCT. FOR 8 BYTE HEADER       Y02668 22520002
VH10200  DS    0H                                                Y02668 22530002
         LA    R7,DBLWORD(R7)      BUMP PTR PASSED EXIT LIST     Y02668 22540002
*                                  HEADER                        Y02668 22550002
         CLI   EXITID(R7),NELTXTEX IS THIS THE POST SCAN TEXT    Y02668 22560002
*                                  EXIT                          Y02668 22570002
         BNE   VH10300             NO, GO TO CHECK NEXT ENTRY    Y02668 22580002
         ST    R7,CWATXTEX         YES, SAVE ENTRY PTR IN CWA    Y02668 22590002
         CLI   LINKID(R7),NELEXNAM POST SCAN EXIT BY MOD NAME ? YM00373 22590902
         BNE   VH10400             NO TXT EXIT PROCESSED        YM00373 22591802
         LA    R0,LINKLTH          YES GET LINK DATA LENGTH     YM00373 22592702
         ST    R0,CWALINKL         SAVE LENGTH FOR FREE AT TERM YM00373 22593602
         BAL   RA,VH1GAC           GET STORAGE FOR LINK         YM00373 22594502
         ST    R1,CWALINK          SAVE PTR FOR VFA             YM00373 22595402
         MVC   0(LINKLTH,R1),VH1LINK  INIT STORAGE FOR VFA LINK YM00373 22596302
         MVC   CWAPSENM(R6),EXITNAME(R7) SAVE EXIT NAME FOR VFA YM00373 22597202
         MVI   CWAPSENM+6,C' '     PAD NAME                     YM00373 22598102
         MVI   CWAPSENM+7,C' '     WITH BLANKS                  YM00373 22599002
         B     VH10400             TXT EXIT PROCESSED -         YM00385 22600002
VH10300  DS    0H                                                Y02668 22610002
         CLI   EXITID(R7),NELFAMEX IS THIS THE SPECIAL FIND RTN YM00385 22611002
*                                  EXIT                         YM00385 22612002
         BNE   VH10400             NO, CONTINUE SEARCH          YM00385 22613002
         OI    IWAEXTS,IWASFIND    INDICATE YES IN CWA          YM00385 22614002
         MVC   IWAFINDP,LEN5(R7)   MOVE FIND ENTRY POINT        YM00385 22615002
*                                  TO CWA TO BE USED BY VFA     YM00385 22616002
VH10400  DS    0H                                               YM00385 22617002
*                                  CONTINUE PROCESSING LIST     YM00385 22618002
         BCT   R6,VH10200          DECREMENT NO. OF ENTRIES BY 1 Y02668 22620002
VH1EXEND DS    0H                                                Y02668 22630002
         EJECT                                                   Y02668 22750002
*****************************************************************Y02668 22850002
*                                                               *Y02668 22950002
*  CONVERTER INITIALIZATION COMPLETE, EXIT TO GET JCL STATEMENT *Y02668 23050002
*                                                               *Y02668 23150002
*****************************************************************Y02668 23250002
         SPACE 2                                                 Y02668 23350002
         L     RF,IEFVHAV          CONVERTER GET RTN ADDR        Y02668 23450002
         BR    RF                  EXIT TO START GETTING JCL     Y02668 23550002
*                                  STATEMENTS                    Y02668 23650002
         EJECT                                                   Y02668 25350002
*****************************************************************Y02668 25450002
*                                                               *Y02668 25550002
*  ROUTINE TO GET AND CLEAR CORE                                *Y02668 25650002
*                                                               *Y02668 25750002
*****************************************************************Y02668 25850002
         SPACE 2                                                 Y02668 25950002
VH1GAC   DS    0H                                                Y02668 26050002
         STM   R4,R7,12(RD)        SAVE REGS CLOBBERED BY MVCL   Y02668 26100002
         LR    R5,R0               PUT LENGTH IN ODD REG FOR MVCLY02668 26150002
         GETMAIN  R,LV=(0)         GET REQUESTED CORE            Y02668 26230002
         LR    R4,R1               SET UP TARGET OF MVCL AND     Y02668 26310002
*                                  PRESERVE REG1 FOR RETURN      Y02668 26390002
         SR    R7,R7               INDICATE PADDING CHAR OF 0    Y02668 26470002
*                                  FOR MVCL AND OBJECT COUNT OF 0Y02668 26550002
         SR    R6,R6               INDICATE NO MVCL OBJECT ADDR  Y02668 26630002
         MVCL  R4,R6               CLEAR REQUESTED CORE          Y02668 26710002
         LM    R4,R7,12(RD)        RESTORE REGS CLOBBERED        Y02668 26750002
*                                  BY MOVE CHAR LONG(MVCL)       Y02668 26790002
         BR    RA                                                Y02668 26850002
         EJECT                                                          35850001
**********************************************************************  35900001
*                         E Q U A T E S                              *  35950001
**********************************************************************  36000001
IWAL1    EQU   X'FFF'              IWA LENGTH.                   Y02028 36150002
TABLEN   EQU   176               LENGTH OF TABLES                       36250001
EXITLEN  EQU   16                LENGTH OF NEL EXIT LIST                36300001
ENDNEL   EQU   X'80'             INDICATES END OF NEL                   36350001
WORDLEN  EQU   4                 LENGTH OF FULL WORD                    36400001
DBLWORD  EQU   8                 LENGTH OF DOUBLE WORD                  36450001
HWORDLEN EQU   2                 LENGTH OF HALF WORD                    36500001
PARMLEN  EQU   12                LENGTH OF PARM LIST FOR IEEVSMSG       36550001
ERRMSG13 EQU   13                MSG CODE FOR MSG IEE                   36600001
NELLEN6  EQU   24                LENGTH OF 6 WORD NEL                   36650001
SAVELEN  EQU   72                LENGTH OF SAVE AREA                    36700001
QMPALEN  EQU   32                LENGTH OF QMPA                         36750001
MSGLEN   EQU   90                  STMT/MSG LENGTH               Y02668 36800002
MAINUCB  EQU   X'FF'             INDICATES MAIN UCB                     36850001
ERRCODE  EQU   4                 ERROR CODE FOR IEFVHN                  36900001
CHARA    EQU   C'A'              DEFAULT MSG CLASS                      36950001
BLANK    EQU   C' '              CHARACTER BLANK -X'40'                 37000001
NAMELEN  EQU   8                 LENGTH OF NAME                         37050001
ENTRYLEN EQU   8                 LENGTH OF NEL EXIT LIST ENTRIES        37100001
WORKLEN  EQU   16                LENGTH OF WORK AREA FOR EXTRACT        37150001
BITS3    EQU   3                 SHIFT 3 BITS                           37200001
BITS4    EQU   4                 SHIFT 4 BITS                           37250001
BITS7    EQU   7                 SHIFT 7 BITS                           37300001
BITS24   EQU   24                SHIFT 24 BITS                          37350001
HWORD0   EQU   0                 DISPLACEMENT                           37400001
WORD0    EQU   0                 DISPLACEMENT                           37450001
WORD1    EQU   4                 DISPLACEMENT                           37500001
WORD2    EQU   8                 DISPLACEMENT                           37550001
WORD3    EQU   12                DISPLACEMENT                           37600001
WORD4    EQU   16                DISPLACEMENT                           37650001
WORD6    EQU   24                DISPLACEMENT                           37700001
BYTE0    EQU   0                 DISPLACEMENT                           37750001
BYTE1    EQU   1                 DISPLACEMENT                           37800001
BYTE2    EQU   2                 DISPLACEMENT                           37850001
BYTE3    EQU   3                 DISPLACEMENT                           37900001
BYTE26   EQU   26                DISPLACEMENT                           37950001
BYTE27   EQU   27                DISPLACEMENT                           38000001
DISPL0   EQU   0                 DISPLACEMENT                           38050001
DISPL1   EQU   1                 DISPLACEMENT                           38100001
DISPL3   EQU   3                 DISPLACEMENT                           38150001
DISPL4   EQU   4                 DISPLACEMENT                           38200001
DISPL6   EQU   6                 DISPLACEMENT                           38250001
DISPL7   EQU   7                 DISPLACEMENT                           38300001
LEN0     EQU   0                 LENGTH                                 38350001
LEN1     EQU   1                 LENGTH                                 38400001
LEN2     EQU   2                 LENGTH                                 38450001
LEN3     EQU   3                 LENGTH                                 38500001
LEN4     EQU   4                 LENGTH                                 38550001
LEN5     EQU   5                 LENGTH                                 38600001
LEN6     EQU   6                 LENGTH                                 38650001
LEN8     EQU   8                 LENGTH                                 38700001
LEN11    EQU   11                LENGTH                                 38750001
LEN12    EQU   12                LENGTH                                 38800001
LEN40    EQU   40                LENGTH                                 38850001
LEN84    EQU   84                LENGTH                                 38900001
NEXT     EQU   1                 UPDATE TO NEXT BYTE                    38950001
BLDGLEN  EQU   48                LENGTH OF BLDG PARM LIST               39000001
V        EQU   C'V'              INDICATES MVT SYSTEM                   39050001
T        EQU   C'T'              INDICATES TIME                         39100001
R        EQU   C'R'              INDICATES COUNTER                      39150001
PERIOD   EQU   C'.'              CHARACTER PERIOD                       39200001
SIGN     EQU   X'F0'             CONVERT SIGN BITS AFTER UNPACK         39250001
BSIGN    EQU   X'0F'             CONVERT SIGN BITS BEFORE UNPACK        39300001
WKAREALN EQU   8                 LENGTH OF WORK AREA                    39350001
MAX16    EQU   16                CONTROL FOR SCANNING                   39400001
ROLLBITS EQU   X'C0'             ROLL OPTION BITS                       39450001
COMDAUTH EQU   28                COMMAND AUTHORITY DISPLACEMENT         39500001
CODE0    EQU   0                 RETURN CODE ZERO -SUCCESSFUL           39550001
CODE4    EQU   4                 RETURN CODE OF 4 -ERROR                39600001
CLABEL0  EQU   C'0'              VALUE FOR LABEL PARM                   39650001
CLABEL1  EQU   C'1'              VALUE FOR LABEL PARM                   39700001
CLABEL2  EQU   C'2'              POSSIBLE VALUE FOR LABEL PARM          39750001
BLABEL1  EQU   X'10'             TREAT AS BYPASS LABEL PROCESSING       39800001
BLABEL02 EQU   X'01'             TREAT AS NON LABEL                     39850001
DFLMSGL1 EQU   C'0'              DEFAULT MSGLEVEL FOR JCL MSGS          39900001
DFLMSGL2 EQU   C'1'              DEFAULT MSGLEVEL FOR ALLOC MSGS        39950001
HEX00    EQU   X'00'                                               XMCS 40000001
HEX04    EQU   X'04'                                               XMCS 40050001
HEX40    EQU   X'40'                   HEX EQUATE                   SMF 40100001
HEX80    EQU   X'80'                                               XMCS 40150001
EXITID   EQU   1                   DISPL OF EXIT TYE FIELD IN ENTRY     40160002
LINKID   EQU   0                   DISPL OF LINKAGE ID          YM00373 40170002
EXITNAME EQU   2                   DISPL OF EXIT NAME           YM00373 40180002
         SPACE 3                                                        40200001
         EJECT                                                          40250001
*                                                                Y02668 40300002
*  EQUATES TO CONVERT  IWA  TO CWA                               Y02668 41300002
*                                                                Y02668 42300002
JMRLEN   EQU   80                  JMR+PARLIST LENGTH            Y02668 43300002
JESSJMR  EQU   56                  JMR PASSED BY JOB ENT SUBSYS  Y02668 43800002
JCLLEN   EQU   80                                                Y02668 56300002
MSBUFLEN EQU   160                                               Y02668 59600002
AOWBFLTH EQU   90                                                       60300002
LEN7     EQU   7                                                        67300002
STEP1    EQU   X'01'                                             Y02668 68300002
MVESTAE  MVC   LEN0(LEN0,R5),VH1ESTAE          MOVE LIST FORM           68500002
WRKAREAS EQU   LEWA+JCLLEN+AOWBFLTH+MSBUFLEN                     Y02668 68900002
*****************************************************************Y02668 69300002
*                                                               *Y02668 70300002
*        DECLARED STORAGE                                       *Y02668 71300002
*                                                               *Y02668 72300002
*****************************************************************Y02668 73300002
         SPACE 2                                                        74300002
EIGHTY   DC    F'80'                                             Y02668 75300002
ID       DC    X'11111111'         CWA IDENTIFIER                Y02668 76300002
TEXTID   DC    X'EEEEEEEE'         TEXT BUFFER IDENTIFIER        Y02668 77300002
TXTBUFLT DC    H'8192'             8K INTERNAL TEXT BUFFER       Y02668 77800002
IEFVHAV  DC    V(IEFVHA)           CONVERTER GET ROUTINE         Y02668 78300002
IEFVHFV  DC    V(IEFVHF)                                         Y02668 79300002
IEFNB9CR DC    V(IEFNB9CR)         ADDRESS OF ESTEA EXIT                79380002
         SPACE 1                                                        79460002
VH1ESTAE ESTAE XCTL=NO,PURGE=NONE,ASYNCH=YES,RECORD=YES,MF=L            79540002
LENESTAE DC    A(*-VH1ESTAE)                                            79620002
VH1LINK  LINK SF=L                 LIST FORM OF LINK            YM00373 79640002
LINKLTH  EQU   *-VH1LINK           LENGTH OF LINK EXPANSION     YM00373 79660002
         SPACE 1                                                        79700002
PATCH    DC    25F'0'                                                   80300002
         EJECT                                                          80320002
TRACE    DS    0H                                                       80340002
         BALR  15,0                SET BASE REG.                        80360002
         USING *,15                                                     80380002
****************************************************************YM08105 80390002
         B     TRNOP               DEACTIVATE TRACE             YM08105 80400002
*                                  ZAP THIS INSTR TO '47000000' YM08105 80410002
*                                  TO TRACE MODULE FLOW.        YM08105 80420002
****************************************************************YM08105 80430002
         STM   11,1,TRSAVE         SAVE CALLER'S REGS.                  80480002
* REGISTER 12 CONTAINS ADDRESS OF WORK AREA.                     Y02668 80500002
         L     1,BUFADDR           LOAD CONTENTS.                       80540002
         LTR   1,1                 TRACE BUFFER OBTAINED ?              80560002
         BNZ   TR5                 BRANCH YES.                          80580002
* TRACE BUFFER NOT YET OBTAINED.                                        80600002
         LR    11,15               SAVE BASE REGISTER.                  80620002
         LH    0,BUFLTH            LOAD BUF LENTH.                      80640002
         GETMAIN  R,LV=(0)                                              80660002
         LR    15,11               RESTORE BASE REGISTER.               80680002
         ST    1,BUFADDR           SAVE BUFFER ADDRESS.                 80700002
         ST    1,NEXTPTR           INIT NEXT ENTRY PTR.                 80720002
         AH    1,BUFLTH            ADD LENGTH TO                        80740002
         ST    1,BUFEND            COMPUTE BUFFER END ADDR.             80760002
* TRACE BUFFER EXISTS AND PTRS ARE INITIALIZED.                         80780002
TR5      DS    0H                                                       80800002
         CLC   NEXTPTR(4),BUFEND   IS BUFFER FILLED ?                   80820002
         BNE   TR10                BRANCH NO.                           80840002
* BUFFER HAS BEEN FILLED. START OVER.                                   80860002
         MVC   NEXTPTR(4),BUFADDR  SET NEXT ENTRY TO START OF BUF.      80880002
TR10     DS    0H                                                       80900002
         L     1,NEXTPTR           LOAD PTR TO NEXT ENTRY.              80920002
         L     14,TRSAVE+12        LOAD ADDR OF CALLER.                 80940002
         MVC   0(4,1),4(14)        MOD ID IS 2ND WD AFTER CALLING      *80960002
                                   ADDR. MOVE ID TO BUF.                80980002
         LA    1,4(1)              SET ENTRY PTR TO NEXT LOC AND        81000002
         ST    1,NEXTPTR           SAVE.                                81020002
         LM    11,1,TRSAVE         RESTORE REGS.                        81040002
TRNOP    DS    0H                                               YM08105 81050002
         LA    14,8(14)            PT LINK REG BEYOND PARM LIST.        81060002
         BR    14                  RETURN TO NEXT EXECUTABLE INSTR.     81080002
         SPACE 2                                                        81100002
         DS    0H                                                       81120002
BUFLTH   DC    AL2(2048)           BUFFER LENGTH.                       81140002
         END   IEFVH1                                                   81300002
