         TITLE '******** IDCVS02:  VOLUME SERVICE ROUTINE ********     *00001000
                        '                                               00002000
        MACRO                                                           00003000
        GETMAIN &R,&LV=                                                 00004000
        L     REG15,0(REG1)           GDTTBL ADDRESS                    00005000
        L     REG15,GDTPRL(REG15)     PROL ROUTINE ADDRESS              00006000
        CNOP  2,4                     BOUNDARY ALIGNMENT                00007000
        LA    REG14,*+14              RETURN ADDRESS                    00008000
        BALR  REG1,REG15              LINKAGE TO PROL ROUTINE           00009000
        DC    A(MODID)                MODULE ID ADDRESS                 00010000
        DC    A(@SIZDATD)             AUTOMATIC STORAGE SIZE ADDRESS    00011000
        MEND                                                            00012000
IDCVS02  CSECT ,                                                   0002 00013000
@MAINENT DS    0H                                                  0002 00014000
         USING *,@15                                               0002 00015000
         B     @PROLOG                                             0002 00016000
         DC    AL1(16)                                             0002 00017000
         DC    C'IDCVS02   76.245'                                 0002 00018000
         DROP  @15                                                      00019000
@PROLOG  STM   @14,@12,12(@13)                                     0002 00020000
         BALR  @12,0                                               0002 00021000
@PSTART  LA    @02,4095(,@12)                                      0002 00022000
         USING @PSTART,@12                                         0002 00023000
         USING @PSTART+4095,@02                                    0002 00024000
         L     @00,@SIZDATD                                        0002 00025000
         GETMAIN  R,LV=(0)                                              00026000
         LR    @11,@01                                             0002 00027000
         USING @DATD,@11                                           0002 00028000
         ST    @13,@SA00001+4                                      0002 00029000
         LM    @00,@01,20(@13)                                     0002 00030000
         ST    @11,8(,@13)                                         0002 00031000
         LR    @13,@11                                             0002 00032000
         MVC   @PC00001(12),0(@01)                                 0002 00033000
*                                                            @Y30LB35*/ 00034000
*   OLDERID2=NEWERID2;                                             0258 00035000
         L     @10,@PC00001                                        0258 00036000
         L     @03,GDTTR2(,@10)                                    0258 00037000
         MVC   @TS00001(95),NEWERID2(@03)                          0258 00038000
         MVC   OLDERID2(95,@03),@TS00001                           0258 00039000
*   NEWID2='VSMN';                  /*                       @Y30LB35   00040000
*                                                            @Y30LB35*/ 00041000
         MVC   NEWID2(4,@03),@CC01139                              0259 00042000
*   IF GDTDBG=NULLPTR THEN                                         0260 00043000
         L     @10,GDTDBG(,@10)                                    0260 00044000
         LTR   @10,@10                                             0260 00045000
         BZ    @RT00260                                            0260 00046000
*     ;                                                            0261 00047000
*   ELSE                                                           0262 00048000
*     CALL IDCDB010(GDTTBL,'VSBG'); /*                       @Y30LB35   00049000
*                                                            @Y30LB35*/ 00050000
         L     @10,@PC00001                                        0262 00051000
         ST    @10,@AL00001                                        0262 00052000
         LA    @03,@CC01140                                        0262 00053000
         ST    @03,@AL00001+4                                      0262 00054000
         MVI   @AL00001+4,X'80'                                    0262 00055000
         L     @15,GDTDBG(,@10)                                    0262 00056000
         LA    @01,@AL00001                                        0262 00057000
         BALR  @14,@15                                             0262 00058000
*   DDSTRU=ADDR(PRINTARG);          /*                       @Y30LB35   00059000
*                                                            @Y30LB35*/ 00060000
@RT00260 LA    @10,PRINTARG                                        0263 00061000
         ST    @10,DDSTRU                                          0263 00062000
*   TESTRC=0;                       /*                       @Y30LB35   00063000
*                                                            @Y30LB35*/ 00064000
*                                                                  0264 00065000
         SLR   @10,@10                                             0264 00066000
         STH   @10,TESTRC                                          0264 00067000
*   /*****************************************************************/ 00068000
*   /*                                                               */ 00069000
*   /* MOVE REQUEST NAME INTO CALLER'S PARMLIST              @Y30LB35*/ 00070000
*   /* THIS WILL AID TO DETERMINE IF LIST WAS PASSED         @Y30LB35*/ 00071000
*   /* IF A DUMP IS BEING READ.                              @Y30LB35*/ 00072000
*   /* IF THE FIRST 8 CHAR CONTAIN THE REQUEST NAME          @Y30LB35*/ 00073000
*   /* WHICH ARE "INITVOL", "PUTLABEL", OR "GETLABEL" IT SHOULD      */ 00074000
*   /* INDICATE THAT THIS MODULE WAS CALLED.                         */ 00075000
*   /*                                                               */ 00076000
*   /*****************************************************************/ 00077000
*                                                                  0265 00078000
*   VS2HEAD=REQUEST;                /*                       @Y30LB35   00079000
*                                                            @Y30LB35*/ 00080000
         L     @10,@PC00001+8                                      0265 00081000
         L     @03,@PC00001+4                                      0265 00082000
         MVC   VS2HEAD(8,@10),REQUEST(@03)                         0265 00083000
*                                                                  0266 00084000
*   /*****************************************************************/ 00085000
*   /*                                                               */ 00086000
*   /* THIS PORTION OF THE MODULE IS CONSIDERED              @Y30LB35*/ 00087000
*   /* THE CONTROLLER AND DETERMINES WHICH SERVICE           @Y30LB35*/ 00088000
*   /* AND DIRECTS CONTROL TO PROPER SUBROUTINE.             @Y30LB35*/ 00089000
*   /* IF THE REQUEST IS INVALID, UABORT IS ISSUED           @Y30LB35*/ 00090000
*   /*                                                               */ 00091000
*   /*****************************************************************/ 00092000
*                                                                  0266 00093000
*   IF REQUEST=INITVOL              /*                       @Y30LB35*/ 00094000
*     THEN                                                         0266 00095000
         CLC   REQUEST(8,@03),INITVOL                              0266 00096000
         BNE   @RF00266                                            0266 00097000
*     CALL INITVOLM;                /*                       @Y30LB35   00098000
*                                                            @Y30LB35*/ 00099000
         BAL   @14,INITVOLM                                        0267 00100000
*   ELSE                            /*                       @Y30LB35*/ 00101000
*     IF REQUEST=GETLABEL           /*                       @Y30LB35*/ 00102000
*       THEN                                                       0268 00103000
         B     @RC00266                                            0268 00104000
@RF00266 L     @10,@PC00001+4                                      0268 00105000
         CLC   REQUEST(8,@10),GETLABEL                             0268 00106000
         BNE   @RF00268                                            0268 00107000
*       CALL GETLAB;                /*                       @Y30LB35   00108000
*                                                            @Y30LB35*/ 00109000
         BAL   @14,GETLAB                                          0269 00110000
*     ELSE                          /*                       @Y30LB35*/ 00111000
*       IF REQUEST=PUTLABEL         /*                       @Y30LB35*/ 00112000
*         THEN                                                     0270 00113000
         B     @RC00268                                            0270 00114000
@RF00268 L     @10,@PC00001+4                                      0270 00115000
         CLC   REQUEST(8,@10),PUTLABEL                             0270 00116000
         BNE   @RF00270                                            0270 00117000
*         CALL PUTLAB;              /*                       @Y30LB35   00118000
*                                                            @Y30LB35*/ 00119000
         BAL   @14,PUTLAB                                          0271 00120000
*       ELSE                        /*                       @Y30LB35*/ 00121000
*         DO;                                                      0272 00122000
         B     @RC00270                                            0272 00123000
@RF00270 DS    0H                                                  0273 00124000
*           RESPECIFY                                              0273 00125000
*            (REG13,                                               0273 00126000
*             REG14,                                               0273 00127000
*             REG15) RSTD;                                         0273 00128000
*           REG15=40;                                              0274 00129000
         LA    REG15,40                                            0274 00130000
*           REG14=GDTABT;                                          0275 00131000
         L     @10,@PC00001                                        0275 00132000
         L     REG14,GDTABT(,@10)                                  0275 00133000
*           REG13=GDTABH;                                          0276 00134000
         L     REG13,GDTABH(,@10)                                  0276 00135000
*           GEN(BR    REG14);                                      0277 00136000
         BR    REG14                                                    00137000
*           RESPECIFY                                              0278 00138000
*            (REG13,                                               0278 00139000
*             REG14,                                               0278 00140000
*             REG15) UNRSTD;                                       0278 00141000
*         END;                      /*                       @Y30LB35   00142000
*                                                            @Y30LB35*/ 00143000
*                                                                  0279 00144000
*   /*****************************************************************/ 00145000
*   /*                                                               */ 00146000
*   /* HERE IDCVS02 WILL EXIT. BEFORE EXIT, THE              @Y30LB35*/ 00147000
*   /* DUMP POINT FOR A FULL REGION DUMP OF 'VSOT'           @Y30LB35*/ 00148000
*   /* CAN BE ISSUED.                                        @Y30LB35*/ 00149000
*   /* THE RETURN CODE SAVED IN TESTRC IS RETURNED.          @Y30LB35*/ 00150000
*   /*                                                               */ 00151000
*   /*****************************************************************/ 00152000
*                                                                  0280 00153000
*   IF GDTDBG=NULLPTR THEN                                         0280 00154000
@RC00270 DS    0H                                                  0280 00155000
@RC00268 DS    0H                                                  0280 00156000
@RC00266 L     @10,@PC00001                                        0280 00157000
         L     @10,GDTDBG(,@10)                                    0280 00158000
         LTR   @10,@10                                             0280 00159000
         BZ    @RT00280                                            0280 00160000
*     ;                                                            0281 00161000
*   ELSE                                                           0282 00162000
*     CALL IDCDB010(GDTTBL,'VSOT'); /*                       @Y30LB35*/ 00163000
         L     @10,@PC00001                                        0282 00164000
         ST    @10,@AL00001                                        0282 00165000
         LA    @03,@CC01144                                        0282 00166000
         ST    @03,@AL00001+4                                      0282 00167000
         MVI   @AL00001+4,X'80'                                    0282 00168000
         L     @15,GDTDBG(,@10)                                    0282 00169000
         LA    @01,@AL00001                                        0282 00170000
         BALR  @14,@15                                             0282 00171000
*   CALL IDCSAEP0(GDTTBL,MODID,TESTRC);/*                    @Y30LB35*/ 00172000
@RT00280 L     @10,@PC00001                                        0283 00173000
         ST    @10,@AL00001                                        0283 00174000
         LA    @03,MODID                                           0283 00175000
         ST    @03,@AL00001+4                                      0283 00176000
         LA    @03,TESTRC                                          0283 00177000
         ST    @03,@AL00001+8                                      0283 00178000
         MVI   @AL00001+8,X'80'                                    0283 00179000
         L     @15,GDTEPL(,@10)                                    0283 00180000
         LA    @01,@AL00001                                        0283 00181000
         BALR  @14,@15                                             0283 00182000
*                                                                  0284 00183000
*/********************************************************************/ 00184000
*/*                                                          @Y30LB35*/ 00185000
*/* PROCEDURE NAME - INITVOLM                                @Y30LB35*/ 00186000
*/*                                                          @Y30LB35*/ 00187000
*/* FUNCTION -  ISSUE APPROPRIATE EXCP I/O MACROS OF UEXCP   @Y30LB35*/ 00188000
*/*             (OPEN AND PUT) TO INITIALIZE THE NEW 3330V   @Y30LB35*/ 00189000
*/*             VOLUME, CALLS THE SUBORDINATE ROUTINES OF    @Y30LB35*/ 00190000
*/*             FMTTRK0 AND FMTTRK1 AND FINALLY RETURN TO    @Y30LB35*/ 00191000
*/*             MAIN ROUTINE.                                @Y30LB35*/ 00192000
*/*                                                          @Y30LB35*/ 00193000
*/* INPUT -     VS2AGL (ARGUMENTS PASSED AS INPUT)           @Y30LB35*/ 00194000
*/*                                                          @Y30LB35*/ 00195000
*/* OUTPUT -    USERIOXP,                                    @Y30LB35*/ 00196000
*/*             REGISTER 15 = 0, SUCCESSFUL                  @Y30LB35*/ 00197000
*/*                           4, ERROR DURING OPEN (UEXCP)   @Y30LB35*/ 00198000
*/*                           4, ERROR DURING PUT  (UEXCP)   @Y30LB35*/ 00199000
*/*                                                          @Y30LB35*/ 00200000
*/********************************************************************/ 00201000
*                                                                  0284 00202000
*                                   /*                       @Y30LB35*/ 00203000
*INITVOLM:                                                         0284 00204000
*   PROC;                           /*                       @Y30LB35*/ 00205000
*                                                                  0284 00206000
@EL00001 L     @13,4(,@13)                                         0284 00207000
@EF00001 L     @00,@SIZDATD                                        0284 00208000
         LR    @01,@11                                             0284 00209000
         FREEMAIN R,LV=(0),A=(1)                                        00210000
@ER00001 LM    @14,@12,12(@13)                                     0284 00211000
         BR    @14                                                 0284 00212000
INITVOLM STM   @14,@12,@SA00002                                    0284 00213000
*   /*****************************************************************/ 00214000
*   /*                                                               */ 00215000
*   /* SET UP TRACE POINT 'VSIN' IN TRACE TABLE              @Y30LB35*/ 00216000
*   /*                                                               */ 00217000
*   /*****************************************************************/ 00218000
*                                                                  0285 00219000
*   OLDERID2=NEWERID2;                                             0285 00220000
         L     @10,@PC00001                                        0285 00221000
         L     @03,GDTTR2(,@10)                                    0285 00222000
         MVC   @TS00001(95),NEWERID2(@03)                          0285 00223000
         MVC   OLDERID2(95,@03),@TS00001                           0285 00224000
*   NEWID2='VSIN';                  /*                       @Y30LB35*/ 00225000
*                                                                  0286 00226000
         MVC   NEWID2(4,@03),@CC01148                              0286 00227000
*   /*****************************************************************/ 00228000
*   /*                                                               */ 00229000
*   /* EXOARG LIST IS INITIALIZED - UEXCP (OPEN)             @Y30LB35*/ 00230000
*   /* THIS WILL BE USED TO OPEN THE NEW VOLUME FOR          @Y30LB35*/ 00231000
*   /* INITIALIZATION.                                       @Y30LB35*/ 00232000
*   /*                                                               */ 00233000
*   /*****************************************************************/ 00234000
*                                                                  0287 00235000
*   EXOARG=''B;                     /*                       @Y30LB35*/ 00236000
         LA    @03,EXOPARM                                         0287 00237000
         XC    EXOARG(34,@03),EXOARG(@03)                          0287 00238000
*   EXODDN=ADDR(VSDDNAME);          /*                       @Y30LB35*/ 00239000
         L     @15,@PC00001+8                                      0288 00240000
         LA    @14,VSDDNAME(,@15)                                  0288 00241000
         ST    @14,EXODDN(,@03)                                    0288 00242000
*   EXOUCB=USERUCB;                 /*                       @Y30LB35*/ 00243000
         L     @01,VSUCBPTR(,@15)                                  0289 00244000
         L     @15,USERUCB(,@01)                                   0289 00245000
         ST    @15,EXOUCB(,@03)                                    0289 00246000
*   IOXPTR=''B;                     /*                       @Y30LB35*/ 00247000
         SLR   @15,@15                                             0290 00248000
         ST    @15,IOXPTR                                          0290 00249000
*   EXOCTLBK=ADDR(IOXPTR);          /*                       @Y30LB35*/ 00250000
         LA    @15,IOXPTR                                          0291 00251000
         ST    @15,EXOCTLBK(,@03)                                  0291 00252000
*   EXONEW=ON;                      /*                       @Y30LB35*/ 00253000
         OI    EXONEW(@03),B'00010000'                             0292 00254000
*   CALL IDCIO050(GDTTBL,OPEN,EXOARG);/*                     @Y30LB35*/ 00255000
         ST    @10,@AL00001                                        0293 00256000
         LA    @15,OPEN                                            0293 00257000
         ST    @15,@AL00001+4                                      0293 00258000
         ST    @03,@AL00001+8                                      0293 00259000
         MVI   @AL00001+8,X'80'                                    0293 00260000
         L     @15,GDTEXP(,@10)                                    0293 00261000
         LA    @01,@AL00001                                        0293 00262000
         BALR  @14,@15                                             0293 00263000
*   RESPECIFY                                                      0294 00264000
*     RTNREG RSTD;                                                 0294 00265000
*   TESTRC=RTNREG;                                                 0295 00266000
         STH   RTNREG,TESTRC                                       0295 00267000
*   RESPECIFY                                                      0296 00268000
*     RTNREG UNRSTD;                /*                       @Y30LB35*/ 00269000
*                                                                  0296 00270000
*   /*****************************************************************/ 00271000
*   /*                                                               */ 00272000
*   /* HERE THE RETURN CODE IS TESTED TO DETERMINE           @Y30LB35*/ 00273000
*   /* IF OPEN FAILED.                                       @Y30LB35*/ 00274000
*   /*                                                               */ 00275000
*   /*****************************************************************/ 00276000
*                                                                  0297 00277000
*   IF TESTRC^=0                    /*                       @Y30LB35*/ 00278000
*     THEN                          /*                       @Y30LB35*/ 00279000
*                                                                  0297 00280000
         LH    @10,TESTRC                                          0297 00281000
         SLR   @03,@03                                             0297 00282000
         CR    @10,@03                                             0297 00283000
         BE    @RF00297                                            0297 00284000
*     /***************************************************************/ 00285000
*     /*                                                             */ 00286000
*     /* IF OPEN FAILED, IT MUST BE DETERMINED               @Y30LB35*/ 00287000
*     /* IF UEXCP RETURNED THE IOCTLBK PTR. THE CLOSE        @Y30LB35*/ 00288000
*     /* MUST BE PERFORMED FOR CLEAN UP.                     @Y30LB35*/ 00289000
*     /*                                                             */ 00290000
*     /***************************************************************/ 00291000
*                                                                  0298 00292000
*     IF IOXPTR^=NULLPTR            /*                       @Y30LB35*/ 00293000
*       THEN                        /*                       @Y30LB35*/ 00294000
         C     @03,IOXPTR                                          0298 00295000
         BE    @RF00298                                            0298 00296000
*       CALL IDCIO050(GDTTBL,CLOSE,IOXPTR);/*                @Y30LB35*/ 00297000
         L     @10,@PC00001                                        0299 00298000
         ST    @10,@AL00001                                        0299 00299000
         LA    @03,CLOSE                                           0299 00300000
         ST    @03,@AL00001+4                                      0299 00301000
         LA    @03,IOXPTR                                          0299 00302000
         ST    @03,@AL00001+8                                      0299 00303000
         MVI   @AL00001+8,X'80'                                    0299 00304000
         L     @15,GDTEXP(,@10)                                    0299 00305000
         LA    @01,@AL00001                                        0299 00306000
         BALR  @14,@15                                             0299 00307000
*                                                                  0300 00308000
*   /*****************************************************************/ 00309000
*   /*                                                               */ 00310000
*   /* CHECK IF THE VTOC IS TO BE REBUILT                    @ZDR2057*/ 00311000
*   /*                                                               */ 00312000
*   /*****************************************************************/ 00313000
*                                                                  0300 00314000
*   IF VSNOVTOC=OFF THEN                                           0300 00315000
@RF00298 DS    0H                                                  0300 00316000
@RF00297 L     @10,@PC00001+8                                      0300 00317000
         TM    VSNOVTOC(@10),B'00100000'                           0300 00318000
         BNZ   @RF00300                                            0300 00319000
*     DO;                           /*                       @ZDR2057*/ 00320000
*                                                                  0301 00321000
*       /*************************************************************/ 00322000
*       /*                                                           */ 00323000
*       /* IF THE OPEN WAS SUCCESSFUL, THE EXPAGL IS         @Y30LB35*/ 00324000
*       /* INITIALIZED AND THE SUB ROUTINE FMTTRK1 IS        @Y30LB35*/ 00325000
*       /* CALLED TO PREPARE TO WRITE THE FIRST TRACK        @Y30LB35*/ 00326000
*       /* IN THE NEW VTOC.                                  @Y30LB35*/ 00327000
*       /*                                                           */ 00328000
*       /*************************************************************/ 00329000
*                                                                  0302 00330000
*       IF TESTRC=0                 /*                       @Y30LB35*/ 00331000
*         THEN                      /*                       @Y30LB35*/ 00332000
         LH    @03,TESTRC                                          0302 00333000
         LTR   @03,@03                                             0302 00334000
         BNZ   @RF00302                                            0302 00335000
*         DO;                       /*                       @Y30LB35*/ 00336000
*           USERIOXP=IOXPTR;        /*                       @Y30LB35*/ 00337000
         L     @03,IOXPTR                                          0304 00338000
         L     @10,VSIOBKPT(,@10)                                  0304 00339000
         ST    @03,USERIOXP(,@10)                                  0304 00340000
*           EXPARG=''B;             /*                       @Y30LB35*/ 00341000
         LA    @10,EXPPARM                                         0305 00342000
         XC    EXPARG(20,@10),EXPARG(@10)                          0305 00343000
*           EXPDATA=ADDR(EXDATA);   /*                       @Y30LB35*/ 00344000
         LA    @15,EXDATA                                          0306 00345000
         ST    @15,EXPDATA(,@10)                                   0306 00346000
*           EXPCTLBK=IOXPTR;        /*                       @Y30LB35*/ 00347000
         ST    @03,EXPCTLBK(,@10)                                  0307 00348000
*           EXPCCHHR=ADDR(CCHH1);   /*                       @Y30LB35*/ 00349000
         LA    @03,CCHH1                                           0308 00350000
         ST    @03,EXPCCHHR(,@10)                                  0308 00351000
*           EXPRECNO=VTOCREC;       /*                       @Y30LB35*/ 00352000
         LH    @10,VTOCREC                                         0309 00353000
         ST    @10,EXPRECNO(,@15)                                  0309 00354000
*           CALL FMTTRK1;           /*                       @Y30LB35*/ 00355000
         BAL   @14,FMTTRK1                                         0310 00356000
*           RESPECIFY                                              0311 00357000
*             RTNREG RSTD;                                         0311 00358000
*           TESTRC=RTNREG;                                         0312 00359000
         STH   RTNREG,TESTRC                                       0312 00360000
*           RESPECIFY                                              0313 00361000
*             RTNREG UNRSTD;        /*                       @Y30LB35*/ 00362000
*                                                                  0313 00363000
*           /*********************************************************/ 00364000
*           /*                                                       */ 00365000
*           /* IF THE FMTTRK1 WAS SUCCESSFUL, THE UEXCP      @Y30LB35*/ 00366000
*           /* IS ISSUED WRITING THE CYLINDER 0 TRACK 1      @Y30LB35*/ 00367000
*           /* OF THE VTOC (1 FMT4, 1 FMT5 & 37 FMT0 DSCBS)  @Y30LB35*/ 00368000
*           /* IT SHOULD BE NOTED THAT CYLINDER 0 TRACK 0    @Y30LB35*/ 00369000
*           /* WILL BE WRITTEN LAST IN THE INIALIZATION.     @Y30LB35*/ 00370000
*           /* THIS IS BEING DONE IN CASE OF AN I/O ERROR    @Y30LB35*/ 00371000
*           /* OR CANCELLATION BEFORE THE PACK HAS BEEN      @Y30LB35*/ 00372000
*           /* FULLY INITALIZED. THE PACK CAN NOT BE         @Y30LB35*/ 00373000
*           /* USED UNTIL THE LABEL RECORD IS WRITTEN        @Y30LB35*/ 00374000
*           /* ONTO CYLINDER 0 TRACK 0 RECORD 3.             @Y30LB35*/ 00375000
*           /* IT SHOULD ALSO BE NOTED THAT ENTIRE TRACKS    @Y30LB35*/ 00376000
*           /* WILL BE WRITTEN DURING THE INITIALIZATION.    @Y30LB35*/ 00377000
*           /*                                                       */ 00378000
*           /*********************************************************/ 00379000
*                                                                  0314 00380000
*           IF TESTRC=0             /*                       @Y30LB35*/ 00381000
*             THEN                  /*                       @Y30LB35*/ 00382000
         LH    @10,TESTRC                                          0314 00383000
         LTR   @10,@10                                             0314 00384000
         BNZ   @RF00314                                            0314 00385000
*             DO;                   /*                       @Y30LB35*/ 00386000
*               CALL IDCIO050(GDTTBL,PUT,EXPARG);/*          @Y30LB35*/ 00387000
         L     @10,@PC00001                                        0316 00388000
         ST    @10,@AL00001                                        0316 00389000
         LA    @03,PUT                                             0316 00390000
         ST    @03,@AL00001+4                                      0316 00391000
         LA    @03,EXPPARM                                         0316 00392000
         ST    @03,@AL00001+8                                      0316 00393000
         MVI   @AL00001+8,X'80'                                    0316 00394000
         L     @15,GDTEXP(,@10)                                    0316 00395000
         LA    @01,@AL00001                                        0316 00396000
         BALR  @14,@15                                             0316 00397000
*               RESPECIFY                                          0317 00398000
*                 RTNREG RSTD;                                     0317 00399000
*               TESTRC=RTNREG;                                     0318 00400000
         STH   RTNREG,TESTRC                                       0318 00401000
*               RESPECIFY                                          0319 00402000
*                 RTNREG UNRSTD;    /*                       @Y30LB35*/ 00403000
*             END;                  /*                       @Y30LB35*/ 00404000
*         END;                      /*                       @Y30LB35   00405000
*                                                            @Y30LB35*/ 00406000
@RF00314 DS    0H                                                  0322 00407000
*                                                                  0322 00408000
*       /*************************************************************/ 00409000
*       /*                                                           */ 00410000
*       /* PROVIDING THAT NO ERRORS HAVE OCCURRED            @Y30LB35*/ 00411000
*       /* THUS FAR, THE REST OF THE VTOC IS INITALIZED.     @Y30LB35*/ 00412000
*       /*                                                           */ 00413000
*       /*************************************************************/ 00414000
*                                                                  0322 00415000
*       IF TESTRC=0                 /*                       @Y30LB35*/ 00416000
*         THEN                      /*                       @Y30LB35*/ 00417000
@RF00302 LH    @10,TESTRC                                          0322 00418000
         LTR   @10,@10                                             0322 00419000
         BNZ   @RF00322                                            0322 00420000
*         DO;                       /*                       @Y30LB35*/ 00421000
*                                                                  0323 00422000
*           /*********************************************************/ 00423000
*           /*                                                       */ 00424000
*           /* PASS THE CCHHR OF CYL 0 TRACK 2 WHICH IS      @Y30LB35*/ 00425000
*           /* THE VOLUME ADDRESS OF THE SECOND VTOC TRACK   @Y30LB35*/ 00426000
*           /*                                                       */ 00427000
*           /*********************************************************/ 00428000
*                                                                  0324 00429000
*           EXPCCHHR=ADDR(CCHHR);   /*                       @Y30LB35*/ 00430000
         LA    @10,EXPPARM                                         0324 00431000
         LA    @03,CCHHR                                           0324 00432000
         ST    @03,EXPCCHHR(,@10)                                  0324 00433000
*           CCHHR=CCHH2;            /*                       @Y30LB35*/ 00434000
*                                                                  0325 00435000
         MVC   CCHHR(5),CCHH2                                      0325 00436000
*           /*********************************************************/ 00437000
*           /*                                                       */ 00438000
*           /* LOOP 39 TIMES TO BUILD THE FMT0 RECORDS       @Y30LB35*/ 00439000
*           /*                                                       */ 00440000
*           /*********************************************************/ 00441000
*                                                                  0326 00442000
*           DO COUNTER=1 TO VTOCREC;/*                       @Y30LB35*/ 00443000
         LA    COUNTER,1                                           0326 00444000
         B     @DE00326                                            0326 00445000
@DL00326 DS    0H                                                  0327 00446000
*             EXPDATAP(COUNTER)=ADDR(DSCBFMT0);/*            @Y30LB35*/ 00447000
         LR    @10,COUNTER                                         0327 00448000
         SLA   @10,3                                               0327 00449000
         LA    @05,EXPPARM                                         0327 00450000
         L     @05,EXPDATA(,@05)                                   0327 00451000
         LA    @03,DSCBFMT0                                        0327 00452000
         LA    @01,0(@10,@05)                                      0327 00453000
         AL    @01,@CF01353                                        0327 00454000
         ST    @03,EXPDATAP-4(,@01)                                0327 00455000
*             EXPKEYLN(COUNTER)=DSCBKYLN;/*                  @Y30LB35*/ 00456000
         LH    @03,DSCBKYLN                                        0328 00457000
         STC   @03,EXPKEYLN-8(@10,@05)                             0328 00458000
*             EXPDATAL(COUNTER)=DSCBDALN;/*                  @Y30LB35*/ 00459000
         LH    @03,DSCBDALN                                        0329 00460000
         STH   @03,EXPDATAL-8(@10,@05)                             0329 00461000
*           END;                    /*                       @Y30LB35*/ 00462000
         AL    COUNTER,@CF00217                                    0330 00463000
@DE00326 CH    COUNTER,VTOCREC                                     0330 00464000
         BNH   @DL00326                                            0330 00465000
*         END;                      /*                       @Y30LB35   00466000
*                                                            @Y30LB35*/ 00467000
*                                                                  0331 00468000
*       /*************************************************************/ 00469000
*       /*                                                           */ 00470000
*       /* PROVIDING MORE THAN ONE TRACK IS REQUESTED        @Y30LB35*/ 00471000
*       /* THE UEXCP MACRO IS ISSUED OVER AND OVER           @Y30LB35*/ 00472000
*       /* UNTIL ALL VTOC TRACKS ARE WRITTEN.                @Y30LB35*/ 00473000
*       /* OF COURSE IF AN ERROR LIKE AN I/O ERROR           @Y30LB35*/ 00474000
*       /* OCCURS AND A BAD RETURN CODE IS RETURNED.         @Y30LB35*/ 00475000
*       /* THE PROCESSING WILL STOP AND TERMINATION          @Y30LB35*/ 00476000
*       /* WILL TAKE PLACE.                                  @Y30LB35*/ 00477000
*       /*                                                           */ 00478000
*       /*************************************************************/ 00479000
*                                                                  0332 00480000
*       IF TESTRC=0&VSVTOCSZ>MINSIZE/*                       @Y30LB35*/ 00481000
*         THEN                      /*                       @Y30LB35*/ 00482000
@RF00322 LH    @10,TESTRC                                          0332 00483000
         LTR   @10,@10                                             0332 00484000
         BNZ   @RF00332                                            0332 00485000
         L     @10,@PC00001+8                                      0332 00486000
         L     @10,VSVTOCSZ(,@10)                                  0332 00487000
         CH    @10,MINSIZE                                         0332 00488000
         BNH   @RF00332                                            0332 00489000
*         DO VTOCNUM=TRACKTWO TO VSVTOCSZ WHILE TESTRC=0;/*  @Y30LB35*/ 00490000
         LH    VTOCNUM,TRACKTWO                                    0333 00491000
         B     @DE00333                                            0333 00492000
@DL00333 LH    @10,TESTRC                                          0333 00493000
         LTR   @10,@10                                             0333 00494000
         BNZ   @DC00333                                            0333 00495000
*           EXPHEAD=''B;            /*                       @Y30LB35*/ 00496000
         LA    @10,EXPPARM                                         0334 00497000
         XC    EXPHEAD(8,@10),EXPHEAD(@10)                         0334 00498000
*           CALL IDCIO050(GDTTBL,PUT,EXPARG);/*              @Y30LB35*/ 00499000
         L     @05,@PC00001                                        0335 00500000
         ST    @05,@AL00001                                        0335 00501000
         LA    @03,PUT                                             0335 00502000
         ST    @03,@AL00001+4                                      0335 00503000
         ST    @10,@AL00001+8                                      0335 00504000
         MVI   @AL00001+8,X'80'                                    0335 00505000
         L     @15,GDTEXP(,@05)                                    0335 00506000
         LA    @01,@AL00001                                        0335 00507000
         BALR  @14,@15                                             0335 00508000
*           RESPECIFY                                              0336 00509000
*             RTNREG RSTD;                                         0336 00510000
*           TESTRC=RTNREG;                                         0337 00511000
         STH   RTNREG,TESTRC                                       0337 00512000
*           RESPECIFY                                              0338 00513000
*             RTNREG UNRSTD;        /*                       @Y30LB35*/ 00514000
*                                                                  0338 00515000
*           /*********************************************************/ 00516000
*           /*                                                       */ 00517000
*           /* HERE THE CCHHR IS ADVANCED AFTER EACH WRITE   @Y30LB35*/ 00518000
*           /* IN PREPARATION OF THE NEXT WRITE.             @Y30LB35*/ 00519000
*           /*                                                       */ 00520000
*           /*********************************************************/ 00521000
*                                                                  0339 00522000
*           IF HH=MAXTRKS           /*                       @ZA05121*/ 00523000
*             THEN                  /*                       @Y30LB35*/ 00524000
         CLC   HH(2),MAXTRKS                                       0339 00525000
         BNE   @RF00339                                            0339 00526000
*             DO;                   /*                       @Y30LB35*/ 00527000
*               HH=ZERO;            /*                       @Y30LB35*/ 00528000
         LH    @10,ZERO                                            0341 00529000
         STH   @10,HH                                              0341 00530000
*               CC=CC+ONE;          /*                       @Y30LB35*/ 00531000
         LH    @10,CC                                              0342 00532000
         AH    @10,ONE                                             0342 00533000
         STH   @10,CC                                              0342 00534000
*             END;                  /*                       @Y30LB35*/ 00535000
*           ELSE                    /*                       @Y30LB35*/ 00536000
*             HH=HH+ONE;            /*                       @Y30LB35*/ 00537000
         B     @RC00339                                            0344 00538000
@RF00339 LH    @10,HH                                              0344 00539000
         AH    @10,ONE                                             0344 00540000
         STH   @10,HH                                              0344 00541000
*         END;                      /*                       @Y30LB35*/ 00542000
@RC00339 AL    VTOCNUM,@CF00217                                    0345 00543000
@DE00333 L     @10,@PC00001+8                                      0345 00544000
         C     VTOCNUM,VSVTOCSZ(,@10)                              0345 00545000
         BNH   @DL00333                                            0345 00546000
@DC00333 DS    0H                                                  0346 00547000
*     END;                          /*                       @ZDR2057*/ 00548000
*                                                                  0346 00549000
*   /*****************************************************************/ 00550000
*   /*                                                               */ 00551000
*   /* REBUILD A VOLUME LABEL                                @ZDR2057*/ 00552000
*   /*                                                               */ 00553000
*   /*****************************************************************/ 00554000
*                                                                  0347 00555000
*   ELSE                                                           0347 00556000
*     USERIOXP=IOXPTR;              /*                       @ZDR2057*/ 00557000
*                                                                  0347 00558000
         B     @RC00300                                            0347 00559000
@RF00300 L     @10,@PC00001+8                                      0347 00560000
         L     @10,VSIOBKPT(,@10)                                  0347 00561000
         L     @03,IOXPTR                                          0347 00562000
         ST    @03,USERIOXP(,@10)                                  0347 00563000
*   /*****************************************************************/ 00564000
*   /*                                                               */ 00565000
*   /* IF EVERYTHING THUS FAR IS OK, THEN PREPAR-            @Y30LB35*/ 00566000
*   /* ATIONS ARE MADE TO WRITE THE LAST TRACK - 0.          @Y30LB35*/ 00567000
*   /*                                                               */ 00568000
*   /*****************************************************************/ 00569000
*                                                                  0348 00570000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 00571000
*     THEN                          /*                       @Y30LB35*/ 00572000
@RC00300 LH    @10,TESTRC                                          0348 00573000
         LTR   @10,@10                                             0348 00574000
         BNZ   @RF00348                                            0348 00575000
*     DO;                           /*                       @Y30LB35*/ 00576000
*                                                                  0349 00577000
*       /*************************************************************/ 00578000
*       /*                                                           */ 00579000
*       /* THE SUB PROC FMTTRK0 BUILDS THE THREE             @Y30LB35*/ 00580000
*       /* RECORDS CONTAINED ON TRACK ZERO                   @Y30LB35*/ 00581000
*       /*                                                           */ 00582000
*       /*************************************************************/ 00583000
*                                                                  0350 00584000
*       CALL FMTTRK0;               /*                       @Y30LB35*/ 00585000
         BAL   @14,FMTTRK0                                         0350 00586000
*       RESPECIFY                                                  0351 00587000
*         RTNREG RSTD;                                             0351 00588000
*       TESTRC=RTNREG;                                             0352 00589000
         STH   RTNREG,TESTRC                                       0352 00590000
*       RESPECIFY                                                  0353 00591000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 00592000
*                                                                  0353 00593000
*       /*************************************************************/ 00594000
*       /*                                                           */ 00595000
*       /* PROVIDED FMTTRK0 WAS SUCCESSFUL, THE LAST         @Y30LB35*/ 00596000
*       /* WILL BE WRITTEN.                                  @Y30LB35*/ 00597000
*       /*                                                           */ 00598000
*       /*************************************************************/ 00599000
*                                                                  0354 00600000
*       IF TESTRC=0                 /*                       @Y30LB35*/ 00601000
*         THEN                      /*                       @Y30LB35*/ 00602000
         LH    @10,TESTRC                                          0354 00603000
         LTR   @10,@10                                             0354 00604000
         BNZ   @RF00354                                            0354 00605000
*         DO;                       /*                       @Y30LB35*/ 00606000
*                                                                  0355 00607000
*           /*********************************************************/ 00608000
*           /*                                                       */ 00609000
*           /* CALL IDCIO05 TO WRITE LAST TRACK.             @Y30LB35*/ 00610000
*           /*                                                       */ 00611000
*           /*********************************************************/ 00612000
*                                                                  0356 00613000
*           CALL IDCIO050(GDTTBL,PUT,EXPARG);/*              @Y30LB35*/ 00614000
         L     @10,@PC00001                                        0356 00615000
         ST    @10,@AL00001                                        0356 00616000
         LA    @03,PUT                                             0356 00617000
         ST    @03,@AL00001+4                                      0356 00618000
         LA    @03,EXPPARM                                         0356 00619000
         ST    @03,@AL00001+8                                      0356 00620000
         MVI   @AL00001+8,X'80'                                    0356 00621000
         L     @15,GDTEXP(,@10)                                    0356 00622000
         LA    @01,@AL00001                                        0356 00623000
         BALR  @14,@15                                             0356 00624000
*           RESPECIFY                                              0357 00625000
*             RTNREG RSTD;                                         0357 00626000
*           TESTRC=RTNREG;                                         0358 00627000
         STH   RTNREG,TESTRC                                       0358 00628000
*           RESPECIFY                                              0359 00629000
*             RTNREG UNRSTD;        /*                       @Y30LB35*/ 00630000
*         END;                      /*                       @Y30LB35*/ 00631000
*     END;                          /*                       @Y30LB35*/ 00632000
*                                                                  0361 00633000
@RF00354 DS    0H                                                  0362 00634000
*   /*****************************************************************/ 00635000
*   /*                                                               */ 00636000
*   /* HERE CONTROL IS RETURNED TO IDCVS02 WITH              @Y30LB35*/ 00637000
*   /* THE RETURN CODE IN REGISTER 15.                       @Y30LB35*/ 00638000
*   /* IT SHOULD BE NOTED THAT THE CLOSE WILL BE             @Y30LB35*/ 00639000
*   /* DONE BY THE CALLER - (IDCCV01).                       @Y30LB35*/ 00640000
*   /*                                                               */ 00641000
*   /*****************************************************************/ 00642000
*                                                                  0362 00643000
*   RETURN CODE(TESTRC);            /*                       @Y30LB35*/ 00644000
@RF00348 LH    @15,TESTRC                                          0362 00645000
         L     @14,@SA00002                                        0362 00646000
         LM    @00,@12,@SA00002+8                                  0362 00647000
         BR    @14                                                 0362 00648000
*   END INITVOLM;                   /*                       @Y30LB35*/ 00649000
*                                                                  0364 00650000
*/********************************************************************/ 00651000
*/*                                                          @Y30LB35*/ 00652000
*/* PROCEDURE NAME - GETLAB                                  @Y30LB35*/ 00653000
*/*                                                          @Y30LB35*/ 00654000
*/* FUNCTION -  OPEN THE VTOC, READ THE LABEL, RETURN        @Y30LB35*/ 00655000
*/*             INFORMATION REQUESTED BY THE CALLER, AND     @Y30LB35*/ 00656000
*/*             CLOSE THE VTOC.                              @Y30LB35*/ 00657000
*/*                                                          @Y30LB35*/ 00658000
*/* INPUT -     VS2AGL (ARGUMENTS PASSED AS INPUT)           @Y30LB35*/ 00659000
*/*                                                          @Y30LB35*/ 00660000
*/* OUTPUT -    USERLAB (THE VOLUME LABEL)                   @Y30LB35*/ 00661000
*/*             USEROWN (THE VOLUME OWNER NAME)              @Y30LB35*/ 00662000
*/*             REGISTER 15 = 0, SUCCESSFUL                  @Y30LB35*/ 00663000
*/*                           4, ERROR DURING USYSINFO CALL  @Y30LB35*/ 00664000
*/*                           4, ERROR DURING URESERV CALL   @Y30LB35*/ 00665000
*/*                           4, ERROR DURING GET (UEXCP)    @Y30LB35*/ 00666000
*/*                           8, SUCCESSFUL BUT CLOSE FAILED @Y30LB35*/ 00667000
*/*                                                          @Y30LB35*/ 00668000
*/********************************************************************/ 00669000
*                                                                  0364 00670000
*                                   /*                       @Y30LB35*/ 00671000
*GETLAB:                                                           0364 00672000
*   PROC;                           /*                       @Y30LB35*/ 00673000
*                                                                  0364 00674000
GETLAB   STM   @14,@12,@SA00003                                    0364 00675000
*   /*****************************************************************/ 00676000
*   /*                                                               */ 00677000
*   /* SET UP TRACE POINT 'VSGL' IN TRACE TABLE              @Y30LB35*/ 00678000
*   /*                                                               */ 00679000
*   /*****************************************************************/ 00680000
*                                                                  0365 00681000
*   OLDERID2=NEWERID2;                                             0365 00682000
         L     @10,@PC00001                                        0365 00683000
         L     @03,GDTTR2(,@10)                                    0365 00684000
         MVC   @TS00001(95),NEWERID2(@03)                          0365 00685000
         MVC   OLDERID2(95,@03),@TS00001                           0365 00686000
*   NEWID2='VSGL';                  /*                       @Y30LB35*/ 00687000
*                                                                  0366 00688000
         MVC   NEWID2(4,@03),@CC01155                              0366 00689000
*   /*****************************************************************/ 00690000
*   /*                                                               */ 00691000
*   /* CLEAR THE UEXCP (OPEN) ARG LIST FOR SET UP            @Y30LB35*/ 00692000
*   /*                                                               */ 00693000
*   /*****************************************************************/ 00694000
*                                                                  0367 00695000
*   EXOARG=''B;                     /*                       @Y30LB35*/ 00696000
*                                                                  0367 00697000
         LA    @03,EXOPARM                                         0367 00698000
         XC    EXOARG(34,@03),EXOARG(@03)                          0367 00699000
*   /*****************************************************************/ 00700000
*   /*                                                               */ 00701000
*   /* PROVIDED THE CALLER HAS PROVIDED RETURN AREA          @Y30LB35*/ 00702000
*   /* FOR THE UCB ADDRESS, THE USYSINFO FUNCTION            @Y30LB35*/ 00703000
*   /* WILL BE UTILIZED TO OBTAIN THE ADDRESS.               @Y30LB35*/ 00704000
*   /*                                                               */ 00705000
*   /*****************************************************************/ 00706000
*                                                                  0368 00707000
*   IF VSUCBPTR^=NULLPTR            /*                       @Y30LB35*/ 00708000
*     THEN                          /*                       @Y30LB35*/ 00709000
         SLR   @03,@03                                             0368 00710000
         L     @15,@PC00001+8                                      0368 00711000
         L     @14,VSUCBPTR(,@15)                                  0368 00712000
         CR    @14,@03                                             0368 00713000
         BE    @RF00368                                            0368 00714000
*     DO;                           /*                       @Y30LB35*/ 00715000
*                                                                  0369 00716000
*       /*************************************************************/ 00717000
*       /*                                                           */ 00718000
*       /* OF COURSE IF THE CALLER ALREADY HAS THE UCB       @Y30LB35*/ 00719000
*       /* POINTER THE USYSINFO WILL NOT BE NEEDED.          @Y30LB35*/ 00720000
*       /*                                                           */ 00721000
*       /*************************************************************/ 00722000
*                                                                  0370 00723000
*       IF USERUCB=NULLPTR          /*                       @Y30LB35*/ 00724000
*         THEN                      /*                       @Y30LB35*/ 00725000
         C     @03,USERUCB(,@14)                                   0370 00726000
         BNE   @RF00370                                            0370 00727000
*         DO;                       /*                       @Y30LB35*/ 00728000
*                                                                  0371 00729000
*           /*********************************************************/ 00730000
*           /*                                                       */ 00731000
*           /* HERE THE USYSINFO WILL BE INVOKED WITH THE    @Y30LB35*/ 00732000
*           /* UNIT REQUEST OPTION.                          @Y30LB35*/ 00733000
*           /*                                                       */ 00734000
*           /*********************************************************/ 00735000
*                                                                  0372 00736000
*           UNITABLP=ADDR(UNITABL); /*                       @Y30LB35*/ 00737000
         LA    @03,RTNUNIT                                         0372 00738000
         ST    @03,UNITABLP                                        0372 00739000
*           UNITABL=''B;            /*                       @Y30LB35*/ 00740000
         XC    UNITABL(11,@03),UNITABL(@03)                        0373 00741000
*           CALL IDCSASI0(GDTTBL,UNIT,UNITABLP,VSDDNAME);          0374 00742000
         ST    @10,@AL00001                                        0374 00743000
         LA    @03,UNIT                                            0374 00744000
         ST    @03,@AL00001+4                                      0374 00745000
         LA    @03,UNITABLP                                        0374 00746000
         ST    @03,@AL00001+8                                      0374 00747000
         LA    @03,VSDDNAME(,@15)                                  0374 00748000
         ST    @03,@AL00001+12                                     0374 00749000
         MVI   @AL00001+12,X'80'                                   0374 00750000
         L     @15,GDTSFO(,@10)                                    0374 00751000
         LA    @01,@AL00001                                        0374 00752000
         BALR  @14,@15                                             0374 00753000
*           RESPECIFY                                              0375 00754000
*             RTNREG RSTD;                                         0375 00755000
*           TESTRC=RTNREG;                                         0376 00756000
         STH   RTNREG,TESTRC                                       0376 00757000
*           RESPECIFY                                              0377 00758000
*             RTNREG UNRSTD;        /*                       @Y30LB35*/ 00759000
*                                                                  0377 00760000
*           /*********************************************************/ 00761000
*           /*                                                       */ 00762000
*           /* MOVE THE UCB ADDRESS INTO THE CALLERS 4 BYTE  @Y30LB35*/ 00763000
*           /* AREA.                                         @Y30LB35*/ 00764000
*           /*                                                       */ 00765000
*           /*********************************************************/ 00766000
*                                                                  0378 00767000
*           USERUCB=UNITUCB;        /*                       @Y30LB35*/ 00768000
         L     @10,@PC00001+8                                      0378 00769000
         L     @10,VSUCBPTR(,@10)                                  0378 00770000
         LA    @03,RTNUNIT                                         0378 00771000
         L     @03,UNITUCB(,@03)                                   0378 00772000
         ST    @03,USERUCB(,@10)                                   0378 00773000
*         END;                      /*                       @Y30LB35*/ 00774000
*                                                                  0379 00775000
*       /*************************************************************/ 00776000
*       /*                                                           */ 00777000
*       /* SET UP ADDRESS INTO UEXCP (OPEN) ARG LIST         @Y30LB35*/ 00778000
*       /*                                                           */ 00779000
*       /*************************************************************/ 00780000
*                                                                  0380 00781000
*       EXOUCB=USERUCB;             /*                       @Y30LB35*/ 00782000
@RF00370 LA    @10,EXOPARM                                         0380 00783000
         L     @03,@PC00001+8                                      0380 00784000
         L     @03,VSUCBPTR(,@03)                                  0380 00785000
         L     @03,USERUCB(,@03)                                   0380 00786000
         ST    @03,EXOUCB(,@10)                                    0380 00787000
*     END;                          /*                       @Y30LB35*/ 00788000
*                                                                  0382 00789000
*   /*****************************************************************/ 00790000
*   /*                                                               */ 00791000
*   /* IF USYSINFO WAS SUCCESSFULLY PERFORMED, THE           @Y30LB35*/ 00792000
*   /* COMPLETION OF UEXCP (OPEN) ARGLIST IS DONE            @Y30LB35*/ 00793000
*   /*                                                               */ 00794000
*   /*****************************************************************/ 00795000
*                                                                  0382 00796000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 00797000
*     THEN                          /*                       @Y30LB35*/ 00798000
@RF00368 LH    @10,TESTRC                                          0382 00799000
         LTR   @10,@10                                             0382 00800000
         BNZ   @RF00382                                            0382 00801000
*     DO;                           /*                       @Y30LB35*/ 00802000
*       IOXPTR=''B;                 /*                       @Y30LB35*/ 00803000
         SLR   @10,@10                                             0384 00804000
         ST    @10,IOXPTR                                          0384 00805000
*       EXODDN=ADDR(VSDDNAME);      /*                       @Y30LB35*/ 00806000
         LA    @10,EXOPARM                                         0385 00807000
         L     @03,@PC00001+8                                      0385 00808000
         LA    @15,VSDDNAME(,@03)                                  0385 00809000
         ST    @15,EXODDN(,@10)                                    0385 00810000
*       EXOCTLBK=ADDR(IOXPTR);      /*                       @Y30LB35*/ 00811000
         LA    @15,IOXPTR                                          0386 00812000
         ST    @15,EXOCTLBK(,@10)                                  0386 00813000
*       EXOLAB=ON;                  /*                       @Y30LB35*/ 00814000
         OI    EXOLAB(@10),B'01000000'                             0387 00815000
*       EXOREAD=ON;                 /*                       @Y30LB35*/ 00816000
*                                                                  0388 00817000
         OI    EXOREAD(@10),B'10000000'                            0388 00818000
*       /*************************************************************/ 00819000
*       /*                                                           */ 00820000
*       /* IF THE CALLER HAS SUPPLIED THE VOL SER,           @Y30LB35*/ 00821000
*       /* IT WILL BE PASSED TO UEXCP TO USE IN AN           @Y30LB35*/ 00822000
*       /* OPEN TYPE=J.                                      @Y30LB35*/ 00823000
*       /*                                                           */ 00824000
*       /*************************************************************/ 00825000
*                                                                  0389 00826000
*       IF VSVOLUME^=NULLVAL        /*                       @Y30LB35*/ 00827000
*         THEN                      /*                       @Y30LB35*/ 00828000
         CLC   VSVOLUME(6,@03),NULLVAL                             0389 00829000
         BE    @RF00389                                            0389 00830000
*         EXOVSN=ADDR(VSVOLUME);    /*                       @Y30LB35*/ 00831000
*                                                                  0390 00832000
         LA    @03,VSVOLUME(,@03)                                  0390 00833000
         ST    @03,EXOVSN(,@10)                                    0390 00834000
*       /*************************************************************/ 00835000
*       /*                                                           */ 00836000
*       /* CALL IDCIO05 TO PERFORM AN OPEN ON THE VTOC.      @Y30LB35*/ 00837000
*       /* IT SHOULD BE NOTED THAT THE MODESET FUNCTION      @Y30LB35*/ 00838000
*       /* WILL BE USED BY IDCIO05 TO MODIFY THE DEB TO      @Y30LB35*/ 00839000
*       /* ALLOW ACCESS TO THE CYL 0 TRACK 0 RECORD 3.       @Y30LB35*/ 00840000
*       /*                                                           */ 00841000
*       /*************************************************************/ 00842000
*                                                                  0391 00843000
*       CALL IDCIO050(GDTTBL,OPEN,EXOARG);/*                 @Y30LB35*/ 00844000
@RF00389 L     @10,@PC00001                                        0391 00845000
         ST    @10,@AL00001                                        0391 00846000
         LA    @03,OPEN                                            0391 00847000
         ST    @03,@AL00001+4                                      0391 00848000
         LA    @03,EXOPARM                                         0391 00849000
         ST    @03,@AL00001+8                                      0391 00850000
         MVI   @AL00001+8,X'80'                                    0391 00851000
         L     @15,GDTEXP(,@10)                                    0391 00852000
         LA    @01,@AL00001                                        0391 00853000
         BALR  @14,@15                                             0391 00854000
*       RESPECIFY                                                  0392 00855000
*         RTNREG RSTD;                                             0392 00856000
*       TESTRC=RTNREG;                                             0393 00857000
         STH   RTNREG,TESTRC                                       0393 00858000
*       RESPECIFY                                                  0394 00859000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 00860000
*     END;                          /*                       @Y30LB35*/ 00861000
*                                                                  0396 00862000
*   /*****************************************************************/ 00863000
*   /*                                                               */ 00864000
*   /* AFTER THE OPEN HAS BEEN PERFORMED, A RESERVE          @Y30LB35*/ 00865000
*   /* CAN NOW BE PERFORMED ALLOWING EXCLUSIVE USE           @Y30LB35*/ 00866000
*   /* OF THE VOLUME PROVIDED THE CALLER HAS                 @Y30LB35*/ 00867000
*   /* REQUESTED IT.                                         @Y30LB35*/ 00868000
*   /*                                                               */ 00869000
*   /*****************************************************************/ 00870000
*                                                                  0396 00871000
*   IF VS2RES=ON&TESTRC=0           /*                       @Y30LB35*/ 00872000
*     THEN                          /*                       @Y30LB35*/ 00873000
@RF00382 L     @10,@PC00001+8                                      0396 00874000
         TM    VS2RES(@10),B'10000000'                             0396 00875000
         BNO   @RF00396                                            0396 00876000
         SLR   @03,@03                                             0396 00877000
         CH    @03,TESTRC                                          0396 00878000
         BNE   @RF00396                                            0396 00879000
*     DO;                           /*                       @Y30LB35*/ 00880000
*                                                                  0397 00881000
*       /*************************************************************/ 00882000
*       /*                                                           */ 00883000
*       /* BECAUSE THE UCB ADDRESS IS REQUIRED TO ISSUE      @Y30LB35*/ 00884000
*       /* URESERVE, PROCESSING CANNOT CONTINUE BECAUSE      @Y30LB35*/ 00885000
*       /* THE CALLER HAS INJECTED A PROGRAMMING ERROR       @Y30LB35*/ 00886000
*       /* BY NOT PROVIDING A FOUR BYTE AREA.                @Y30LB35*/ 00887000
*       /*                                                           */ 00888000
*       /*************************************************************/ 00889000
*                                                                  0398 00890000
*       IF VSUCBPTR=NULLPTR         /*                       @Y30LB35*/ 00891000
*         THEN                      /*                       @Y30LB35*/ 00892000
         C     @03,VSUCBPTR(,@10)                                  0398 00893000
         BNE   @RF00398                                            0398 00894000
*         DO;                                                      0399 00895000
*           RESPECIFY                                              0400 00896000
*            (REG13,                                               0400 00897000
*             REG14,                                               0400 00898000
*             REG15) RSTD;                                         0400 00899000
*           REG15=40;                                              0401 00900000
         LA    REG15,40                                            0401 00901000
*           REG14=GDTABT;                                          0402 00902000
         L     @10,@PC00001                                        0402 00903000
         L     REG14,GDTABT(,@10)                                  0402 00904000
*           REG13=GDTABH;                                          0403 00905000
         L     REG13,GDTABH(,@10)                                  0403 00906000
*           GEN(BR    REG14);                                      0404 00907000
         BR    REG14                                                    00908000
*           RESPECIFY                                              0405 00909000
*            (REG13,                                               0405 00910000
*             REG14,                                               0405 00911000
*             REG15) UNRSTD;                                       0405 00912000
*         END;                      /*                       @Y30LB35*/ 00913000
*                                                                  0406 00914000
*       /*************************************************************/ 00915000
*       /*                                                           */ 00916000
*       /* INITIALIZE URESERVE PARMLIST                      @Y30LB35*/ 00917000
*       /*                                                           */ 00918000
*       /*************************************************************/ 00919000
*                                                                  0407 00920000
*       UCBADDR=USERUCB;            /*                       @Y30LB35*/ 00921000
@RF00398 L     @10,@PC00001+8                                      0407 00922000
         L     @03,VSUCBPTR(,@10)                                  0407 00923000
         L     @03,USERUCB(,@03)                                   0407 00924000
         ST    @03,UCBADDR                                         0407 00925000
*       QNAME=AMSQNAME;             /*                       @Y30LB35*/ 00926000
         MVC   QNAME(8),AMSQNAME                                   0408 00927000
*       RVOLSER=VSVOLUME;           /*                       @Y30LB35*/ 00928000
         MVC   RVOLSER(6),VSVOLUME(@10)                            0409 00929000
*       RLENGTH=LENGTH(RVOLSER)+LENGTH(RQUAL);/*             @ZA13060*/ 00930000
*                                                                  0410 00931000
         MVI   RLENGTH,X'16'                                       0410 00932000
*       /*************************************************************/ 00933000
*       /*                                                           */ 00934000
*       /* DEPENDING ON PHYSICAL 3330 OR NOT THE RNAME       @Y30LB35*/ 00935000
*       /* QUALIFIED .REAL.RESERVE OR .VIRTUAL.RESERVE       @Y30LB35*/ 00936000
*       /*                                                           */ 00937000
*       /*************************************************************/ 00938000
*                                                                  0411 00939000
*       IF VS2REAL=ON               /*                       @Y30LB35*/ 00940000
*         THEN                      /*                       @Y30LB35*/ 00941000
         TM    VS2REAL(@10),B'01000000'                            0411 00942000
         BNO   @RF00411                                            0411 00943000
*         RQUAL=REALQUAL;           /*                       @Y30LB35*/ 00944000
         MVC   RQUAL(16),REALQUAL                                  0412 00945000
*       ELSE                        /*                       @Y30LB35*/ 00946000
*         RQUAL=VIRTQUAL;           /*                       @Y30LB35*/ 00947000
*                                                                  0413 00948000
         B     @RC00411                                            0413 00949000
@RF00411 MVC   RQUAL(16),VIRTQUAL                                  0413 00950000
*       /*************************************************************/ 00951000
*       /*                                                           */ 00952000
*       /* ISSUE THE URESERVE REQUEST AND SET WAIT           @ZA05121*/ 00953000
*       /* OPTION BECAUSE THERE SHOULD NOT BE ANOTHER        @Y30LB35*/ 00954000
*       /* TASK REQUIRING THE RESOURCE.                      @Y30LB35*/ 00955000
*       /*                                                           */ 00956000
*       /*************************************************************/ 00957000
*                                                                  0414 00958000
*       CALL IDCSARV0(GDTTBL,EXCL,WAIT,UCBADDR,QNAME,RNAME);/*     0414 00959000
*                                                            @ZA05121*/ 00960000
@RC00411 L     @10,@PC00001                                        0414 00961000
         ST    @10,@AL00001                                        0414 00962000
         LA    @03,EXCL                                            0414 00963000
         ST    @03,@AL00001+4                                      0414 00964000
         LA    @03,WAIT                                            0414 00965000
         ST    @03,@AL00001+8                                      0414 00966000
         LA    @03,UCBADDR                                         0414 00967000
         ST    @03,@AL00001+12                                     0414 00968000
         LA    @03,QNAME                                           0414 00969000
         ST    @03,@AL00001+16                                     0414 00970000
         LA    @03,RNAME                                           0414 00971000
         ST    @03,@AL00001+20                                     0414 00972000
         MVI   @AL00001+20,X'80'                                   0414 00973000
         L     @15,GDTRSV(,@10)                                    0414 00974000
         LA    @01,@AL00001                                        0414 00975000
         BALR  @14,@15                                             0414 00976000
*       RESPECIFY                                                  0415 00977000
*         RTNREG RSTD;                                             0415 00978000
*       TESTRC=RTNREG;                                             0416 00979000
         STH   RTNREG,TESTRC                                       0416 00980000
*       RESPECIFY                                                  0417 00981000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 00982000
*     END;                          /*                       @Y30LB35*/ 00983000
*                                                                  0418 00984000
*   /*****************************************************************/ 00985000
*   /*                                                               */ 00986000
*   /* NOW ALL PREPARATIONS HAVE BEEN MADE, THE GET          @Y30LB35*/ 00987000
*   /* CAN BE REQUESTED OF IDCIO05 VIA UEXCP MACRO.          @Y30LB35*/ 00988000
*   /* THE RETURN CODE MAY NOT BE ZERO IF OPEN,              @Y30LB35*/ 00989000
*   /* USYSINFO, OR URESERVE WAS UNSUCCESSFUL.               @Y30LB35*/ 00990000
*   /*                                                               */ 00991000
*   /*****************************************************************/ 00992000
*                                                                  0419 00993000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 00994000
*     THEN                          /*                       @Y30LB35*/ 00995000
@RF00396 LH    @10,TESTRC                                          0419 00996000
         LTR   @10,@10                                             0419 00997000
         BNZ   @RF00419                                            0419 00998000
*     DO;                           /*                       @Y30LB35*/ 00999000
*                                                                  0420 01000000
*       /*************************************************************/ 01001000
*       /*                                                           */ 01002000
*       /* INITIALIZE THE UEXCP (GET) PARMS (EXGARG)         @Y30LB35*/ 01003000
*       /* TO READ KEY AND DATA OF CYL 0 TRK 0 RECORD 3      @Y30LB35*/ 01004000
*       /* WHICH IS THE VOLUME LABEL RECORD                  @Y30LB35*/ 01005000
*       /*                                                           */ 01006000
*       /*************************************************************/ 01007000
*                                                                  0421 01008000
*       EXGARG=''B;                 /*                       @Y30LB35*/ 01009000
         LA    @10,EXGPARM                                         0421 01010000
         XC    EXGARG(32,@10),EXGARG(@10)                          0421 01011000
*       EXGCTLBK=IOXPTR;            /*                       @Y30LB35*/ 01012000
         L     @03,IOXPTR                                          0422 01013000
         ST    @03,EXGCTLBK(,@10)                                  0422 01014000
*       EXGCCHH2=ADDR(VOLCCHHR);    /*                       @Y30LB35*/ 01015000
         LA    @03,VOLCCHHR                                        0423 01016000
         ST    @03,EXGCCHH2(,@10)                                  0423 01017000
*       EXGRECNO=ONE;               /*                       @Y30LB35*/ 01018000
         LH    @03,ONE                                             0424 01019000
         ST    @03,EXGRECNO(,@10)                                  0424 01020000
*       EXGDATAP=ADDR(VOLLABEL);    /*                       @Y30LB35*/ 01021000
         LA    @03,LABELREC                                        0425 01022000
         ST    @03,EXGDATAP(,@10)                                  0425 01023000
*       EXGKEYLN=LENGTH(VOLKEY);    /*                       @Y30LB35*/ 01024000
         MVI   EXGKEYLN(@10),X'04'                                 0426 01025000
*       EXGDATAL=LENGTH(VOLLABEL)-LENGTH(VOLKEY);                  0427 01026000
*                                                                  0427 01027000
         MVC   EXGDATAL(2,@10),@CH01346                            0427 01028000
*       /*************************************************************/ 01029000
*       /*                                                           */ 01030000
*       /* CALL IDCIO05 TO READ LABEL RECORD                 @Y30LB35*/ 01031000
*       /*                                                           */ 01032000
*       /*************************************************************/ 01033000
*                                                                  0428 01034000
*       CALL IDCIO050(GDTTBL,GET,EXGARG);/*                  @Y30LB35*/ 01035000
         L     @03,@PC00001                                        0428 01036000
         ST    @03,@AL00001                                        0428 01037000
         LA    @15,GET                                             0428 01038000
         ST    @15,@AL00001+4                                      0428 01039000
         ST    @10,@AL00001+8                                      0428 01040000
         MVI   @AL00001+8,X'80'                                    0428 01041000
         L     @15,GDTEXP(,@03)                                    0428 01042000
         LA    @01,@AL00001                                        0428 01043000
         BALR  @14,@15                                             0428 01044000
*       RESPECIFY                                                  0429 01045000
*         RTNREG RSTD;                                             0429 01046000
*       TESTRC=RTNREG;                                             0430 01047000
         STH   RTNREG,TESTRC                                       0430 01048000
*       RESPECIFY                                                  0431 01049000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01050000
*     END;                          /*                       @Y30LB35*/ 01051000
*                                                                  0433 01052000
*   /*****************************************************************/ 01053000
*   /*                                                               */ 01054000
*   /* PROVIDED THE READ OF THE VOLUME RECORD WAS            @Y30LB35*/ 01055000
*   /* SUCCESSFUL, THE REQUESTED FIELDS CAN NOW              @Y30LB35*/ 01056000
*   /* BE RETURNED TO THE CALLER.                            @Y30LB35*/ 01057000
*   /*                                                               */ 01058000
*   /*****************************************************************/ 01059000
*                                                                  0433 01060000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 01061000
*     THEN                          /*                       @Y30LB35*/ 01062000
@RF00419 LH    @10,TESTRC                                          0433 01063000
         LTR   @10,@10                                             0433 01064000
         BNZ   @RF00433                                            0433 01065000
*     DO;                           /*                       @Y30LB35*/ 01066000
*                                                                  0434 01067000
*       /*************************************************************/ 01068000
*       /*                                                           */ 01069000
*       /* IF THE CALLER DESIRED THE 6 BYTE LABEL,           @Y30LB35*/ 01070000
*       /* IT IS COPIED INTO CALLER'S CORE WHICH WAS         @Y30LB35*/ 01071000
*       /* POINTED TO BY VSVOLPTR INPUT FIELD.               @Y30LB35*/ 01072000
*       /*                                                           */ 01073000
*       /*************************************************************/ 01074000
*                                                                  0435 01075000
*       IF VSVOLSER=ON              /*                       @Y30LB35*/ 01076000
*         THEN                      /*                       @Y30LB35*/ 01077000
         L     @10,@PC00001+8                                      0435 01078000
         TM    VSVOLSER(@10),B'01000000'                           0435 01079000
         BNO   @RF00435                                            0435 01080000
*         USERLAB=VOLSERNO;         /*                       @Y30LB35*/ 01081000
*                                                                  0436 01082000
         L     @10,VSVOLPTR(,@10)                                  0436 01083000
         LA    @03,LABELREC                                        0436 01084000
         MVC   USERLAB(6,@10),VOLSERNO(@03)                        0436 01085000
*       /*************************************************************/ 01086000
*       /*                                                           */ 01087000
*       /* IF THE CALLER DESIRED THE 10 BYTE OWNER,          @Y30LB35*/ 01088000
*       /* IT IS COPIED INTO CALLER'S CORE WHICH WAS         @Y30LB35*/ 01089000
*       /* POINTED TO BY VSOWNPTR INPUT FIELD.               @Y30LB35*/ 01090000
*       /*                                                           */ 01091000
*       /*************************************************************/ 01092000
*                                                                  0437 01093000
*       IF VSOWNER=ON               /*                       @Y30LB35*/ 01094000
*         THEN                      /*                       @Y30LB35*/ 01095000
@RF00435 L     @10,@PC00001+8                                      0437 01096000
         TM    VSOWNER(@10),B'10000000'                            0437 01097000
         BNO   @RF00437                                            0437 01098000
*         USEROWN=VOLOWNER;         /*                       @Y30LB35*/ 01099000
         L     @10,VSOWNPTR(,@10)                                  0438 01100000
         LA    @03,LABELREC                                        0438 01101000
         MVC   USEROWN(10,@10),VOLOWNER(@03)                       0438 01102000
*     END;                          /*                       @Y30LB35*/ 01103000
@RF00437 DS    0H                                                  0440 01104000
*                                                                  0440 01105000
*   /*****************************************************************/ 01106000
*   /*                                                               */ 01107000
*   /* NOW CLEAN UP BEGINS. THE IOCTLBK POINTER              @Y30LB35*/ 01108000
*   /* FIELD IS TESTED TO DETERMINE WHETHER THE              @Y30LB35*/ 01109000
*   /* UEXCP (CLOSE) REQUEST IS NEEDED.                      @Y30LB35*/ 01110000
*   /*                                                               */ 01111000
*   /*****************************************************************/ 01112000
*                                                                  0440 01113000
*   IF IOXPTR^=NULLPTR              /*                       @Y30LB35*/ 01114000
*     THEN                          /*                       @Y30LB35*/ 01115000
@RF00433 L     @10,IOXPTR                                          0440 01116000
         LTR   @10,@10                                             0440 01117000
         BZ    @RF00440                                            0440 01118000
*     DO;                           /*                       @Y30LB35*/ 01119000
*       RESPECIFY                                                  0442 01120000
*         RTNREG RSTD;              /*                       @Y30LB35*/ 01121000
*                                                                  0442 01122000
*       /*************************************************************/ 01123000
*       /*                                                           */ 01124000
*       /* THE ONLY PARMETER REQUIRED IS THE IOCTLBK         @Y30LB35*/ 01125000
*       /* POINTER AS ALL NECESSARY INFORMATION NEEDED       @Y30LB35*/ 01126000
*       /* TO PERFORM THE CLOSE IS IN THE IOCTLBK.           @Y30LB35*/ 01127000
*       /*                                                           */ 01128000
*       /*************************************************************/ 01129000
*                                                                  0443 01130000
*       CALL IDCIO050(GDTTBL,CLOSE,IOXPTR);/*                @Y30LB35*/ 01131000
*                                                                  0443 01132000
         L     @14,@PC00001                                        0443 01133000
         ST    @14,@AL00001                                        0443 01134000
         LA    @10,CLOSE                                           0443 01135000
         ST    @10,@AL00001+4                                      0443 01136000
         LA    @10,IOXPTR                                          0443 01137000
         ST    @10,@AL00001+8                                      0443 01138000
         MVI   @AL00001+8,X'80'                                    0443 01139000
         L     @15,GDTEXP(,@14)                                    0443 01140000
         LA    @01,@AL00001                                        0443 01141000
         BALR  @14,@15                                             0443 01142000
*       /*************************************************************/ 01143000
*       /*                                                           */ 01144000
*       /* AT THIS POINT THE DETERMINATION IS MADE AS        @Y30LB35*/ 01145000
*       /* TO WHAT RETURN CODE IS IN ORDER.                  @Y30LB35*/ 01146000
*       /* IF THE SAVED RETURN CODE THAT HAD BEEN SAVED      @Y30LB35*/ 01147000
*       /* BEFORE THE CLOSE IS NON-ZERO THEN THE RCFAIL      @Y30LB35*/ 01148000
*       /* IS RETURNED BECAUSE THIS MEANS FOR SOME           @Y30LB35*/ 01149000
*       /* REASON THE REQUESTED INFORMATION CAN NOT BE       @Y30LB35*/ 01150000
*       /* OBTAINED FOR CALLER. IF THE RETURN CODE IS        @Y30LB35*/ 01151000
*       /* ZERO BUT RETURN CODE FROM UEXCP (CLOSE) IS        @Y30LB35*/ 01152000
*       /* NOT ZERO THE ERROR CODE CLOSEBAD(8) BECAUSE       @Y30LB35*/ 01153000
*       /* THE REQUESTED INFORMATION IS BEING RETURNED       @Y30LB35*/ 01154000
*       /* BUT THERE WAS A PROBLEM ENCOUNTED DURING          @Y30LB35*/ 01155000
*       /* CLOSE. IF BOTH ARE ZERO THEN RCOK (0) IS          @Y30LB35*/ 01156000
*       /* RETURNED.                                         @Y30LB35*/ 01157000
*       /*                                                           */ 01158000
*       /*************************************************************/ 01159000
*                                                                  0444 01160000
*       IF TESTRC^=0                /*                       @Y30LB35*/ 01161000
*         THEN                                                     0444 01162000
         LH    @14,TESTRC                                          0444 01163000
         LTR   @14,@14                                             0444 01164000
         BZ    @RF00444                                            0444 01165000
*         TESTRC=4;                 /*                       @Y30LB35*/ 01166000
         MVC   TESTRC(2),@CH00041                                  0445 01167000
*       ELSE                        /*                       @Y30LB35*/ 01168000
*         IF RTNREG^=0              /*                       @Y30LB35*/ 01169000
*           THEN                    /*                       @Y30LB35*/ 01170000
         B     @RC00444                                            0446 01171000
@RF00444 LTR   RTNREG,RTNREG                                       0446 01172000
         BZ    @RF00446                                            0446 01173000
*           TESTRC=CLOSEBAD;        /*                       @Y30LB35*/ 01174000
         LH    @14,CLOSEBAD                                        0447 01175000
         STH   @14,TESTRC                                          0447 01176000
*         ELSE                                                     0448 01177000
*           TESTRC=0;               /*                       @Y30LB35*/ 01178000
         B     @RC00446                                            0448 01179000
@RF00446 SLR   @14,@14                                             0448 01180000
         STH   @14,TESTRC                                          0448 01181000
*       RESPECIFY                                                  0449 01182000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01183000
@RC00446 DS    0H                                                  0449 01184000
@RC00444 DS    0H                                                  0450 01185000
*     END;                          /*                       @Y30LB35   01186000
*                                                            @Y30LB35*/ 01187000
*                                                                  0450 01188000
*   /*****************************************************************/ 01189000
*   /*                                                               */ 01190000
*   /* IF THE IOCTLBK POINTER IS NULL THERE IS               @Y30LB35*/ 01191000
*   /* NO WAY THE INFORMATION CAN BE RETURNED AND            @Y30LB35*/ 01192000
*   /* ERROR CODE RCFAIL (4) IS RETURNED.                    @Y30LB35*/ 01193000
*   /*                                                               */ 01194000
*   /*****************************************************************/ 01195000
*                                                                  0451 01196000
*   ELSE                                                           0451 01197000
*     TESTRC=4;                     /*                       @Y30LB35*/ 01198000
         B     @RC00440                                            0451 01199000
@RF00440 MVC   TESTRC(2),@CH00041                                  0451 01200000
*   RETURN CODE(TESTRC);            /*                       @Y30LB35*/ 01201000
@RC00440 LH    @15,TESTRC                                          0452 01202000
         L     @14,@SA00003                                        0452 01203000
         LM    @00,@12,@SA00003+8                                  0452 01204000
         BR    @14                                                 0452 01205000
*   END GETLAB;                     /*                       @Y30LB35*/ 01206000
*                                                                  0454 01207000
*/********************************************************************/ 01208000
*/*                                                          @Y30LB35*/ 01209000
*/* PROCEDURE NAME - PUTLAB                                  @Y30LB35*/ 01210000
*/*                                                          @Y30LB35*/ 01211000
*/* FUNCTION -  OPEN THE VTOC, READ THE LABEL, UPDATE THE    @Y30LB35*/ 01212000
*/*             LABEL WITH INFORMATION SUPPLIED BY CALLER    @Y30LB35*/ 01213000
*/*             AND CLOSE THE VTOC.                          @Y30LB35*/ 01214000
*/*                                                          @Y30LB35*/ 01215000
*/*             IDC3070I ISSUED IF UNABLE TO UPDATE LABEL    @Y30LB35*/ 01216000
*/*                                                          @Y30LB35*/ 01217000
*/* INPUT -     VS2AGL (ARGUMENTS PASSED AS INPUT)           @Y30LB35*/ 01218000
*/*                                                          @Y30LB35*/ 01219000
*/* OUTPUT -    REGISTER 15 = 0, SUCCESSFUL                  @Y30LB35*/ 01220000
*/*                           4, ERROR DURING USYSINFO CALL  @Y30LB35*/ 01221000
*/*                           4, ERROR DURING URESERV CALL   @Y30LB35*/ 01222000
*/*                           4, ERROR DURING GET (UEXCP)    @Y30LB35*/ 01223000
*/*                           4, ERROR DURING PUT (UEXCP)    @Y30LB35*/ 01224000
*/*                           8, SUCCESSFUL BUT CLOSE FAILED @Y30LB35*/ 01225000
*/*                                                          @Y30LB35*/ 01226000
*/********************************************************************/ 01227000
*                                                                  0454 01228000
*                                   /*                       @Y30LB35*/ 01229000
*PUTLAB:                                                           0454 01230000
*   PROC;                           /*                       @Y30LB35*/ 01231000
*                                                                  0454 01232000
PUTLAB   STM   @14,@12,@SA00004                                    0454 01233000
*   /*****************************************************************/ 01234000
*   /*                                                               */ 01235000
*   /* SET UP TRACE POINT 'VSPL' IN TRACE TABLE              @Y30LB35*/ 01236000
*   /*                                                               */ 01237000
*   /*****************************************************************/ 01238000
*                                                                  0455 01239000
*   OLDERID2=NEWERID2;                                             0455 01240000
         L     @10,@PC00001                                        0455 01241000
         L     @03,GDTTR2(,@10)                                    0455 01242000
         MVC   @TS00001(95),NEWERID2(@03)                          0455 01243000
         MVC   OLDERID2(95,@03),@TS00001                           0455 01244000
*   NEWID2='VSPL';                  /*                       @Y30LB35*/ 01245000
*                                                                  0456 01246000
         MVC   NEWID2(4,@03),@CC01159                              0456 01247000
*   /*****************************************************************/ 01248000
*   /*                                                               */ 01249000
*   /* CLEAR THE UEXCP (OPEN) ARG LIST FOR SET UP            @Y30LB35*/ 01250000
*   /*                                                               */ 01251000
*   /*****************************************************************/ 01252000
*                                                                  0457 01253000
*   EXOARG=''B;                     /*                       @Y30LB35*/ 01254000
*                                                                  0457 01255000
         LA    @03,EXOPARM                                         0457 01256000
         XC    EXOARG(34,@03),EXOARG(@03)                          0457 01257000
*   /*****************************************************************/ 01258000
*   /*                                                               */ 01259000
*   /* MAKE SURE CALLER HAS PROVIDED THE FOUR                @Y30LB35*/ 01260000
*   /* BYTE AREA FOR THE UCB ADDRESS.                        @Y30LB35*/ 01261000
*   /*                                                               */ 01262000
*   /*****************************************************************/ 01263000
*                                                                  0458 01264000
*   IF VSUCBPTR^=NULLPTR            /*                       @Y30LB35*/ 01265000
*     THEN                          /*                       @Y30LB35*/ 01266000
         SLR   @03,@03                                             0458 01267000
         L     @15,@PC00001+8                                      0458 01268000
         L     @14,VSUCBPTR(,@15)                                  0458 01269000
         CR    @14,@03                                             0458 01270000
         BE    @RF00458                                            0458 01271000
*     DO;                           /*                       @Y30LB35*/ 01272000
*                                                                  0459 01273000
*       /*************************************************************/ 01274000
*       /*                                                           */ 01275000
*       /* OF COURSE IF THE CALLER ALREADY HAS THE UCB       @Y30LB35*/ 01276000
*       /* POINTER THE USYSINFO WILL NOT BE NEEDED.          @Y30LB35*/ 01277000
*       /*                                                           */ 01278000
*       /*************************************************************/ 01279000
*                                                                  0460 01280000
*       IF USERUCB=NULLPTR          /*                       @Y30LB35*/ 01281000
*         THEN                      /*                       @Y30LB35*/ 01282000
         C     @03,USERUCB(,@14)                                   0460 01283000
         BNE   @RF00460                                            0460 01284000
*         DO;                       /*                       @Y30LB35*/ 01285000
*                                                                  0461 01286000
*           /*********************************************************/ 01287000
*           /*                                                       */ 01288000
*           /* HERE THE USYSINFO WILL BE INVOKED WITH THE    @Y30LB35*/ 01289000
*           /* UNIT REQUEST OPTION.                          @Y30LB35*/ 01290000
*           /*                                                       */ 01291000
*           /*********************************************************/ 01292000
*                                                                  0462 01293000
*           UNITABLP=ADDR(UNITABL); /*                       @Y30LB35*/ 01294000
         LA    @03,RTNUNIT                                         0462 01295000
         ST    @03,UNITABLP                                        0462 01296000
*           UNITABL=''B;            /*                       @Y30LB35*/ 01297000
*                                                                  0463 01298000
         XC    UNITABL(11,@03),UNITABL(@03)                        0463 01299000
*           /*********************************************************/ 01300000
*           /*                                                       */ 01301000
*           /* CALL IDCSASI FOR UCB ADDRESS                  @Y30LB35*/ 01302000
*           /*                                                       */ 01303000
*           /*********************************************************/ 01304000
*                                                                  0464 01305000
*           CALL IDCSASI0(GDTTBL,UNIT,UNITABLP,VSDDNAME);          0464 01306000
         ST    @10,@AL00001                                        0464 01307000
         LA    @03,UNIT                                            0464 01308000
         ST    @03,@AL00001+4                                      0464 01309000
         LA    @03,UNITABLP                                        0464 01310000
         ST    @03,@AL00001+8                                      0464 01311000
         LA    @03,VSDDNAME(,@15)                                  0464 01312000
         ST    @03,@AL00001+12                                     0464 01313000
         MVI   @AL00001+12,X'80'                                   0464 01314000
         L     @15,GDTSFO(,@10)                                    0464 01315000
         LA    @01,@AL00001                                        0464 01316000
         BALR  @14,@15                                             0464 01317000
*           RESPECIFY                                              0465 01318000
*             RTNREG RSTD;                                         0465 01319000
*           TESTRC=RTNREG;                                         0466 01320000
         STH   RTNREG,TESTRC                                       0466 01321000
*           RESPECIFY                                              0467 01322000
*             RTNREG UNRSTD;        /*                       @Y30LB35*/ 01323000
*                                                                  0467 01324000
*           /*********************************************************/ 01325000
*           /*                                                       */ 01326000
*           /* MOVE THE UCB ADDRESS INTO THE CALLERS 4 BYTE  @Y30LB35*/ 01327000
*           /* AREA.                                         @Y30LB35*/ 01328000
*           /*                                                       */ 01329000
*           /*********************************************************/ 01330000
*                                                                  0468 01331000
*           USERUCB=UNITUCB;        /*                       @Y30LB35*/ 01332000
         L     @10,@PC00001+8                                      0468 01333000
         L     @10,VSUCBPTR(,@10)                                  0468 01334000
         LA    @03,RTNUNIT                                         0468 01335000
         L     @03,UNITUCB(,@03)                                   0468 01336000
         ST    @03,USERUCB(,@10)                                   0468 01337000
*         END;                      /*                       @Y30LB35*/ 01338000
*                                                                  0469 01339000
*       /*************************************************************/ 01340000
*       /*                                                           */ 01341000
*       /* SET UP ADDRESS INTO UEXCP (OPEN) ARG LIST         @Y30LB35*/ 01342000
*       /*                                                           */ 01343000
*       /*************************************************************/ 01344000
*                                                                  0470 01345000
*       EXOUCB=USERUCB;             /*                       @Y30LB35*/ 01346000
@RF00460 LA    @10,EXOPARM                                         0470 01347000
         L     @03,@PC00001+8                                      0470 01348000
         L     @03,VSUCBPTR(,@03)                                  0470 01349000
         L     @03,USERUCB(,@03)                                   0470 01350000
         ST    @03,EXOUCB(,@10)                                    0470 01351000
*     END;                          /*                       @Y30LB35*/ 01352000
*                                                                  0471 01353000
*   /*****************************************************************/ 01354000
*   /*                                                               */ 01355000
*   /* IF USYSINFO WAS SUCCESSFULLY PERFORMED, THE           @Y30LB35*/ 01356000
*   /* COMPLETION OF UEXCP (OPEN) ARGLIST IS DONE            @Y30LB35*/ 01357000
*   /*                                                               */ 01358000
*   /*****************************************************************/ 01359000
*                                                                  0472 01360000
*                                   /*                       @Y30LB35*/ 01361000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 01362000
*     THEN                          /*                       @Y30LB35*/ 01363000
@RF00458 LH    @10,TESTRC                                          0472 01364000
         LTR   @10,@10                                             0472 01365000
         BNZ   @RF00472                                            0472 01366000
*     DO;                           /*                       @Y30LB35*/ 01367000
*       IOXPTR=''B;                 /*                       @Y30LB35*/ 01368000
         SLR   @10,@10                                             0474 01369000
         ST    @10,IOXPTR                                          0474 01370000
*       EXODDN=ADDR(VSDDNAME);      /*                       @Y30LB35*/ 01371000
         LA    @10,EXOPARM                                         0475 01372000
         L     @03,@PC00001+8                                      0475 01373000
         LA    @15,VSDDNAME(,@03)                                  0475 01374000
         ST    @15,EXODDN(,@10)                                    0475 01375000
*       EXOCTLBK=ADDR(IOXPTR);      /*                       @Y30LB35*/ 01376000
         LA    @15,IOXPTR                                          0476 01377000
         ST    @15,EXOCTLBK(,@10)                                  0476 01378000
*       EXOLAB=ON;                  /*                       @Y30LB35*/ 01379000
*                                                                  0477 01380000
         OI    EXOLAB(@10),B'01000000'                             0477 01381000
*       /*************************************************************/ 01382000
*       /*                                                           */ 01383000
*       /* IF THE CALLER HAS SUPPLIED THE VOL SER,           @Y30LB35*/ 01384000
*       /* IT WILL BE PASSED TO UEXCP TO USE IN AN           @Y30LB35*/ 01385000
*       /* OPEN TYPE=J.                                      @Y30LB35*/ 01386000
*       /*                                                           */ 01387000
*       /*************************************************************/ 01388000
*                                                                  0478 01389000
*       IF VSVOLUME^=NULLVAL        /*                       @Y30LB35*/ 01390000
*         THEN                      /*                       @Y30LB35*/ 01391000
         CLC   VSVOLUME(6,@03),NULLVAL                             0478 01392000
         BE    @RF00478                                            0478 01393000
*         EXOVSN=ADDR(VSVOLUME);    /*                       @Y30LB35*/ 01394000
*                                                                  0479 01395000
         LA    @03,VSVOLUME(,@03)                                  0479 01396000
         ST    @03,EXOVSN(,@10)                                    0479 01397000
*       /*************************************************************/ 01398000
*       /*                                                           */ 01399000
*       /* CALL IDCIO05 TO PERFORM AN OPEN ON THE VTOC.      @Y30LB35*/ 01400000
*       /* IT SHOULD BE NOTED THAT THE MODESET FUNCTION      @Y30LB35*/ 01401000
*       /* WILL BE USED BY IDCIO05 TO MODIFY THE DEB TO      @Y30LB35*/ 01402000
*       /* ALLOW ACCESS TO THE CYL 0 TRACK 0 RECORD 3.       @Y30LB35*/ 01403000
*       /*                                                           */ 01404000
*       /*************************************************************/ 01405000
*                                                                  0480 01406000
*       CALL IDCIO050(GDTTBL,OPEN,EXOARG);/*                 @Y30LB35*/ 01407000
@RF00478 L     @10,@PC00001                                        0480 01408000
         ST    @10,@AL00001                                        0480 01409000
         LA    @03,OPEN                                            0480 01410000
         ST    @03,@AL00001+4                                      0480 01411000
         LA    @03,EXOPARM                                         0480 01412000
         ST    @03,@AL00001+8                                      0480 01413000
         MVI   @AL00001+8,X'80'                                    0480 01414000
         L     @15,GDTEXP(,@10)                                    0480 01415000
         LA    @01,@AL00001                                        0480 01416000
         BALR  @14,@15                                             0480 01417000
*       RESPECIFY                                                  0481 01418000
*         RTNREG RSTD;                                             0481 01419000
*       TESTRC=RTNREG;                                             0482 01420000
         STH   RTNREG,TESTRC                                       0482 01421000
*       RESPECIFY                                                  0483 01422000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01423000
*     END;                          /*                       @Y30LB35   01424000
*                                                            @Y30LB35*/ 01425000
*                                                                  0484 01426000
*   /*****************************************************************/ 01427000
*   /*                                                               */ 01428000
*   /* AFTER THE OPEN HAS BEEN PERFORMED, A RESERVE          @Y30LB35*/ 01429000
*   /* CAN NOW BE PERFORMED ALLOWING EXCLUSIVE USE           @Y30LB35*/ 01430000
*   /* OF THE VOLUME PROVIDED THE CALLER HAS                 @Y30LB35*/ 01431000
*   /* REQUESTED IT.                                         @Y30LB35*/ 01432000
*   /*                                                               */ 01433000
*   /*****************************************************************/ 01434000
*                                                                  0485 01435000
*   IF VS2RES=ON&TESTRC=0           /*                       @Y30LB35*/ 01436000
*     THEN                          /*                       @Y30LB35*/ 01437000
@RF00472 L     @10,@PC00001+8                                      0485 01438000
         TM    VS2RES(@10),B'10000000'                             0485 01439000
         BNO   @RF00485                                            0485 01440000
         SLR   @03,@03                                             0485 01441000
         CH    @03,TESTRC                                          0485 01442000
         BNE   @RF00485                                            0485 01443000
*     DO;                           /*                       @Y30LB35*/ 01444000
*                                                                  0486 01445000
*       /*************************************************************/ 01446000
*       /*                                                           */ 01447000
*       /* BECAUSE THE UCB ADDRESS IS REQUIRED TO ISSUE      @Y30LB35*/ 01448000
*       /* URESERVE, PROCESSING CANNOT CONTINUE BECAUSE      @Y30LB35*/ 01449000
*       /* CALLER HAS INJECTED A PROGRAMMING ERROR BY        @Y30LB35*/ 01450000
*       /* NOT PROVIDING FOUR BYTE AREA FOR THE RETURN       @Y30LB35*/ 01451000
*       /* OF THE UCB POINTER.                               @Y30LB35*/ 01452000
*       /*                                                           */ 01453000
*       /*************************************************************/ 01454000
*                                                                  0487 01455000
*       IF VSUCBPTR=NULLPTR         /*                       @Y30LB35*/ 01456000
*         THEN                      /*                       @Y30LB35*/ 01457000
         C     @03,VSUCBPTR(,@10)                                  0487 01458000
         BNE   @RF00487                                            0487 01459000
*         DO;                                                      0488 01460000
*           RESPECIFY                                              0489 01461000
*            (REG13,                                               0489 01462000
*             REG14,                                               0489 01463000
*             REG15) RSTD;                                         0489 01464000
*           REG15=40;                                              0490 01465000
         LA    REG15,40                                            0490 01466000
*           REG14=GDTABT;                                          0491 01467000
         L     @10,@PC00001                                        0491 01468000
         L     REG14,GDTABT(,@10)                                  0491 01469000
*           REG13=GDTABH;                                          0492 01470000
         L     REG13,GDTABH(,@10)                                  0492 01471000
*           GEN(BR    REG14);                                      0493 01472000
         BR    REG14                                                    01473000
*           RESPECIFY                                              0494 01474000
*            (REG13,                                               0494 01475000
*             REG14,                                               0494 01476000
*             REG15) UNRSTD;                                       0494 01477000
*         END;                      /*                       @Y30LB35*/ 01478000
*                                                                  0495 01479000
*       /*************************************************************/ 01480000
*       /*                                                           */ 01481000
*       /* INITIALIZE URESERVE PARMLIST                      @Y30LB35*/ 01482000
*       /*                                                           */ 01483000
*       /*************************************************************/ 01484000
*                                                                  0496 01485000
*       UCBADDR=USERUCB;            /*                       @Y30LB35*/ 01486000
@RF00487 L     @10,@PC00001+8                                      0496 01487000
         L     @03,VSUCBPTR(,@10)                                  0496 01488000
         L     @03,USERUCB(,@03)                                   0496 01489000
         ST    @03,UCBADDR                                         0496 01490000
*       QNAME=AMSQNAME;             /*                       @Y30LB35*/ 01491000
         MVC   QNAME(8),AMSQNAME                                   0497 01492000
*       RVOLSER=VSVOLUME;           /*                       @Y30LB35*/ 01493000
         MVC   RVOLSER(6),VSVOLUME(@10)                            0498 01494000
*       RLENGTH=LENGTH(RVOLSER)+LENGTH(RQUAL);/*             @ZA13060*/ 01495000
*                                                                  0499 01496000
         MVI   RLENGTH,X'16'                                       0499 01497000
*       /*************************************************************/ 01498000
*       /*                                                           */ 01499000
*       /* DEPENDING ON THE VOLUME BEING A PHYSICAL          @Y30LB35*/ 01500000
*       /* 3330 OR NOT THE RNAME WILL BE                     @Y30LB35*/ 01501000
*       /* QUALIFIED .REAL.RESERVE OR .VIRTUAL.RESERVE       @Y30LB35*/ 01502000
*       /*                                                           */ 01503000
*       /*************************************************************/ 01504000
*                                                                  0500 01505000
*       IF VS2REAL=ON               /*                       @Y30LB35*/ 01506000
*         THEN                      /*                       @Y30LB35*/ 01507000
         TM    VS2REAL(@10),B'01000000'                            0500 01508000
         BNO   @RF00500                                            0500 01509000
*         RQUAL=REALQUAL;           /*                       @Y30LB35*/ 01510000
         MVC   RQUAL(16),REALQUAL                                  0501 01511000
*       ELSE                        /*                       @Y30LB35*/ 01512000
*         RQUAL=VIRTQUAL;           /*                       @Y30LB35*/ 01513000
*                                                                  0502 01514000
         B     @RC00500                                            0502 01515000
@RF00500 MVC   RQUAL(16),VIRTQUAL                                  0502 01516000
*       /*************************************************************/ 01517000
*       /*                                                           */ 01518000
*       /* ISSUE THE URESERVE REQUEST AND SET WAIT           @ZA05121*/ 01519000
*       /* OPTION BECAUSE THERE SHOULD NOT BE ANOTHER        @Y30LB35*/ 01520000
*       /* TASK REQUIRING THE RESOURCE.                      @Y30LB35*/ 01521000
*       /*                                                           */ 01522000
*       /*************************************************************/ 01523000
*                                                                  0503 01524000
*       CALL IDCSARV0(GDTTBL,EXCL,WAIT,UCBADDR,QNAME,RNAME);/*     0503 01525000
*                                                            @ZA05121*/ 01526000
@RC00500 L     @10,@PC00001                                        0503 01527000
         ST    @10,@AL00001                                        0503 01528000
         LA    @03,EXCL                                            0503 01529000
         ST    @03,@AL00001+4                                      0503 01530000
         LA    @03,WAIT                                            0503 01531000
         ST    @03,@AL00001+8                                      0503 01532000
         LA    @03,UCBADDR                                         0503 01533000
         ST    @03,@AL00001+12                                     0503 01534000
         LA    @03,QNAME                                           0503 01535000
         ST    @03,@AL00001+16                                     0503 01536000
         LA    @03,RNAME                                           0503 01537000
         ST    @03,@AL00001+20                                     0503 01538000
         MVI   @AL00001+20,X'80'                                   0503 01539000
         L     @15,GDTRSV(,@10)                                    0503 01540000
         LA    @01,@AL00001                                        0503 01541000
         BALR  @14,@15                                             0503 01542000
*       RESPECIFY                                                  0504 01543000
*         RTNREG RSTD;                                             0504 01544000
*       TESTRC=RTNREG;                                             0505 01545000
         STH   RTNREG,TESTRC                                       0505 01546000
*       RESPECIFY                                                  0506 01547000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01548000
*     END;                          /*                       @Y30LB35*/ 01549000
*                                                                  0508 01550000
*   /*****************************************************************/ 01551000
*   /*                                                               */ 01552000
*   /* NOW ALL PREPARATIONS HAVE BEEN MADE, THE GET          @Y30LB35*/ 01553000
*   /* CAN BE REQUESTED OF IDCIO05 VIA UEXCP MACRO.          @Y30LB35*/ 01554000
*   /* THE RETURN CODE MAY NOT BE ZERO IF OPEN,              @Y30LB35*/ 01555000
*   /* USYSINFO, OR URESERVE WAS UNSUCCESSFUL.               @Y30LB35*/ 01556000
*   /*                                                               */ 01557000
*   /*****************************************************************/ 01558000
*                                                                  0508 01559000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 01560000
*     THEN                          /*                       @Y30LB35*/ 01561000
@RF00485 LH    @10,TESTRC                                          0508 01562000
         LTR   @10,@10                                             0508 01563000
         BNZ   @RF00508                                            0508 01564000
*     DO;                           /*                       @Y30LB35*/ 01565000
*                                                                  0509 01566000
*       /*************************************************************/ 01567000
*       /*                                                           */ 01568000
*       /* INITIALIZE THE UEXCP (GET) PARMS (EXGARG)         @Y30LB35*/ 01569000
*       /* TO READ KEY AND DATA OF CYL 0 TRK 0 RECORD 3      @Y30LB35*/ 01570000
*       /* WHICH IS THE VOLUME LABEL RECORD                  @Y30LB35*/ 01571000
*       /*                                                           */ 01572000
*       /*************************************************************/ 01573000
*                                                                  0510 01574000
*       EXGARG=''B;                 /*                       @Y30LB35*/ 01575000
         LA    @10,EXGPARM                                         0510 01576000
         XC    EXGARG(32,@10),EXGARG(@10)                          0510 01577000
*       EXGCTLBK=IOXPTR;            /*                       @Y30LB35*/ 01578000
         L     @03,IOXPTR                                          0511 01579000
         ST    @03,EXGCTLBK(,@10)                                  0511 01580000
*       EXGCCHH2=ADDR(VOLCCHHR);    /*                       @Y30LB35*/ 01581000
         LA    @03,VOLCCHHR                                        0512 01582000
         ST    @03,EXGCCHH2(,@10)                                  0512 01583000
*       EXGRECNO=ONE;               /*                       @Y30LB35*/ 01584000
         LH    @03,ONE                                             0513 01585000
         ST    @03,EXGRECNO(,@10)                                  0513 01586000
*       EXGDATAP=ADDR(VOLLABEL);    /*                       @Y30LB35*/ 01587000
         LA    @03,LABELREC                                        0514 01588000
         ST    @03,EXGDATAP(,@10)                                  0514 01589000
*       EXGKEYLN=LENGTH(VOLKEY);    /*                       @Y30LB35*/ 01590000
         MVI   EXGKEYLN(@10),X'04'                                 0515 01591000
*       EXGDATAL=LENGTH(VOLLABEL)-LENGTH(VOLKEY);                  0516 01592000
         MVC   EXGDATAL(2,@10),@CH01346                            0516 01593000
*       CALL IDCIO050(GDTTBL,GET,EXGARG);/*                  @Y30LB35*/ 01594000
         L     @03,@PC00001                                        0517 01595000
         ST    @03,@AL00001                                        0517 01596000
         LA    @15,GET                                             0517 01597000
         ST    @15,@AL00001+4                                      0517 01598000
         ST    @10,@AL00001+8                                      0517 01599000
         MVI   @AL00001+8,X'80'                                    0517 01600000
         L     @15,GDTEXP(,@03)                                    0517 01601000
         LA    @01,@AL00001                                        0517 01602000
         BALR  @14,@15                                             0517 01603000
*       RESPECIFY                                                  0518 01604000
*         RTNREG RSTD;                                             0518 01605000
*       TESTRC=RTNREG;                                             0519 01606000
         STH   RTNREG,TESTRC                                       0519 01607000
*       RESPECIFY                                                  0520 01608000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01609000
*     END;                          /*                       @Y30LB35*/ 01610000
*                                                                  0522 01611000
*   /*****************************************************************/ 01612000
*   /*                                                               */ 01613000
*   /* PROVIDED THE READ OF THE VOLUME RECORD WAS            @Y30LB35*/ 01614000
*   /* SUCCESSFUL, THE REQUESTED FIELDS CAN NOW              @Y30LB35*/ 01615000
*   /* BE UPDATED FOR THE WRITE BACK OPERATION               @Y30LB35*/ 01616000
*   /*                                                               */ 01617000
*   /*****************************************************************/ 01618000
*                                                                  0522 01619000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 01620000
*     THEN                          /*                       @Y30LB35*/ 01621000
@RF00508 LH    @10,TESTRC                                          0522 01622000
         LTR   @10,@10                                             0522 01623000
         BNZ   @RF00522                                            0522 01624000
*     DO;                           /*                       @Y30LB35*/ 01625000
*                                                                  0523 01626000
*       /*************************************************************/ 01627000
*       /*                                                           */ 01628000
*       /* IF CALLER WANTS VOLSER, IT IS MOVED IN.           @Y30LB35*/ 01629000
*       /*                                                           */ 01630000
*       /*************************************************************/ 01631000
*                                                                  0524 01632000
*       IF VSVOLSER=ON              /*                       @Y30LB35*/ 01633000
*         THEN                      /*                       @Y30LB35*/ 01634000
         L     @10,@PC00001+8                                      0524 01635000
         TM    VSVOLSER(@10),B'01000000'                           0524 01636000
         BNO   @RF00524                                            0524 01637000
*         VOLSERNO=USERLAB;         /*                       @Y30LB35*/ 01638000
*                                                                  0525 01639000
         LA    @03,LABELREC                                        0525 01640000
         L     @10,VSVOLPTR(,@10)                                  0525 01641000
         MVC   VOLSERNO(6,@03),USERLAB(@10)                        0525 01642000
*       /*************************************************************/ 01643000
*       /*                                                           */ 01644000
*       /* IF CALLER WANTS OWNER, IT IS MOVED IN.            @Y30LB35*/ 01645000
*       /*                                                           */ 01646000
*       /*************************************************************/ 01647000
*                                                                  0526 01648000
*       IF VSOWNER=ON               /*                       @Y30LB35*/ 01649000
*         THEN                      /*                       @Y30LB35*/ 01650000
@RF00524 L     @10,@PC00001+8                                      0526 01651000
         TM    VSOWNER(@10),B'10000000'                            0526 01652000
         BNO   @RF00526                                            0526 01653000
*         VOLOWNER=USEROWN;         /*                       @Y30LB35*/ 01654000
         LA    @03,LABELREC                                        0527 01655000
         L     @10,VSOWNPTR(,@10)                                  0527 01656000
         MVC   VOLOWNER(10,@03),USEROWN(@10)                       0527 01657000
*     END;                          /*                       @Y30LB35   01658000
*                                                            @Y30LB35*/ 01659000
*                                                                  0528 01660000
@RF00526 DS    0H                                                  0529 01661000
*   /*****************************************************************/ 01662000
*   /*                                                               */ 01663000
*   /* INITIALIZE THE UEXCP (PUT) PARMS (EXPARG)             @Y30LB35*/ 01664000
*   /* TO WRITE KEY & DATA OF CYL 0 TRK 0 RECORD 3           @Y30LB35*/ 01665000
*   /* WHICH IS THE VOLUME LABEL RECORD                      @Y30LB35*/ 01666000
*   /*                                                               */ 01667000
*   /*****************************************************************/ 01668000
*                                                                  0529 01669000
*   IF TESTRC=0                     /*                       @Y30LB35*/ 01670000
*     THEN                          /*                       @Y30LB35*/ 01671000
@RF00522 LH    @10,TESTRC                                          0529 01672000
         LTR   @10,@10                                             0529 01673000
         BNZ   @RF00529                                            0529 01674000
*     DO;                           /*                       @Y30LB35*/ 01675000
*       EXPARG=''B;                 /*                       @Y30LB35*/ 01676000
         LA    @10,EXPPARM                                         0531 01677000
         XC    EXPARG(20,@10),EXPARG(@10)                          0531 01678000
*       EXPCTLBK=IOXPTR;            /*                       @Y30LB35*/ 01679000
         L     @03,IOXPTR                                          0532 01680000
         ST    @03,EXPCTLBK(,@10)                                  0532 01681000
*       EXPCCHHR=ADDR(VOLCCHHR);    /*                       @Y30LB35*/ 01682000
         LA    @03,VOLCCHHR                                        0533 01683000
         ST    @03,EXPCCHHR(,@10)                                  0533 01684000
*       EXPDATA=ADDR(EXDATA);       /*                       @Y30LB35*/ 01685000
         LA    @03,EXDATA                                          0534 01686000
         ST    @03,EXPDATA(,@10)                                   0534 01687000
*       EXPRECNO=ONE;               /*                       @Y30LB35*/ 01688000
         LH    @15,ONE                                             0535 01689000
         ST    @15,EXPRECNO(,@03)                                  0535 01690000
*       EXPDATAP(1)=ADDR(VOLLABEL); /*                       @Y30LB35*/ 01691000
         LA    @15,LABELREC                                        0536 01692000
         ST    @15,EXPDATAP(,@03)                                  0536 01693000
*       EXPKEYLN(1)=LENGTH(VOLKEY); /*                       @Y30LB35*/ 01694000
         MVI   EXPKEYLN(@03),X'04'                                 0537 01695000
*       EXPDATAL(1)=LENGTH(VOLLABEL)-LENGTH(VOLKEY);               0538 01696000
         MVC   EXPDATAL(2,@03),@CH01346                            0538 01697000
*       CALL IDCIO050(GDTTBL,PUT,EXPARG);/*                  @Y30LB35*/ 01698000
         L     @03,@PC00001                                        0539 01699000
         ST    @03,@AL00001                                        0539 01700000
         LA    @15,PUT                                             0539 01701000
         ST    @15,@AL00001+4                                      0539 01702000
         ST    @10,@AL00001+8                                      0539 01703000
         MVI   @AL00001+8,X'80'                                    0539 01704000
         L     @15,GDTEXP(,@03)                                    0539 01705000
         LA    @01,@AL00001                                        0539 01706000
         BALR  @14,@15                                             0539 01707000
*       RESPECIFY                                                  0540 01708000
*         RTNREG RSTD;                                             0540 01709000
*       TESTRC=RTNREG;                                             0541 01710000
         STH   RTNREG,TESTRC                                       0541 01711000
*       RESPECIFY                                                  0542 01712000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01713000
*     END;                          /*                       @Y30LB35*/ 01714000
*                                                                  0544 01715000
*   /*****************************************************************/ 01716000
*   /*                                                               */ 01717000
*   /* NOW CLEAN UP BEGINS. THE IOCTLBK POINTER              @Y30LB35*/ 01718000
*   /* FIELD IS TESTED TO DETERMINE WHETHER THE              @Y30LB35*/ 01719000
*   /* UEXCP (CLOSE) REQUEST IS NEEDED.                      @Y30LB35*/ 01720000
*   /*                                                               */ 01721000
*   /*****************************************************************/ 01722000
*                                                                  0544 01723000
*   IF IOXPTR^=NULLPTR              /*                       @Y30LB35*/ 01724000
*     THEN                          /*                       @Y30LB35*/ 01725000
@RF00529 L     @10,IOXPTR                                          0544 01726000
         LTR   @10,@10                                             0544 01727000
         BZ    @RF00544                                            0544 01728000
*     DO;                           /*                       @Y30LB35*/ 01729000
*                                                                  0545 01730000
*       /*************************************************************/ 01731000
*       /*                                                           */ 01732000
*       /* THE ONLY PARMETER REQUIRED IS THE IOCTLBK         @Y30LB35*/ 01733000
*       /* POINTER AS ALL NECESSARY INFORMATION NEEDED       @Y30LB35*/ 01734000
*       /* TO PERFORM THE CLOSE IS IN THE IOCTLBK.           @Y30LB35*/ 01735000
*       /*                                                           */ 01736000
*       /*************************************************************/ 01737000
*                                                                  0546 01738000
*       CALL IDCIO050(GDTTBL,CLOSE,IOXPTR);/*                @Y30LB35*/ 01739000
*                                                                  0546 01740000
         L     @10,@PC00001                                        0546 01741000
         ST    @10,@AL00001                                        0546 01742000
         LA    @03,CLOSE                                           0546 01743000
         ST    @03,@AL00001+4                                      0546 01744000
         LA    @03,IOXPTR                                          0546 01745000
         ST    @03,@AL00001+8                                      0546 01746000
         MVI   @AL00001+8,X'80'                                    0546 01747000
         L     @15,GDTEXP(,@10)                                    0546 01748000
         LA    @01,@AL00001                                        0546 01749000
         BALR  @14,@15                                             0546 01750000
*       /*************************************************************/ 01751000
*       /*                                                           */ 01752000
*       /* AT THIS POINT THE DETERMINATION IS MADE AS        @Y30LB35*/ 01753000
*       /* TO WHAT RETURN CODE IS IN ORDER.                  @Y30LB35*/ 01754000
*       /* IF THE SAVED RETURN CODE THAT HAD BEEN SAVED      @Y30LB35*/ 01755000
*       /* BEFORE THE CLOSE IS NON-ZERO THEN THE RCFAIL      @Y30LB35*/ 01756000
*       /* IS RETURNED BECAUSE THIS MEANS FOR SOME           @Y30LB35*/ 01757000
*       /* REASON THE REQUESTED INFORMATION CAN NOT BE       @Y30LB35*/ 01758000
*       /* UPDATED FOR CALLER. IF THE RETURN CODE IS 0       @Y30LB35*/ 01759000
*       /* BUT THE RETURN CODE FROM UEXCP (CLOSE) IS         @Y30LB35*/ 01760000
*       /* NOT ZERO, THE ERROR CODE CLOSEBAD(8) BECAUSE      @Y30LB35*/ 01761000
*       /* THE REQUESTED INFORMATION IS BEING UPDATED        @Y30LB35*/ 01762000
*       /* BUT THERE WAS A PROBLEM ENCOUNTED DURING          @Y30LB35*/ 01763000
*       /* CLOSE. IF BOTH ARE ZERO, RCOK (0) IS              @Y30LB35*/ 01764000
*       /* RETURNED.                                         @Y30LB35*/ 01765000
*       /*                                                           */ 01766000
*       /*************************************************************/ 01767000
*                                                                  0547 01768000
*       RESPECIFY                                                  0547 01769000
*         RTNREG RSTD;              /*                       @Y30LB35*/ 01770000
*       IF TESTRC^=0                /*                       @Y30LB35*/ 01771000
*         THEN                      /*                       @Y30LB35*/ 01772000
         LH    @14,TESTRC                                          0548 01773000
         LTR   @14,@14                                             0548 01774000
         BZ    @RF00548                                            0548 01775000
*         TESTRC=4;                 /*                       @Y30LB35*/ 01776000
         MVC   TESTRC(2),@CH00041                                  0549 01777000
*       ELSE                        /*                       @Y30LB35*/ 01778000
*         IF RTNREG^=0              /*                       @Y30LB35*/ 01779000
*           THEN                    /*                       @Y30LB35*/ 01780000
         B     @RC00548                                            0550 01781000
@RF00548 LTR   RTNREG,RTNREG                                       0550 01782000
         BZ    @RF00550                                            0550 01783000
*           TESTRC=CLOSEBAD;        /*                       @Y30LB35*/ 01784000
         LH    @14,CLOSEBAD                                        0551 01785000
         STH   @14,TESTRC                                          0551 01786000
*       RESPECIFY                                                  0552 01787000
*         RTNREG UNRSTD;            /*                       @Y30LB35*/ 01788000
@RF00550 DS    0H                                                  0552 01789000
@RC00548 DS    0H                                                  0553 01790000
*     END;                          /*                       @Y30LB35   01791000
*                                                            @Y30LB35*/ 01792000
*                                                                  0553 01793000
*   /*****************************************************************/ 01794000
*   /*                                                               */ 01795000
*   /* IF THE IOCTLBK POINTER IS NULL, THERE IS              @Y30LB35*/ 01796000
*   /* NO WAY THE INFORMATION CAN BE RETURNED AND            @Y30LB35*/ 01797000
*   /* ERROR CODE RCFAIL (4) IS RETURNED.                    @Y30LB35*/ 01798000
*   /*                                                               */ 01799000
*   /*****************************************************************/ 01800000
*                                                                  0554 01801000
*   ELSE                            /*                       @Y30LB35*/ 01802000
*     TESTRC=4;                     /*                       @Y30LB35*/ 01803000
         B     @RC00544                                            0554 01804000
@RF00544 MVC   TESTRC(2),@CH00041                                  0554 01805000
*                                                                  0555 01806000
*   /*****************************************************************/ 01807000
*   /*                                                               */ 01808000
*   /* NOW COMES THE TIME TO DETERMINE IF AN MSG             @Y30LB35*/ 01809000
*   /* IS IN ORDER. IF THE RETURN CODE HAS BEEN SET          @Y30LB35*/ 01810000
*   /* TO RCFAIL(4), THE PROPER MESSAGE MUST NOW             @Y30LB35*/ 01811000
*   /* BE ISSUED TO THE USERS SYSPRINT LISTING.              @Y30LB35*/ 01812000
*   /*                                                               */ 01813000
*   /*****************************************************************/ 01814000
*                                                                  0555 01815000
*   IF TESTRC=4                     /*                       @Y30LB35*/ 01816000
*     THEN                          /*                       @Y30LB35*/ 01817000
@RC00544 CLC   TESTRC(2),@CH00041                                  0555 01818000
         BNE   @RF00555                                            0555 01819000
*     DO;                           /*                       @Y30LB35*/ 01820000
*                                                                  0556 01821000
*       /*************************************************************/ 01822000
*       /*                                                           */ 01823000
*       /* SETUP THE COMMON PART OF DARGLIST FOR ANY         @Y30LB35*/ 01824000
*       /* MESSAGE.                                          @Y30LB35*/ 01825000
*       /*                                                           */ 01826000
*       /*************************************************************/ 01827000
*                                                                  0557 01828000
*       DARGLIST=''B;               /*                       @Y30LB35*/ 01829000
         L     @10,DDSTRU                                          0557 01830000
         XC    DARGLIST(20,@10),DARGLIST(@10)                      0557 01831000
*       DARGSMOD=COMMSGS;           /*                       @Y30LB35*/ 01832000
         MVC   DARGSMOD(3,@10),@CC01039                            0558 01833000
*       DARGDBP=ADDR(VSVOLUME);     /*                       @Y30LB35*/ 01834000
         L     @03,@PC00001+8                                      0559 01835000
         LA    @15,VSVOLUME(,@03)                                  0559 01836000
         ST    @15,DARGDBP(,@10)                                   0559 01837000
*       DARGILP=LENGTH(VSVOLUME);   /*                       @Y30LB35   01838000
*                                                            @Y30LB35*/ 01839000
*                                                                  0560 01840000
         MVC   DARGILP(2,@10),@CH00154                             0560 01841000
*       /*************************************************************/ 01842000
*       /*                                                           */ 01843000
*       /* DETERMINE IF BOTH VOLSER FIELD AND OWNER          @Y30LB35*/ 01844000
*       /* FIELD WAS REQUESTED TO BE UPDATED.                @Y30LB35*/ 01845000
*       /*                                                           */ 01846000
*       /*************************************************************/ 01847000
*                                                                  0561 01848000
*       IF VSVOLSER=ON&VSOWNER=ON   /*                       @Y30LB35*/ 01849000
*         THEN                      /*                       @Y30LB35*/ 01850000
         TM    VSVOLSER(@03),B'11000000'                           0561 01851000
         BNO   @RF00561                                            0561 01852000
*         DO;                       /*                       @Y30LB35*/ 01853000
*                                                                  0562 01854000
*           /*********************************************************/ 01855000
*           /*                                                       */ 01856000
*           /* DETERMINE IF CALLER WAS WORKING ON            @Y30LB35*/ 01857000
*           /* "TO VOLUME".                                  @Y30LB35*/ 01858000
*           /*                                                       */ 01859000
*           /*********************************************************/ 01860000
*                                                                  0563 01861000
*           IF VS2TOV=ON            /*                       @Y30LB35*/ 01862000
*             THEN                  /*                       @Y30LB35*/ 01863000
*                                                                  0563 01864000
         TM    VS2TOV(@03),B'10000000'                             0563 01865000
         BNO   @RF00563                                            0563 01866000
*             /*******************************************************/ 01867000
*             /*                                                     */ 01868000
*             /* SET UP TO ISSUE IDC3070I STATING:           @Y30LB35*/ 01869000
*             /* "IDC3070I ** SERIAL,OWNER NOT UPDATED IN    @Y30LB35*/ 01870000
*             /* VOLUME LABEL TO VOLUME"                     @Y30LB35*/ 01871000
*             /*                                                     */ 01872000
*             /*******************************************************/ 01873000
*                                                                  0564 01874000
*             DARGSENT=MSG3070F;    /*                       @Y30LB35*/ 01875000
         MVI   DARGSENT(@10),X'35'                                 0564 01876000
*           ELSE                    /*                       @Y30LB35*/ 01877000
*                                                                  0565 01878000
*             /*******************************************************/ 01879000
*             /*                                                     */ 01880000
*             /* SET UP TO ISSUE IDC3070I STATING:           @Y30LB35*/ 01881000
*             /* "IDC3070I ** SERIAL,OWNER NOT UPDATED IN    @Y30LB35*/ 01882000
*             /* VOLUME LABEL"                               @Y30LB35*/ 01883000
*             /*                                                     */ 01884000
*             /*******************************************************/ 01885000
*                                                                  0565 01886000
*             DARGSENT=MSG3070E;    /*                       @Y30LB35*/ 01887000
         B     @RC00563                                            0565 01888000
@RF00563 L     @10,DDSTRU                                          0565 01889000
         MVI   DARGSENT(@10),X'34'                                 0565 01890000
*         END;                      /*                       @Y30LB35*/ 01891000
*                                                                  0566 01892000
*       /*************************************************************/ 01893000
*       /*                                                           */ 01894000
*       /* IF BOTH VOLSER AND OWNER HAVE NOT BEEN            @Y30LB35*/ 01895000
*       /* REQUESTED, THEN ONE OR THE OTHER WAS              @Y30LB35*/ 01896000
*       /* SPECIFIED AND A DETERMINATION IS NOW MADE.        @Y30LB35*/ 01897000
*       /*                                                           */ 01898000
*       /*************************************************************/ 01899000
*                                                                  0567 01900000
*       ELSE                        /*                       @Y30LB35*/ 01901000
*                                                                  0567 01902000
*         /***********************************************************/ 01903000
*         /*                                                         */ 01904000
*         /* IF THE VSVOLSER BIT IS SET, THEN                @Y30LB35*/ 01905000
*         /* THE VSOWNER MUST BE OFF.                        @Y30LB35*/ 01906000
*         /*                                                         */ 01907000
*         /***********************************************************/ 01908000
*                                                                  0567 01909000
*         IF VSVOLSER=ON            /*                       @Y30LB35*/ 01910000
*           THEN                    /*                       @Y30LB35*/ 01911000
         B     @RC00561                                            0567 01912000
@RF00561 L     @10,@PC00001+8                                      0567 01913000
         TM    VSVOLSER(@10),B'01000000'                           0567 01914000
         BNO   @RF00567                                            0567 01915000
*           DO;                     /*                       @Y30LB35*/ 01916000
*                                                                  0568 01917000
*             /*******************************************************/ 01918000
*             /*                                                     */ 01919000
*             /* NOW A DETERMINATION WHETHER CALLER IS       @Y30LB35*/ 01920000
*             /* WORKING ON THE TO VOLUME IS MADE.           @Y30LB35*/ 01921000
*             /*                                                     */ 01922000
*             /*******************************************************/ 01923000
*                                                                  0569 01924000
*             IF VS2TOV=ON          /*                       @Y30LB35*/ 01925000
*               THEN                /*                       @Y30LB35*/ 01926000
*                                                                  0569 01927000
         TM    VS2TOV(@10),B'10000000'                             0569 01928000
         BNO   @RF00569                                            0569 01929000
*               /*****************************************************/ 01930000
*               /*                                                   */ 01931000
*               /* SET UP TO ISSUE IDC3070I STATING:         @Y30LB35*/ 01932000
*               /* "IDC3070I ** SERIAL NOT UPDATED IN VOLUME @Y30LB35*/ 01933000
*               /* LABEL TO VOLUME"                          @Y30LB35*/ 01934000
*               /*                                                   */ 01935000
*               /*****************************************************/ 01936000
*                                                                  0570 01937000
*               DARGSENT=MSG3070B;  /*                       @Y30LB35*/ 01938000
         L     @10,DDSTRU                                          0570 01939000
         MVI   DARGSENT(@10),X'25'                                 0570 01940000
*             ELSE                  /*                       @Y30LB35*/ 01941000
*                                                                  0571 01942000
*               /*****************************************************/ 01943000
*               /*                                                   */ 01944000
*               /* SET UP TO ISSUE IDC3070I STATING:         @Y30LB35*/ 01945000
*               /* "IDC3070I ** SERIAL NOT UPDATED IN VOLUME @Y30LB35*/ 01946000
*               /* LABEL"                                    @Y30LB35*/ 01947000
*               /*                                                   */ 01948000
*               /*****************************************************/ 01949000
*                                                                  0571 01950000
*               DARGSENT=MSG3070A;  /*                       @Y30LB35*/ 01951000
         B     @RC00569                                            0571 01952000
@RF00569 L     @10,DDSTRU                                          0571 01953000
         MVI   DARGSENT(@10),X'24'                                 0571 01954000
*           END;                    /*                       @Y30LB35*/ 01955000
*                                                                  0573 01956000
*       /*************************************************************/ 01957000
*       /*                                                           */ 01958000
*       /* IF WE REACH HERE WITHOUT FINDING BOTH OR          @Y30LB35*/ 01959000
*       /* VSVOLSER SET THEN VSOWNER IS THE ONLY BIT         @Y30LB35*/ 01960000
*       /* REMAINING.                                        @Y30LB35*/ 01961000
*       /*                                                           */ 01962000
*       /*************************************************************/ 01963000
*                                                                  0573 01964000
*         ELSE                      /*                       @Y30LB35*/ 01965000
*                                                                  0573 01966000
*           /*********************************************************/ 01967000
*           /*                                                       */ 01968000
*           /* IF THE VSVOLSER BIT IS OFF, THEN              @Y30LB35*/ 01969000
*           /* THE VSOWNER MUST BE ON.                       @Y30LB35*/ 01970000
*           /*                                                       */ 01971000
*           /*********************************************************/ 01972000
*                                                                  0573 01973000
*           IF VSVOLSER=OFF         /*                       @Y30LB35*/ 01974000
*             THEN                  /*                       @Y30LB35*/ 01975000
         B     @RC00567                                            0573 01976000
@RF00567 L     @10,@PC00001+8                                      0573 01977000
         TM    VSVOLSER(@10),B'01000000'                           0573 01978000
         BNZ   @RF00573                                            0573 01979000
*             DO;                   /*                       @Y30LB35*/ 01980000
*                                                                  0574 01981000
*               /*****************************************************/ 01982000
*               /*                                                   */ 01983000
*               /* WE DETERMINE IF THE TO VOLUME IS BEING    @Y30LB35*/ 01984000
*               /* WORKED ON.                                @Y30LB35*/ 01985000
*               /*                                                   */ 01986000
*               /*****************************************************/ 01987000
*                                                                  0575 01988000
*               IF VS2TOV=ON        /*                       @Y30LB35*/ 01989000
*                 THEN              /*                       @Y30LB35*/ 01990000
*                                                                  0575 01991000
         TM    VS2TOV(@10),B'10000000'                             0575 01992000
         BNO   @RF00575                                            0575 01993000
*                 /***************************************************/ 01994000
*                 /*                                                 */ 01995000
*                 /* SET UP TO ISSUE IDC3070I STATING:       @Y30LB35*/ 01996000
*                 /* "IDC3070I ** OWNER NOT UPDATED IN VOLUME        */ 01997000
*                 /*                                         @Y30LB35*/ 01998000
*                 /* LABEL TO VOLUME"                        @Y30LB35*/ 01999000
*                 /*                                                 */ 02000000
*                 /***************************************************/ 02001000
*                                                                  0576 02002000
*                 DARGSENT=MSG3070D;/*                       @Y30LB35*/ 02003000
         L     @10,DDSTRU                                          0576 02004000
         MVI   DARGSENT(@10),X'27'                                 0576 02005000
*               ELSE                /*                       @Y30LB35*/ 02006000
*                                                                  0577 02007000
*                 /***************************************************/ 02008000
*                 /*                                                 */ 02009000
*                 /* SET UP TO ISSUE IDC3070I STATING:       @Y30LB35*/ 02010000
*                 /* "IDC3070I ** OWNER NOT UPDATED IN VOLUME        */ 02011000
*                 /*                                         @Y30LB35*/ 02012000
*                 /* LABEL"                                  @Y30LB35*/ 02013000
*                 /*                                                 */ 02014000
*                 /***************************************************/ 02015000
*                                                                  0577 02016000
*                 DARGSENT=MSG3070C;/*                       @Y30LB35*/ 02017000
         B     @RC00575                                            0577 02018000
@RF00575 L     @10,DDSTRU                                          0577 02019000
         MVI   DARGSENT(@10),X'26'                                 0577 02020000
*             END;                  /*                       @Y30LB35   02021000
*                                                            @Y30LB35*/ 02022000
*                                                                  0578 02023000
@RC00575 DS    0H                                                  0579 02024000
*       /*************************************************************/ 02025000
*       /*                                                           */ 02026000
*       /* ISSUE ERROR MESSAGE TO USERS SYSPRINT             @Y30LB35*/ 02027000
*       /* LISTING BY CALLING AMSTP01.                       @Y30LB35*/ 02028000
*       /*                                                           */ 02029000
*       /*************************************************************/ 02030000
*                                                                  0579 02031000
*       CALL AMSTP011(GDTTBL,PRTFILE,DDSTRU);/*              @Y30LB35   02032000
*                                                            @Y30LB35*/ 02033000
@RF00573 DS    0H                                                  0579 02034000
@RC00567 DS    0H                                                  0579 02035000
@RC00561 L     @10,@PC00001                                        0579 02036000
         ST    @10,@AL00001                                        0579 02037000
         LA    @03,@CF00114                                        0579 02038000
         ST    @03,@AL00001+4                                      0579 02039000
         LA    @03,DDSTRU                                          0579 02040000
         ST    @03,@AL00001+8                                      0579 02041000
         MVI   @AL00001+8,X'80'                                    0579 02042000
         L     @15,GDTPRT(,@10)                                    0579 02043000
         LA    @01,@AL00001                                        0579 02044000
         BALR  @14,@15                                             0579 02045000
*     END;                          /*                       @Y30LB35   02046000
*                                                            @Y30LB35*/ 02047000
*   RETURN CODE(TESTRC);            /*                       @Y30LB35   02048000
*                                                            @Y30LB35   02049000
*                                                            @Y30LB35*/ 02050000
@RF00555 LH    @15,TESTRC                                          0581 02051000
         L     @14,@SA00004                                        0581 02052000
         LM    @00,@12,@SA00004+8                                  0581 02053000
         BR    @14                                                 0581 02054000
*   END PUTLAB;                     /*                       @Y30LB35*/ 02055000
*                                                                  0583 02056000
*/********************************************************************/ 02057000
*/*                                                          @Y30LB35*/ 02058000
*/* PROCEDURE NAME - FMTTRK0                                 @Y30LB35*/ 02059000
*/*                                                          @Y30LB35*/ 02060000
*/* FUNCTION -  THIS ROUTINE PREPARES THE THREE RECORDS THAT @Y30LB35*/ 02061000
*/*             ARE WRITTEN TO CYL 0 TRK 0.                  @Y30LB35*/ 02062000
*/*                                                          @Y30LB35*/ 02063000
*/* INPUT -     VS2AGL (ARGUMENTS PASSED AS INPUT)           @Y30LB35*/ 02064000
*/*                                                          @Y30LB35*/ 02065000
*/* OUTPUT -    REGISTER 15 = 0, SUCCESSFUL                  @Y30LB35*/ 02066000
*/*                                                          @Y30LB35*/ 02067000
*/********************************************************************/ 02068000
*                                                                  0583 02069000
*                                   /*                       @Y30LB35*/ 02070000
*FMTTRK0:                                                          0583 02071000
*   PROC;                           /*                       @Y30LB35*/ 02072000
*                                                                  0583 02073000
FMTTRK0  STM   @14,@12,12(@13)                                     0583 02074000
*   /*****************************************************************/ 02075000
*   /*                                                               */ 02076000
*   /* LOCAL DECLARES                                        @Y30LB35*/ 02077000
*   /*                                                               */ 02078000
*   /*****************************************************************/ 02079000
*                                                                  0584 02080000
*                                   /*                        Y30LB35*/ 02081000
*                                                                  0584 02082000
*   /*****************************************************************/ 02083000
*   /*                                                               */ 02084000
*   /* THE FOLLOWING DCL STRUCTURE IS THE STATIC             @Y30LB35*/ 02085000
*   /* IPL RECORD ONE WHICH WILL BE WRITTEN TO               @Y30LB35*/ 02086000
*   /* TO CYL 0 TRACK 0 RECORD 1.                            @Y30LB35*/ 02087000
*   /*                                                               */ 02088000
*   /*****************************************************************/ 02089000
*                                                                  0584 02090000
*   DCL                                                            0584 02091000
*     1 RECORD1 STATIC BDY(WORD),   /*                       @Y30LB35*/ 02092000
*      2 REC1KEY CHAR(4) INIT('IPL1'),/*                     @Y30LB35   02093000
*                                      KEY VALUE IPL REC 1   @Y30LB35*/ 02094000
*      2 * CHAR(8) INIT('000600000000000F'X),/*              @Y30LB35   02095000
*                                      WAIT STATE PSW        @Y30LB35*/ 02096000
*      2 * CHAR(8) INIT('0300000000000001'X),/*              @Y30LB35   02097000
*                                      NOP CCW               @Y30LB35*/ 02098000
*      2 * CHAR(8) INIT('0000000000000000'X);/*              @Y30LB35   02099000
*                                      DUMMY CCW             @Y30LB35   02100000
*                                                            @Y30LB35*/ 02101000
*                                                                  0584 02102000
*   /*****************************************************************/ 02103000
*   /*                                                               */ 02104000
*   /* THE FOLLOWING DCL STRUCTURE IS THE STATIC             @Y30LB35*/ 02105000
*   /* IPL RECORD TWO WHICH WILL BE WRITTEN TO               @Y30LB35*/ 02106000
*   /* TO CYL 0 TRACK 0 RECORD 2.                            @Y30LB35*/ 02107000
*   /*                                                               */ 02108000
*   /*****************************************************************/ 02109000
*                                                                  0585 02110000
*   DCL                                                            0585 02111000
*     1 RECORD2 STATIC BDY(WORD),   /*                       @Y30LB35*/ 02112000
*      2 REC2KEY CHAR(4) INIT('IPL2'),/*                     @Y30LB35   02113000
*                                      KEY VALUE IPL REC 2   @Y30LB35*/ 02114000
*      2 * CHAR(8) INIT('07003AB840000006'X),/*              @Y30LB35   02115000
*                                      SEEK TO IPL TRACK     @Y30LB35*/ 02116000
*      2 * CHAR(8) INIT('31003ABE40000005'X),/*              @Y30LB35   02117000
*                                      SEARCH FOR IPL REC    @Y30LB35*/ 02118000
*      2 * CHAR(8) INIT('08003AA000000001'X),/*              @Y30LB35   02119000
*                                      TIC BACK TO SEARCH    @Y30LB35*/ 02120000
*      2 * CHAR(8) INIT('0600000020000E29'X),/*              @Y30LB35   02121000
*                                      READ IPL REC 3        @Y30LB35*/ 02122000
*      2 * CHAR(112),               /*                       @Y30LB35*/ 02123000
*       3 *(112) CHAR(1) INIT((112)'00'X);/*                 @Y30LB35   02124000
*                                      DUMMY FILLERS         @Y30LB35   02125000
*                                                            @Y30LB35*/ 02126000
*                                                                  0585 02127000
*   /*****************************************************************/ 02128000
*   /*                                                               */ 02129000
*   /* THE FOLLOWING DCL STRUCTURE IS THE STATIC             @Y30LB35*/ 02130000
*   /* LABEL RECORD WHICH WILL BE WRITTEN TO                 @Y30LB35*/ 02131000
*   /* TO CYL 0 TRACK 0 RECORD 3.                            @Y30LB35*/ 02132000
*   /*                                                               */ 02133000
*   /*****************************************************************/ 02134000
*                                                                  0586 02135000
*   DCL                                                            0586 02136000
*     1 RECORD3 STATIC BDY(WORD),   /*                       @Y30LB35*/ 02137000
*      2 * CHAR(4) INIT('VOL1'),    /*                       @Y30LB35   02138000
*                                      KEY VALUE OF RECORD   @Y30LB35*/ 02139000
*      2 * CHAR(3) INIT('VOL'),     /*                       @Y30LB35   02140000
*                                      VOL LABEL ID          @Y30LB35*/ 02141000
*      2 * CHAR(1) INIT('1'),       /*                       @Y30LB35   02142000
*                                      VOL NUMBER ALWAYS 1   @Y30LB35*/ 02143000
*      2 * CHAR(6),                 /*                       @Y30LB35   02144000
*                                      VOLSER FIELD          @Y30LB35*/ 02145000
*      2 * CHAR(1) INIT('0'),       /*                       @Y30LB35   02146000
*                                      VOL SECURITY          @Y30LB35*/ 02147000
*      2 * CHAR(5),                 /* TTR0 VTOC             @ZDR2057*/ 02148000
*      2 * CHAR(25) INIT('                         '),/*     @Y30LB35   02149000
*                                      RESERVED              @Y30LB35*/ 02150000
*      2 * CHAR(10),                /*                       @Y30LB35   02151000
*                                      OWNER FIELD           @Y30LB35*/ 02152000
*      2 * CHAR(29),                /*                       @Y30LB35*/ 02153000
*       3 *(29) CHAR(1) INIT((29)' ');/*                     @Y30LB35   02154000
*                                      RESERVED              @Y30LB35   02155000
*                                                            @Y30LB35*/ 02156000
*   DCL                                                            0587 02157000
*     VOLSER CHAR(6) BASED(VSVOLPTR);/*                      @Y30LB35   02158000
*                                      DEF USER VOLSER FIELD @Y30LB35*/ 02159000
*   DCL                                                            0588 02160000
*     OWNER CHAR(10) BASED(VSOWNPTR);/*                      @Y30LB35   02161000
*                                      DEF USERS OWNER FIELD @Y30LB35*/ 02162000
*   DCL                                                            0589 02163000
*     VTOCADDR CHAR(5) BASED(VSVTOCPT);/* USER SUPPLIED VTOC @ZDR2057*/ 02164000
*   DCL                                                            0590 02165000
*     TTR0 CHAR(5) INIT('0000000101'X);/* DEFAULT TTR0 VTOC  @ZDR2057*/ 02166000
*                                   /*                       @Y30LB35*/ 02167000
*                                                                  0591 02168000
*   /*****************************************************************/ 02169000
*   /*                                                               */ 02170000
*   /* SET UP TRACE POINT 'VSF0' IN TRACE TABLE              @Y30LB35*/ 02171000
*   /*                                                               */ 02172000
*   /*****************************************************************/ 02173000
*                                                                  0591 02174000
*   OLDERID2=NEWERID2;                                             0591 02175000
         L     @10,@PC00001                                        0591 02176000
         L     @10,GDTTR2(,@10)                                    0591 02177000
         MVC   @TS00001(95),NEWERID2(@10)                          0591 02178000
         MVC   OLDERID2(95,@10),@TS00001                           0591 02179000
*   NEWID2='VSF0';                  /*                       @Y30LB35*/ 02180000
*                                                                  0592 02181000
         MVC   NEWID2(4,@10),@CC01218                              0592 02182000
*   /*****************************************************************/ 02183000
*   /*                                                               */ 02184000
*   /* INITALIZE UEXCP (PUT) ARGUMENT LIST (EXPARG)          @Y30LB35*/ 02185000
*   /* TO WRITE THREE RECORDS ONTO CYL 0 TRACK 0             @Y30LB35*/ 02186000
*   /*                                                               */ 02187000
*   /*****************************************************************/ 02188000
*                                                                  0593 02189000
*   EXPARG=''B;                     /*                       @Y30LB35*/ 02190000
         LA    @10,EXPPARM                                         0593 02191000
         XC    EXPARG(20,@10),EXPARG(@10)                          0593 02192000
*   EXPCTLBK=IOXPTR;                /*                       @Y30LB35*/ 02193000
         L     @03,IOXPTR                                          0594 02194000
         ST    @03,EXPCTLBK(,@10)                                  0594 02195000
*   EXPDATA=ADDR(EXDATA);           /*                       @Y30LB35*/ 02196000
         LA    @03,EXDATA                                          0595 02197000
         ST    @03,EXPDATA(,@10)                                   0595 02198000
*   EXPRECNO=THREE;                 /*                       @Y30LB35*/ 02199000
         LH    @15,THREE                                           0596 02200000
         ST    @15,EXPRECNO(,@03)                                  0596 02201000
*   EXPCCHHR=ADDR(CCHH0);           /*                       @Y30LB35*/ 02202000
*                                                                  0597 02203000
         LA    @15,CCHH0                                           0597 02204000
         ST    @15,EXPCCHHR(,@10)                                  0597 02205000
*   /*****************************************************************/ 02206000
*   /*                                                               */ 02207000
*   /* SET UP EXPDATAB ARRAY FOR UEXCP (PUT)                 @Y30LB35*/ 02208000
*   /*                                                               */ 02209000
*   /*****************************************************************/ 02210000
*                                                                  0598 02211000
*   EXPDATAP(1)=ADDR(RECORD1);      /*                       @Y30LB35*/ 02212000
         LA    @10,RECORD1                                         0598 02213000
         ST    @10,EXPDATAP(,@03)                                  0598 02214000
*   EXPKEYLN(1)=LENGTH(REC1KEY);    /*                       @Y30LB35*/ 02215000
         MVI   EXPKEYLN(@03),X'04'                                 0599 02216000
*   EXPDATAL(1)=LENGTH(RECORD1)-LENGTH(REC1KEY);/*           @Y30LB35*/ 02217000
         MVC   EXPDATAL(2,@03),@CH00308                            0600 02218000
*   EXPDATAP(2)=ADDR(RECORD2);      /*                       @Y30LB35*/ 02219000
         LA    @10,RECORD2                                         0601 02220000
         ST    @10,EXPDATAP+8(,@03)                                0601 02221000
*   EXPKEYLN(2)=LENGTH(REC2KEY);    /*                       @Y30LB35*/ 02222000
         MVI   EXPKEYLN+8(@03),X'04'                               0602 02223000
*   EXPDATAL(2)=LENGTH(RECORD2)-LENGTH(REC2KEY);/*           @Y30LB35*/ 02224000
         MVC   EXPDATAL+8(2,@03),@CH01349                          0603 02225000
*   EXPDATAP(3)=ADDR(LABELREC);     /*                       @Y30LB35*/ 02226000
         LA    @10,LABELREC                                        0604 02227000
         ST    @10,EXPDATAP+16(,@03)                               0604 02228000
*   EXPKEYLN(3)=LENGTH(VOLKEY);     /*                       @Y30LB35*/ 02229000
         MVI   EXPKEYLN+16(@03),X'04'                              0605 02230000
*   EXPDATAL(3)=LENGTH(LABELREC)-LENGTH(VOLKEY);/*           @Y30LB35*/ 02231000
*                                                                  0606 02232000
         MVC   EXPDATAL+16(2,@03),@CH01346                         0606 02233000
*   /*****************************************************************/ 02234000
*   /*                                                               */ 02235000
*   /* MOVE IN STATIC LABEL RECORD INTO DYNAMIC              @Y30LB35*/ 02236000
*   /* STORAGE.                                              @Y30LB35*/ 02237000
*   /*                                                               */ 02238000
*   /*****************************************************************/ 02239000
*                                                                  0607 02240000
*   LABELREC=RECORD3;               /*                       @Y30LB35*/ 02241000
*                                                                  0607 02242000
         MVC   LABELREC(84),RECORD3                                0607 02243000
*   /*****************************************************************/ 02244000
*   /*                                                               */ 02245000
*   /* MOVE IN THE CALLERS VOLSER.                           @ZDR2057*/ 02246000
*   /*                                                               */ 02247000
*   /*****************************************************************/ 02248000
*                                                                  0608 02249000
*   VOLSERNO=VOLSER;                /*                       @ZDR2057*/ 02250000
*                                                                  0608 02251000
         LA    @10,LABELREC                                        0608 02252000
         L     @03,@PC00001+8                                      0608 02253000
         L     @01,VSVOLPTR(,@03)                                  0608 02254000
         MVC   VOLSERNO(6,@10),VOLSER(@01)                         0608 02255000
*   /*****************************************************************/ 02256000
*   /*                                                               */ 02257000
*   /* MOVE IN THE CALLERS SUPPLIED OWNER ID.                @ZDR2057*/ 02258000
*   /*                                                               */ 02259000
*   /*****************************************************************/ 02260000
*                                                                  0609 02261000
*   VOLOWNER=OWNER;                 /*                       @ZDR2057*/ 02262000
*                                                                  0609 02263000
         L     @01,VSOWNPTR(,@03)                                  0609 02264000
         MVC   VOLOWNER(10,@10),OWNER(@01)                         0609 02265000
*   /*****************************************************************/ 02266000
*   /*                                                               */ 02267000
*   /* FOR REBUILDING THE VOLUME LABEL SET THE               @ZDR2057*/ 02268000
*   /* USER SUPPLIED VTOC ADDRESS.                           @ZDR2057*/ 02269000
*   /*                                                               */ 02270000
*   /*****************************************************************/ 02271000
*                                                                  0610 02272000
*   IF VSNOVTOC=ON THEN                                            0610 02273000
         TM    VSNOVTOC(@03),B'00100000'                           0610 02274000
         BNO   @RF00610                                            0610 02275000
*     VOLVTOC=VTOCADDR;             /*                       @ZDR2057*/ 02276000
*                                                                  0611 02277000
         L     @03,VSVTOCPT(,@03)                                  0611 02278000
         MVC   VOLVTOC(5,@10),VTOCADDR(@03)                        0611 02279000
*   /*****************************************************************/ 02280000
*   /*                                                               */ 02281000
*   /* SET UP THE DEFAULT VTOC ADDRESS.                      @ZDR2057*/ 02282000
*   /*                                                               */ 02283000
*   /*****************************************************************/ 02284000
*                                                                  0612 02285000
*   ELSE                                                           0612 02286000
*     VOLVTOC=TTR0;                 /*                       @ZDR2057*/ 02287000
*                                                                  0612 02288000
         B     @RC00610                                            0612 02289000
@RF00610 LA    @10,LABELREC                                        0612 02290000
         MVC   VOLVTOC(5,@10),TTR0                                 0612 02291000
*   /*****************************************************************/ 02292000
*   /*                                                               */ 02293000
*   /* CONTROL IS RETURNED TO INITVOLM WITH ZERO             @Y30LB35*/ 02294000
*   /* RETURN CODE IN REGISTER 15.                           @Y30LB35*/ 02295000
*   /*                                                               */ 02296000
*   /*****************************************************************/ 02297000
*                                                                  0613 02298000
*   RETURN CODE(0);                 /*                       @Y30LB35*/ 02299000
@RC00610 SLR   @15,@15                                             0613 02300000
         L     @14,12(,@13)                                        0613 02301000
         LM    @00,@12,20(@13)                                     0613 02302000
         BR    @14                                                 0613 02303000
*   END FMTTRK0;                    /*                       @Y30LB35*/ 02304000
*                                                                  0615 02305000
*/********************************************************************/ 02306000
*/*                                                          @Y30LB35*/ 02307000
*/* PROCEDURE NAME - FMTTRK1                                 @Y30LB35*/ 02308000
*/*                                                          @Y30LB35*/ 02309000
*/* FUNCTION -  THIS ROUTINE PREPARES THE 39 RECORDS THAT    @Y30LB35*/ 02310000
*/*             THAT ARE WRITTEN TO CYL 0 TRK 1.             @Y30LB35*/ 02311000
*/*                                                          @Y30LB35*/ 02312000
*/* INPUT -     VS2AGL (ARGUMENTS PASSED AS INPUT)           @Y30LB35*/ 02313000
*/*                                                          @Y30LB35*/ 02314000
*/* OUTPUT -    REGISTER 15 = 0, SUCCESSFUL                  @Y30LB35*/ 02315000
*/*                                                          @Y30LB35*/ 02316000
*/********************************************************************/ 02317000
*                                                                  0615 02318000
*                                   /*                       @Y30LB35*/ 02319000
*FMTTRK1:                                                          0615 02320000
*   PROC;                           /*                       @Y30LB35*/ 02321000
*                                                                  0615 02322000
FMTTRK1  STM   @14,@12,12(@13)                                     0615 02323000
*   /*****************************************************************/ 02324000
*   /*                                                               */ 02325000
*   /* THE FOLLOWING DCL STRUCTURES ARE THE DSCBS            @Y30LB35*/ 02326000
*   /* USED TO CREATE THE VTOC.                              @Y30LB35*/ 02327000
*   /*                                                               */ 02328000
*   /*****************************************************************/ 02329000
*                                                                  0616 02330000
*/*      %INCLUDE SYSLIB(IECSDSL1)                                   */ 02331000
*                                                                  0616 02332000
*   DCL                                                            0616 02333000
*     1 IECSDSF4 BASED(F4PTR),      /* FORMAT 4 DSCB - DESCRIBED     */ 02334000
*      2 * CHAR(96);                /* IN THE FOLLOWING STRUCTURE    */ 02335000
*   DCL                                                            0617 02336000
*     1 IECSDSL4 BASED(ADDR(IECSDSF4)),/* START OF THE FORMAT 4 DSCB */ 02337000
*      2 DS4IDFMT CHAR(1),          /* FORMAT IDENTIFIER             */ 02338000
*      2 DS4HPCHR CHAR(5),          /* HIGHEST ADDRESS OF A FORMAT 1    02339000
*                                      DSCB                          */ 02340000
*      2 DS4DSREC CHAR(2),          /* NUMBER OF AVAILABLE DSCB'S    */ 02341000
*      2 DS4HCCHH CHAR(4),          /* CCHH OF NEXT AVAILABLE      0617 02342000
*                                      ALTERNATE TRACK               */ 02343000
*      2 DS4NOATK CHAR(2),          /* NUMBER OF REMAINING ALTERNATE    02344000
*                                      TRACKS                        */ 02345000
*      2 DS4VTOCI CHAR(1),          /* VTOC INDICATORS               */ 02346000
*      2 DS4NOEXT CHAR(1),          /* NUMBER OF EXTENTS IN VTOC     */ 02347000
*      2 * CHAR(2),                 /* RESERVED                      */ 02348000
*      2 DS4DEVCT CHAR(14),         /* DEVICE CONSTANTS              */ 02349000
*       3 DS4DEVSZ CHAR(4),         /* DEVICE SIZE                   */ 02350000
*       3 DS4DEVTK CHAR(2),         /* DEVICE TRACK LENGTH           */ 02351000
*       3 DS4DEVOV CHAR(2),         /* KEYED RECORD OVERHEAD         */ 02352000
*        4 DS4DEVI CHAR(1),         /* - NON-LAST KEYED RECORD     0617 02353000
*                                      OVERHEAD                      */ 02354000
*        4 DS4DEVL CHAR(1),         /* - LAST KEYED RECORD OVERHEAD  */ 02355000
*       3 DS4DEVK CHAR(1),          /* NON-KEYED RECORD OVERHEAD   0617 02356000
*                                      DIFFERENTIAL                  */ 02357000
*       3 DS4DEVFG CHAR(1),         /* FLAG BYTE                     */ 02358000
*       3 DS4DEVTL CHAR(2),         /* DEVICE TOLERANCE              */ 02359000
*       3 DS4DEVDT CHAR(1),         /* NUMBER OF DSCB'S PER TRACK    */ 02360000
*       3 DS4DEVDB CHAR(1),         /* NUMBER OF DIRECTORY BLOCKS PER   02361000
*                                      TRACK                         */ 02362000
*      2 DS4AMTIM CHAR(8),          /* VSAM TIME STAMP               */ 02363000
*      2 DS4AMCAT CHAR(3),          /* VSAM CATALOG INDICATOR        */ 02364000
*       3 DS4VSIND BIT(8),          /* VSAM INDICATORS               */ 02365000
*        4 DS4VSREF BIT(1),         /* A VSAM CATALOG REFERENCES THIS   02366000
*                                      VOLUME                        */ 02367000
*        4 DS4VSBAD BIT(1),         /* VSAM DATA SETS ON VOLUME ARE     02368000
*                                      UNUSABLE                      */ 02369000
*        4 * BIT(6),                /* RESERVED                      */ 02370000
*       3 DS4VSCRA PTR(16) BDY(BYTE),/* RELATIVE TRACK LOCATION OF 0617 02371000
*                                      THE CRA                       */ 02372000
*      2 DS4R2TIM CHAR(8),          /* VSAM VOLUME/CATALOG MATCH TIME   02373000
*                                      STAMP                         */ 02374000
*      2 * CHAR(5),                 /* RESERVED                      */ 02375000
*      2 DS4F6PTR CHAR(5),          /* POINTER TO FIRST FORMAT 6 DSCB*/ 02376000
*      2 DS4VTOCE CHAR(10),         /* VTOC EXTENT DESCRIPTION       */ 02377000
*      2 * CHAR(25),                /* RESERVED                      */ 02378000
*      2 DS4END CHAR(0);            /* END OF THE FORMAT 4 DSCB      */ 02379000
*   DCL                                                            0618 02380000
*     1 IECSDSF5 BASED(F5PTR),      /* FORMAT 5 DSCB - DESCRIBED     */ 02381000
*      2 * CHAR(140);               /* IN THE FOLLOWING STRUCTURE    */ 02382000
*   DCL                                                            0619 02383000
*     1 IECSDSL5 BASED(ADDR(IECSDSF5)),/* START OF THE FORMAT 5 DSCB */ 02384000
*      2 DS5KEYID CHAR(4),          /* KEY IDENTIFIER                */ 02385000
*      2 DS5AVEXT CHAR(5),          /* AVAILABLE EXTENT BYTES 1 - 2     02386000
*                                      RELATIVE TRACK ADDRESS OF THE    02387000
*                                      FIRST TRACK IN THE EXTENT   0619 02388000
*                                      BYTES 3 - 4 NUMBER OF UNUSED     02389000
*                                      CYLINDERS IN THE EXTENT BYTE 5   02390000
*                                      NUMBER OF ADDITIONAL UNUSED 0619 02391000
*                                      TRACKS                        */ 02392000
*      2 DS5EXTAV CHAR(35),         /* SEVEN AVAILABLE EXTENTS       */ 02393000
*      2 DS5FMTID CHAR(1),          /* FORMAT IDENTIFIER             */ 02394000
*      2 DS5MAVET CHAR(90),         /* EIGHTEEN AVAILABLE EXTENTS    */ 02395000
*      2 DS5PTRDS CHAR(5),          /* POINTER TO NEXT FORMAT 5 DSCB */ 02396000
*      2 DS5END CHAR(0);            /* END OF THE FORMAT 5 DSCB      */ 02397000
*   DCL                                                            0620 02398000
*     F5PTR PTR(31) BDY(WORD);      /* POINTER TO FMT 5 DSCB @Y30LB35*/ 02399000
*   DCL                                                            0621 02400000
*     F4PTR PTR(31) BDY(WORD);      /* POINTER TO FMT 4 DSCB @Y30LB35   02401000
*                                                            @Y30LB35*/ 02402000
*                                                                  0621 02403000
*   /*****************************************************************/ 02404000
*   /*                                                               */ 02405000
*   /* THIS IS THE STATIC PORTION OF THE                     @Y30LB35*/ 02406000
*   /* FORMAT 4 DSCB.                                        @Y30LB35*/ 02407000
*   /*                                                               */ 02408000
*   /*****************************************************************/ 02409000
*                                                                  0622 02410000
*   DCL                                                            0622 02411000
*     1 FMT4 STATIC BDY(WORD),      /*                       @Y30LB35*/ 02412000
*      2 * CHAR(44),                /*                       @Y30LB35*/ 02413000
*       3 *(44) CHAR(1) INIT((44)'04'X),/*                   @Y30LB35   02414000
*                                      KEY FOR FMT 4 DSCB    @Y30LB35*/ 02415000
*      2 * CHAR(1) INIT('F4'X),     /*                       @Y30LB35   02416000
*                                      ID OF FMT 4 DSCB      @Y30LB35*/ 02417000
*      2 * CHAR(5) INIT('0000000103'X),/*                    @Y30LB35   02418000
*                                      LAST USED DSCB        @Y30LB35*/ 02419000
*      2 * FIXED(15),               /*                       @Y30LB35   02420000
*                                      NUMBER DSCB           @Y30LB35*/ 02421000
*      2 * CHAR(4) INIT('01940000'X),/*                      @Y30LB35   02422000
*                                      CCHH OF NEXT ALT TRK  @Y30LB35*/ 02423000
*      2 * CHAR(2) INIT('0085'X),   /*                       @Y30LB35   02424000
*                                      NUMBER OF REMAIN ALT  @Y30LB35*/ 02425000
*      2 * CHAR(1) INIT('00'X),     /*                       @Y30LB35   02426000
*                                      VTOC INDICATOR        @Y30LB35*/ 02427000
*      2 * CHAR(1) INIT('01'X),     /*                       @Y30LB35   02428000
*                                      NUMBER EXT IN VTOC    @Y30LB35*/ 02429000
*      2 * CHAR(2) INIT('0000'X),   /*                       @Y30LB35   02430000
*                                      RESERVED              @Y30LB35*/ 02431000
*      2 * CHAR(4) INIT('019B0013'X),/*                      @Y30LB35   02432000
*                                      CCHH OF NEXT ALT      @Y30LB35*/ 02433000
*      2 * CHAR(2) INIT('336D'X),   /*                       @ZM01003   02434000
*                                      KEYED REC OVERHEAD    @Y30LB35*/ 02435000
*      2 * CHAR(1) INIT('C1'X),     /*                       @Y30LB35   02436000
*                                      NON-LAST KEYED REC    @Y30LB35*/ 02437000
*      2 * CHAR(1) INIT('C1'X),     /*                       @Y30LB35   02438000
*                                      LAST KEYED OVERHEAD   @Y30LB35*/ 02439000
*      2 * CHAR(1) INIT('3A'X),     /*                       @Y30LB35   02440000
*                                      NON-LAST KEYED O.H.   @Y30LB35*/ 02441000
*      2 * CHAR(1) INIT('01'X),     /*                       @Y30LB35   02442000
*                                      TOLANCE LAST RECD     @Y30LB35*/ 02443000
*      2 * CHAR(2) INIT('0200'X),   /*                       @Y30LB35   02444000
*                                      DEVICE TOLANCE        @Y30LB35   02445000
*                                      512 BYTES             @Y30LB35*/ 02446000
*      2 * CHAR(1) INIT('27'X),     /*                       @Y30LB35   02447000
*                                      NUMBER DSCB/TRK (39)  @Y30LB35*/ 02448000
*      2 * CHAR(1) INIT('1C'X),     /*                       @Y30LB35   02449000
*                                      NUM PDS DIR BLK/TRK   @Y30LB35*/ 02450000
*      2 * CHAR(8) INIT('0000000000000000'X),/*              @Y30LB35   02451000
*                                      VSAM TIME STAMP       @Y30LB35*/ 02452000
*      2 * CHAR(3) INIT('000000'X), /*                       @Y30LB35   02453000
*                                      VSAM CATLG INDICATOR  @Y30LB35*/ 02454000
*      2 *(13) CHAR(1) INIT((13)'00'X),/*                    @Y30LB35   02455000
*                                      RESERVED              @Y30LB35*/ 02456000
*      2 * CHAR(5) INIT('0000000000'X),/*                    @Y30LB35   02457000
*                                      PTR 1ST FMT 6 DSCB    @Y30LB35*/ 02458000
*      2 * CHAR(10),                /*                       @Y30LB35*/ 02459000
*       3 * CHAR(6) INIT('010000000001'X),/*                 @Y30LB35*/ 02460000
*       3 * CHAR(4),                /*                       @Y30LB35   02461000
*                                      VTOC EXT.             @Y30LB35*/ 02462000
*      2 *(25) CHAR(1) INIT((25)'00'X);/*                    @Y30LB35   02463000
*                                      RESERVED              @Y30LB35   02464000
*                                                            @Y30LB35*/ 02465000
*                                                                  0622 02466000
*   /*****************************************************************/ 02467000
*   /*                                                               */ 02468000
*   /* THE FOLLOWING DCL DEFINES DYNAMIC STORAGE             @Y30LB35*/ 02469000
*   /* STORAGE FOR THE FORMAT 4 DSCB.                        @Y30LB35*/ 02470000
*   /*                                                               */ 02471000
*   /*****************************************************************/ 02472000
*                                                                  0623 02473000
*   DCL                                                            0623 02474000
*     1 DSCBFMT4 BDY(WORD),         /*                       @Y30LB35*/ 02475000
*      2 * CHAR(44),                /*                       @Y30LB35*/ 02476000
*      2 DS4DATA CHAR(96);          /*                       @Y30LB35   02477000
*                                      DATA PORTION OF REC   @Y30LB35   02478000
*                                                            @Y30LB35*/ 02479000
*                                                                  0623 02480000
*   /*****************************************************************/ 02481000
*   /*                                                               */ 02482000
*   /* THE FOLLOWING DCL REDEFINES THE DS4VTOCE              @Y30LB35*/ 02483000
*   /* FIELD IN THE FMT4 DSCB DCL STRUCTURE                  @Y30LB35*/ 02484000
*   /*                                                               */ 02485000
*   /*****************************************************************/ 02486000
*                                                                  0624 02487000
*   DCL                                                            0624 02488000
*     1 VTOCE BASED(ADDR(DS4VTOCE)),/*                       @Y30LB35*/ 02489000
*      2 VTOCE1 CHAR(6),            /*                       @Y30LB35   02490000
*                                      NUMBER OF VTOC EXT    @Y30LB35   02491000
*                                      & VTOC CCHH OF BEG    @Y30LB35*/ 02492000
*      2 VTOCE2 CHAR(4);            /*                       @Y30LB35   02493000
*                                      VTOC CCHH OF END      @Y30LB35   02494000
*                                                            @Y30LB35*/ 02495000
*                                                                  0624 02496000
*   /*****************************************************************/ 02497000
*   /*                                                               */ 02498000
*   /* THIS IS THE STATIC PORTION OF THE                     @Y30LB35*/ 02499000
*   /* FORMAT 5 DSCB.                                        @Y30LB35*/ 02500000
*   /*                                                               */ 02501000
*   /*****************************************************************/ 02502000
*                                                                  0625 02503000
*   DCL                                                            0625 02504000
*     1 FMT5 STATIC BDY(WORD),      /*                       @Y30LB35*/ 02505000
*      2 * CHAR(4) INIT('05050505'X),/*                      @Y30LB35   02506000
*                                      KEY FOR FMT 5 DSCB    @Y30LB35*/ 02507000
*      2 * CHAR(5),                 /*                       @Y30LB35   02508000
*                                      1ST NON-USED TRACK    @Y30LB35*/ 02509000
*      2 * CHAR(35),                /*                       @Y30LB35*/ 02510000
*       3 *(35) CHAR(1) INIT((35)'00'X),/*                   @Y30LB35   02511000
*                                      7 EXT INIT ZEROS      @Y30LB35*/ 02512000
*      2 * CHAR(1) INIT('F5'X),     /*                       @Y30LB35   02513000
*                                      FMT 5 I.D.            @Y30LB35*/ 02514000
*      2 * CHAR(90),                /*                       @Y30LB35*/ 02515000
*       3 *(90) CHAR(1) INIT((90)'00'X),/*                   @Y30LB35   02516000
*                                      18 EXT INIT TO ZERO   @Y30LB35*/ 02517000
*      2 * CHAR(5) INIT('0000000000'X);/*                    @Y30LB35   02518000
*                                      NEXT DSCB FMT 5       @Y30LB35   02519000
*                                                            @Y30LB35*/ 02520000
*   DCL                                                            0626 02521000
*     DSCBFMT5 BDY(WORD) CHAR(140); /*                       @Y30LB35   02522000
*                                      DEF STORAGE FMT 5     @Y30LB35   02523000
*                                                            @Y30LB35*/ 02524000
*                                                                  0626 02525000
*   /*****************************************************************/ 02526000
*   /*                                                               */ 02527000
*   /* THE FOLLOWING STRUCTURE DEFINES THE                   @Y30LB35*/ 02528000
*   /* DS5AVEXT FIELD FOR ASSIGNMENT.                        @Y30LB35*/ 02529000
*   /*                                                               */ 02530000
*   /*****************************************************************/ 02531000
*                                                                  0627 02532000
*   DCL                                                            0627 02533000
*     1 AVEXT BASED(ADDR(DS5AVEXT)),/*                       @Y30LB35*/ 02534000
*      2 DS5RELTK FIXED(15),        /*                       @Y30LB35   02535000
*                                      TTR OF 1ST NON-USED   @Y30LB35   02536000
*                                      TRACK ON PACK.        @Y30LB35*/ 02537000
*      2 DS5CYLNO FIXED(15),        /*                       @Y30LB35   02538000
*                                      NUMBER OF UNUSED CYL  @Y30LB35*/ 02539000
*      2 DS5TRKNO FIXED(8);         /*                       @Y30LB35   02540000
*                                      NUMBER OF UNUSED TRK  @Y30LB35   02541000
*                                                            @Y30LB35*/ 02542000
*                                                                  0627 02543000
*   /*****************************************************************/ 02544000
*   /*                                                               */ 02545000
*   /* THIS FIELD WILL BE USED TO CALCULATE THE              @Y30LB35*/ 02546000
*   /* ENDING CCHH OF THE VTOC.                              @Y30LB35*/ 02547000
*   /*                                                               */ 02548000
*   /*****************************************************************/ 02549000
*                                                                  0628 02550000
*   DCL                                                            0628 02551000
*     1 VTOCCCHH CHAR(4) BDY(WORD), /*                       @Y30LB35*/ 02552000
*      2 VTOCCC FIXED(15),          /*                       @Y30LB35   02553000
*                                      CYLINDER VALUE        @Y30LB35*/ 02554000
*      2 VTOCHH FIXED(15);          /*                       @Y30LB35   02555000
*                                      HEAD(TRACK) VALUE     @Y30LB35*/ 02556000
*                                   /*                       @Y30LB35*/ 02557000
*                                                                  0629 02558000
*   /*****************************************************************/ 02559000
*   /*                                                               */ 02560000
*   /* SET UP TRACE POINT 'VSF1' IN TRACE TABLE              @Y30LB35*/ 02561000
*   /*                                                               */ 02562000
*   /*****************************************************************/ 02563000
*                                                                  0629 02564000
*   OLDERID2=NEWERID2;                                             0629 02565000
         L     @10,@PC00001                                        0629 02566000
         L     @10,GDTTR2(,@10)                                    0629 02567000
         MVC   @TS00001(95),NEWERID2(@10)                          0629 02568000
         MVC   OLDERID2(95,@10),@TS00001                           0629 02569000
*   NEWID2='VSF1';                  /*                       @Y30LB35*/ 02570000
*                                                                  0630 02571000
         MVC   NEWID2(4,@10),@CC01343                              0630 02572000
*   /*****************************************************************/ 02573000
*   /*                                                               */ 02574000
*   /* MOVE STATIC PORTION OF THE DSCB FORMAT                @Y30LB35*/ 02575000
*   /* FOUR AND FIVE TO DYNAMIC STORAGE.                     @Y30LB35*/ 02576000
*   /*                                                               */ 02577000
*   /*****************************************************************/ 02578000
*                                                                  0631 02579000
*   F4PTR=ADDR(DS4DATA);            /*                       @Y30LB35*/ 02580000
         LA    F4PTR,DS4DATA                                       0631 02581000
*   F5PTR=ADDR(DSCBFMT5);           /*                       @Y30LB35*/ 02582000
         LA    F5PTR,DSCBFMT5                                      0632 02583000
*   DSCBFMT4=FMT4;                  /*                       @Y30LB35*/ 02584000
         MVC   DSCBFMT4(140),FMT4                                  0633 02585000
*   DSCBFMT5=FMT5;                  /*                       @Y30LB35*/ 02586000
*                                                                  0634 02587000
         MVC   DSCBFMT5(140),FMT5                                  0634 02588000
*   /*****************************************************************/ 02589000
*   /*                                                               */ 02590000
*   /* INITALIZE THE UEXCP (PUT) EXPDATAB ARRAY.             @Y30LB35*/ 02591000
*   /*                                                               */ 02592000
*   /*****************************************************************/ 02593000
*                                                                  0635 02594000
*   EXPDATAP(1)=ADDR(DSCBFMT4);     /*                       @Y30LB35*/ 02595000
         LA    @10,EXPPARM                                         0635 02596000
         L     @10,EXPDATA(,@10)                                   0635 02597000
         LA    @07,DSCBFMT4                                        0635 02598000
         ST    @07,EXPDATAP(,@10)                                  0635 02599000
*   EXPKEYLN(1)=DSCBKYLN;           /*                       @Y30LB35*/ 02600000
         LH    @07,DSCBKYLN                                        0636 02601000
         STC   @07,EXPKEYLN(,@10)                                  0636 02602000
*   EXPDATAL(1)=DSCBDALN;           /*                       @Y30LB35*/ 02603000
         LH    @04,DSCBDALN                                        0637 02604000
         STH   @04,EXPDATAL(,@10)                                  0637 02605000
*   EXPDATAP(2)=ADDR(DSCBFMT5);     /*                       @Y30LB35*/ 02606000
         LA    @03,DSCBFMT5                                        0638 02607000
         ST    @03,EXPDATAP+8(,@10)                                0638 02608000
*   EXPKEYLN(2)=DSCBKYLN;           /*                       @Y30LB35*/ 02609000
         STC   @07,EXPKEYLN+8(,@10)                                0639 02610000
*   EXPDATAL(2)=DSCBDALN;           /*                       @Y30LB35*/ 02611000
         STH   @04,EXPDATAL+8(,@10)                                0640 02612000
*                                                                  0641 02613000
*   /*****************************************************************/ 02614000
*   /*                                                               */ 02615000
*   /* HERE LOOPING IS DONE UNTIL THE 37 FORMAT              @Y30LB35*/ 02616000
*   /* DSCB ARE INITALIZE INTO THE EXPDATAB ARRAY.           @Y30LB35*/ 02617000
*   /*                                                               */ 02618000
*   /*****************************************************************/ 02619000
*                                                                  0641 02620000
*   DO COUNTER=3 TO VTOCREC;        /*                       @Y30LB35*/ 02621000
         LA    COUNTER,3                                           0641 02622000
         B     @DE00641                                            0641 02623000
@DL00641 DS    0H                                                  0642 02624000
*     EXPDATAP(COUNTER)=ADDR(DSCBFMT0);/*                    @Y30LB35*/ 02625000
         LR    @10,COUNTER                                         0642 02626000
         SLA   @10,3                                               0642 02627000
         LA    @07,EXPPARM                                         0642 02628000
         L     @07,EXPDATA(,@07)                                   0642 02629000
         LA    @03,DSCBFMT0                                        0642 02630000
         LA    @01,0(@10,@07)                                      0642 02631000
         AL    @01,@CF01353                                        0642 02632000
         ST    @03,EXPDATAP-4(,@01)                                0642 02633000
*     EXPKEYLN(COUNTER)=DSCBKYLN;   /*                       @Y30LB35*/ 02634000
         LH    @03,DSCBKYLN                                        0643 02635000
         STC   @03,EXPKEYLN-8(@10,@07)                             0643 02636000
*     EXPDATAL(COUNTER)=DSCBDALN;   /*                       @Y30LB35*/ 02637000
         LH    @03,DSCBDALN                                        0644 02638000
         STH   @03,EXPDATAL-8(@10,@07)                             0644 02639000
*   END;                            /*                       @Y30LB35   02640000
*                                                            @Y30LB35*/ 02641000
*                                                                  0645 02642000
         AL    COUNTER,@CF00217                                    0645 02643000
@DE00641 CH    COUNTER,VTOCREC                                     0645 02644000
         BNH   @DL00641                                            0645 02645000
*   /*****************************************************************/ 02646000
*   /*                                                               */ 02647000
*   /* CALCULATE THE DS4DSREC. THIS IS DONE BY               @Y30LB35*/ 02648000
*   /* MULTIPLING THE CALLER NUMBER OF VTOC TRACKS           @Y30LB35*/ 02649000
*   /* THAT HAS BEEN REQUESTED BY 39 THE NUMBER OF           @Y30LB35*/ 02650000
*   /* DSCBS THAT WILL FIT ON ONE 3330 TRACK.                @Y30LB35*/ 02651000
*   /* NOW THE DSCBS USED FOR FORMAT 4 AND 5 ARE             @Y30LB35*/ 02652000
*   /* SUBTRACTED YIELDING NUMBER OF FREE DSCBS.             @Y30LB35*/ 02653000
*   /*                                                               */ 02654000
*   /*****************************************************************/ 02655000
*                                                                  0646 02656000
*   DS4DSREC=VSVTOCSZ*VTOCREC-TWO;  /*                       @Y30LB35*/ 02657000
*                                                                  0646 02658000
         L     @10,@PC00001+8                                      0646 02659000
         L     @10,VSVTOCSZ(,@10)                                  0646 02660000
         LR    @07,@10                                             0646 02661000
         MH    @07,VTOCREC                                         0646 02662000
         SH    @07,TWO                                             0646 02663000
         STCM  @07,3,DS4DSREC(F4PTR)                               0646 02664000
*   /*****************************************************************/ 02665000
*   /*                                                               */ 02666000
*   /* THE ENDING VTOC CCHH IS CALCULATED AND                @Y30LB35*/ 02667000
*   /* MOVED INTO THE DS4VTOCE FIELD OF FMT4 DSCB.           @Y30LB35*/ 02668000
*   /*                                                               */ 02669000
*   /*****************************************************************/ 02670000
*                                                                  0647 02671000
*   VTOCCC=VSVTOCSZ/TRACKSIZ;       /*                       @Y30LB35*/ 02672000
         LH    @07,TRACKSIZ                                        0647 02673000
         LR    @00,@10                                             0647 02674000
         SRDA  @00,32                                              0647 02675000
         DR    @00,@07                                             0647 02676000
         STH   @01,VTOCCC                                          0647 02677000
*   VTOCHH=VSVTOCSZ-(VTOCCC*TRACKSIZ);/*                     @Y30LB35*/ 02678000
         MR    @00,@07                                             0648 02679000
         LCR   @01,@01                                             0648 02680000
         ALR   @01,@10                                             0648 02681000
         STH   @01,VTOCHH                                          0648 02682000
*   VTOCE2=VTOCCCHH;                /*                       @Y30LB35*/ 02683000
*                                                                  0649 02684000
         MVC   VTOCE2+61(4,F4PTR),VTOCCCHH                         0649 02685000
*   /*****************************************************************/ 02686000
*   /*                                                               */ 02687000
*   /* THE DS5AVEXT FIELD IS CALCULATED AND MOVED            @Y30LB35*/ 02688000
*   /* INTO THE FORMAT 5 DSCB.                               @Y30LB35*/ 02689000
*   /*                                                               */ 02690000
*   /*****************************************************************/ 02691000
*                                                                  0650 02692000
*   DS5RELTK=VSVTOCSZ+ONE;          /*                       @Y30LB35*/ 02693000
         LA    @04,4                                               0650 02694000
         ALR   @04,F5PTR                                           0650 02695000
         LH    @03,ONE                                             0650 02696000
         ALR   @03,@10                                             0650 02697000
         STH   @03,DS5RELTK(,@04)                                  0650 02698000
*   DS5CYLNO=PACKSIZE-(VSVTOCSZ/TRACKSIZ);/*                 @Y30LB35*/ 02699000
         LR    @08,@10                                             0651 02700000
         SRDA  @08,32                                              0651 02701000
         DR    @08,@07                                             0651 02702000
         LCR   @09,@09                                             0651 02703000
         AH    @09,PACKSIZE                                        0651 02704000
         STH   @09,DS5CYLNO(,@04)                                  0651 02705000
*                                                                  0652 02706000
*   /*****************************************************************/ 02707000
*   /*                                                               */ 02708000
*   /* BASED ON WHETHER THE VTOC ENDS ON A CYLINDER          @Y30LB35*/ 02709000
*   /* BOUNDRY THE DS5RELTK IS SET TO ZERO.                  @Y30LB35*/ 02710000
*   /*                                                               */ 02711000
*   /*****************************************************************/ 02712000
*                                                                  0652 02713000
*   IF VTOCHH<LASTTRK               /*                       @Y30LB35*/ 02714000
*     THEN                          /*                       @Y30LB35*/ 02715000
         LH    @10,LASTTRK                                         0652 02716000
         CR    @01,@10                                             0652 02717000
         BNL   @RF00652                                            0652 02718000
*     DS5TRKNO=LASTTRK-VTOCHH;      /*                       @Y30LB35*/ 02719000
         SLR   @10,@01                                             0653 02720000
         STC   @10,DS5TRKNO(,@04)                                  0653 02721000
*   ELSE                            /*                       @Y30LB35*/ 02722000
*     DS5TRKNO=ZERO;                /*                       @Y30LB35*/ 02723000
*                                                                  0654 02724000
         B     @RC00652                                            0654 02725000
@RF00652 MVC   DS5TRKNO+4(1,F5PTR),ZERO+1                          0654 02726000
*   /*****************************************************************/ 02727000
*   /*                                                               */ 02728000
*   /* CONTROL IS RETURNED TO INITVOLM WHICH WILL            @Y30LB35*/ 02729000
*   /* ISSUE UEXCP MACRO WRITING THE CYL 0 TRK 1             @Y30LB35*/ 02730000
*   /*                                                               */ 02731000
*   /*****************************************************************/ 02732000
*                                                                  0655 02733000
*   RETURN CODE(0);                 /*                       @Y30LB35*/ 02734000
@RC00652 SLR   @15,@15                                             0655 02735000
         L     @14,12(,@13)                                        0655 02736000
         LM    @00,@12,20(@13)                                     0655 02737000
         BR    @14                                                 0655 02738000
*   END FMTTRK1;                    /*                       @Y30LB35*/ 02739000
*   END IDCVS02                     /*                       @Y30LB35*/ 02740000
*                                                                  0657 02741000
*/* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.     */ 02742000
*/*%INCLUDE SYSLIB  (AMSDF01 )                                       */ 02743000
*/*%INCLUDE SYSLIB  (AMSDF00 )                                       */ 02744000
*/*@INCLUDE SYSLIB  (AMSDF02 )                                       */ 02745000
*/*%INCLUDE SYSLIB  (IDCDF04 )                                       */ 02746000
*/*%INCLUDE SYSLIB  (IECSDSL1)                                       */ 02747000
*                                                                  0657 02748000
*       ;                                                          0657 02749000
@DATA    DS    0H                                                       02750000
@CH00041 DC    H'4'                                                     02751000
@CH00154 DC    H'6'                                                     02752000
@CH00308 DC    H'24'                                                    02753000
@CH01346 DC    H'80'                                                    02754000
@CH01349 DC    H'144'                                                   02755000
@DATD    DSECT                                                          02756000
         DS    0F                                                       02757000
@SA00001 DS    18F                                                      02758000
@PC00001 DS    3F                                                       02759000
@SA00002 DS    15F                                                      02760000
@SA00003 DS    15F                                                      02761000
@SA00004 DS    15F                                                      02762000
@AL00001 DS    6A                                                       02763000
IDCVS02  CSECT                                                          02764000
         DS    0F                                                       02765000
@CF00114 DC    F'0'                                                     02766000
@CF00217 DC    F'1'                                                     02767000
@CF01353 DC    F'-4'                                                    02768000
@DATD    DSECT                                                          02769000
         DS    0D                                                       02770000
LISTSCAN DS    A                                                        02771000
IOCSPTR  DS    A                                                        02772000
OPNPTR   DS    A                                                        02773000
DDSTRU   DS    A                                                        02774000
FSADDR   DS    A                                                        02775000
ERCNVADR DS    A                                                        02776000
DMPINDEX DS    A                                                        02777000
CCMSGPTR DS    A                                                        02778000
CMMSGPTR DS    A                                                        02779000
CTMSGPTR DS    A                                                        02780000
ELEMENT  DS    F                                                        02781000
IOXPTR   DS    A                                                        02782000
UCBADDR  DS    A                                                        02783000
UNITABLP DS    A                                                        02784000
LISTPTR  DS    A                                                        02785000
TESTRC   DS    H                                                        02786000
SETRC    DS    H                                                        02787000
LISTLN   DS    FL1                                                      02788000
@TS00001 DS    CL95                                                     02789000
PRINTARG DS    CL20                                                     02790000
EXOPARM  DS    CL34                                                     02791000
         DS    CL2                                                      02792000
EXGPARM  DS    CL32                                                     02793000
EXPPARM  DS    CL20                                                     02794000
EXDATA   DS    CL320                                                    02795000
LABELREC DS    CL84                                                     02796000
RTNUNIT  DS    CL11                                                     02797000
         DS    CL1                                                      02798000
QRNAMES  DS    CL31                                                     02799000
         ORG   QRNAMES                                                  02800000
QNAME    DS    CL8                                                      02801000
RNAME    DS    CL23                                                     02802000
         ORG   RNAME                                                    02803000
RLENGTH  DS    FL1                                                      02804000
RVOLSER  DS    CL6                                                      02805000
RQUAL    DS    CL16                                                     02806000
         ORG   QRNAMES+31                                               02807000
         DS    CL1                                                      02808000
CCHHR    DS    CL5                                                      02809000
         ORG   CCHHR                                                    02810000
CC       DS    FL2                                                      02811000
HH       DS    FL2                                                      02812000
R        DS    FL1                                                      02813000
         ORG   CCHHR+5                                                  02814000
         DS    CL3                                                      02815000
DSCBFMT4 DS    CL140                                                    02816000
         ORG   DSCBFMT4                                                 02817000
@NM00140 DS    CL44                                                     02818000
DS4DATA  DS    CL96                                                     02819000
         ORG   DSCBFMT4+140                                             02820000
DSCBFMT5 DS    CL140                                                    02821000
VTOCCCHH DS    CL4                                                      02822000
         ORG   VTOCCCHH                                                 02823000
VTOCCC   DS    FL2                                                      02824000
VTOCHH   DS    FL2                                                      02825000
         ORG   VTOCCCHH+4                                               02826000
         ORG   *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA                02827000
@ENDDATD EQU   *                                                        02828000
IDCVS02  CSECT                                                          02829000
         DS    0F                                                       02830000
@SIZDATD DC    AL1(0)                                                   02831000
         DC    AL3(@ENDDATD-@DATD)                                      02832000
         DS    0D                                                       02833000
ZERO     DC    H'0'                                                     02834000
ONE      DC    H'1'                                                     02835000
TWO      DC    H'2'                                                     02836000
THREE    DC    H'3'                                                     02837000
MINVTOC  DC    H'1'                                                     02838000
MAXTRKS  DC    H'18'                                                    02839000
TRACKTWO DC    H'2'                                                     02840000
TRACKSIZ DC    H'19'                                                    02841000
MINSIZE  DC    H'1'                                                     02842000
LASTTRK  DC    H'18'                                                    02843000
PACKSIZE DC    H'403'                                                   02844000
CLOSEBAD DC    H'8'                                                     02845000
VTOCREC  DC    H'39'                                                    02846000
DSCBKYLN DC    H'44'                                                    02847000
DSCBDALN DC    H'96'                                                    02848000
@CC01139 DC    C'VSMN'                                                  02849000
@CC01140 DC    C'VSBG'                                                  02850000
@CC01144 DC    C'VSOT'                                                  02851000
@CC01148 DC    C'VSIN'                                                  02852000
@CC01155 DC    C'VSGL'                                                  02853000
@CC01159 DC    C'VSPL'                                                  02854000
@CC01218 DC    C'VSF0'                                                  02855000
@CC01343 DC    C'VSF1'                                                  02856000
@CC01039 DC    C'CM0'                                                   02857000
ALL      DC    CL3'ALL'                                                 02858000
FORMAT   DC    CL4'FORM'                                                02859000
HSECOND  DC    CL4'HSEC'                                                02860000
CLOCK    DC    CL4'KLOK'                                                02861000
SETZERO  DC    CL4'ZERO'                                                02862000
SETBLANK DC    CL4'BLNK'                                                02863000
NOSET    DC    CL4'NSET'                                                02864000
OVERRIDE DC    CL4'OVRD'                                                02865000
ACQUIRE  DC    CL8'ACQUIRE '                                            02866000
RELINQ   DC    CL8'RELINQ  '                                            02867000
MOUNT    DC    CL8'MOUNT   '                                            02868000
DEMOUNT  DC    CL8'DEMOUNT '                                            02869000
DEFINE   DC    CL8'DEFINE  '                                            02870000
MOVE     DC    CL8'MOVE    '                                            02871000
TRACEQ   DC    CL8'TRACEQ  '                                            02872000
COPYTABL DC    CL8'COPYTABL'                                            02873000
COPYCRTG DC    CL8'COPYCRTG'                                            02874000
COPYVOL  DC    CL8'COPYVOL '                                            02875000
VVIC     DC    CL8'VVIC    '                                            02876000
TUNE     DC    CL8'TUNE    '                                            02877000
NAMES    DC    CL4'NAME'                                                02878000
UNIT     DC    CL4'UNIT'                                                02879000
SHR      DC    CL4'SHR '                                                02880000
EXCL     DC    CL4'EXCL'                                                02881000
NOWAIT   DC    CL4'NWAI'                                                02882000
WAIT     DC    CL4'WAIT'                                                02883000
SECCHECK DC    CL8'SECCHECK'                                            02884000
SCRVTOC  DC    CL8'SCRVTOC '                                            02885000
GETVTOC  DC    CL8'GETVTOC '                                            02886000
PUTVTOC  DC    CL8'PUTVTOC '                                            02887000
RECATLG  DC    CL8'RECATLG '                                            02888000
INITVOL  DC    CL8'INITVOL '                                            02889000
CHECK    DC    CL8'CHECK   '                                            02890000
POSTUCB  DC    CL8'POSTUCB '                                            02891000
GET      DC    CL8'GET     '                                            02892000
PUT      DC    CL8'PUT     '                                            02893000
CLOSE    DC    CL8'CLOSE   '                                            02894000
OPEN     DC    CL8'OPEN    '                                            02895000
PUTLABEL DC    CL8'PUTLABEL'                                            02896000
GETLABEL DC    CL8'GETLABEL'                                            02897000
CANCEL   DC    CL8'CANCEL  '                                            02898000
SET      DC    CL8'SET     '                                            02899000
SELECTX  DC    CL8'SELECTX '                                            02900000
CHANGEX  DC    CL8'CHANGEX '                                            02901000
SELECTDD DC    CL8'SELECTDD'                                            02902000
SELECTDS DC    CL8'SELECTDS'                                            02903000
TBLREST  DC    CL8'TBLREST '                                            02904000
NULLIFYC DC    CL8'NULLIFYC'                                            02905000
RDMSC    DC    CL8'RDMSC   '                                            02906000
RDMSCTBL DC    CL8'RDMSCTBL'                                            02907000
RDCARTLB DC    CL8'RDCARTLB'                                            02908000
AUDITCEL DC    CL8'AUDITCEL'                                            02909000
RDSTGAD  DC    CL8'RDSTGAD '                                            02910000
MODID    DC    CL4'VS02'                                                02911000
FIXAREA  DS    CL256                                                    02912000
         ORG   FIXAREA                                                  02913000
@NM00085 DC    256X'00'                                                 02914000
         ORG   FIXAREA+256                                              02915000
AMSQNAME DC    CL8'SYSZAMS'                                             02916000
REALQUAL DC    CL16'.REAL.RESERVE   '                                   02917000
VIRTQUAL DC    CL16'.VIRTUAL.RESERVE'                                   02918000
CCHH0    DC    X'0000000000'                                            02919000
CCHH1    DC    X'0000000100'                                            02920000
CCHH2    DC    X'0000000200'                                            02921000
CCHH3    DC    X'0000000300'                                            02922000
NULLVAL  DC    X'000000000000'                                          02923000
VOLCCHHR DC    X'0000000003'                                            02924000
         DS    CL1                                                      02925000
DSCBFMT0 DS    CL140                                                    02926000
         ORG   DSCBFMT0                                                 02927000
@NM00086 DS    CL140                                                    02928000
         ORG   @NM00086                                                 02929000
@NM00087 DC    140X'00'                                                 02930000
         ORG   DSCBFMT0+140                                             02931000
RECORD1  DS    CL28                                                     02932000
         ORG   RECORD1                                                  02933000
REC1KEY  DC    CL4'IPL1'                                                02934000
@NM00088 DC    X'000600000000000F'                                      02935000
@NM00089 DC    X'0300000000000001'                                      02936000
@NM00090 DC    X'0000000000000000'                                      02937000
         ORG   RECORD1+28                                               02938000
RECORD2  DS    CL148                                                    02939000
         ORG   RECORD2                                                  02940000
REC2KEY  DC    CL4'IPL2'                                                02941000
@NM00091 DC    X'07003AB840000006'                                      02942000
@NM00092 DC    X'31003ABE40000005'                                      02943000
@NM00093 DC    X'08003AA000000001'                                      02944000
@NM00094 DC    X'0600000020000E29'                                      02945000
@NM00095 DS    CL112                                                    02946000
         ORG   @NM00095                                                 02947000
@NM00096 DC    112X'00'                                                 02948000
         ORG   RECORD2+148                                              02949000
RECORD3  DS    CL84                                                     02950000
         ORG   RECORD3                                                  02951000
@NM00097 DC    CL4'VOL1'                                                02952000
@NM00098 DC    CL3'VOL'                                                 02953000
@NM00099 DC    CL1'1'                                                   02954000
@NM00100 DS    CL6                                                      02955000
@NM00101 DC    CL1'0'                                                   02956000
@NM00102 DS    CL5                                                      02957000
@NM00103 DC    CL25'                         '                          02958000
@NM00104 DS    CL10                                                     02959000
@NM00105 DS    CL29                                                     02960000
         ORG   @NM00105                                                 02961000
@NM00106 DC    29CL1' '                                                 02962000
         ORG   RECORD3+84                                               02963000
TTR0     DC    X'0000000101'                                            02964000
         DS    CL3                                                      02965000
FMT4     DS    CL140                                                    02966000
         ORG   FMT4                                                     02967000
@NM00113 DS    CL44                                                     02968000
         ORG   @NM00113                                                 02969000
@NM00114 DC    44X'04'                                                  02970000
         ORG   FMT4+44                                                  02971000
@NM00115 DC    X'F4'                                                    02972000
@NM00116 DC    X'0000000103'                                            02973000
@NM00117 DS    FL2                                                      02974000
@NM00118 DC    X'01940000'                                              02975000
@NM00119 DC    X'0085'                                                  02976000
@NM00120 DC    X'00'                                                    02977000
@NM00121 DC    X'01'                                                    02978000
@NM00122 DC    X'0000'                                                  02979000
@NM00123 DC    X'019B0013'                                              02980000
@NM00124 DC    X'336D'                                                  02981000
@NM00125 DC    X'C1'                                                    02982000
@NM00126 DC    X'C1'                                                    02983000
@NM00127 DC    X'3A'                                                    02984000
@NM00128 DC    X'01'                                                    02985000
@NM00129 DC    X'0200'                                                  02986000
@NM00130 DC    X'27'                                                    02987000
@NM00131 DC    X'1C'                                                    02988000
@NM00132 DC    X'0000000000000000'                                      02989000
@NM00133 DC    X'000000'                                                02990000
@NM00134 DC    13X'00'                                                  02991000
@NM00135 DC    X'0000000000'                                            02992000
@NM00136 DS    CL10                                                     02993000
         ORG   @NM00136                                                 02994000
@NM00137 DC    X'010000000001'                                          02995000
@NM00138 DS    CL4                                                      02996000
         ORG   FMT4+115                                                 02997000
@NM00139 DC    25X'00'                                                  02998000
         ORG   FMT4+140                                                 02999000
FMT5     DS    CL140                                                    03000000
         ORG   FMT5                                                     03001000
@NM00141 DC    X'05050505'                                              03002000
@NM00142 DS    CL5                                                      03003000
@NM00143 DS    CL35                                                     03004000
         ORG   @NM00143                                                 03005000
@NM00144 DC    35X'00'                                                  03006000
         ORG   FMT5+44                                                  03007000
@NM00145 DC    X'F5'                                                    03008000
@NM00146 DS    CL90                                                     03009000
         ORG   @NM00146                                                 03010000
@NM00147 DC    90X'00'                                                  03011000
         ORG   FMT5+135                                                 03012000
@NM00148 DC    X'0000000000'                                            03013000
         ORG   FMT5+140                                                 03014000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       03015000
@01      EQU   01                                                       03016000
@02      EQU   02                                                       03017000
@03      EQU   03                                                       03018000
@04      EQU   04                                                       03019000
@05      EQU   05                                                       03020000
@06      EQU   06                                                       03021000
@07      EQU   07                                                       03022000
@08      EQU   08                                                       03023000
@09      EQU   09                                                       03024000
@10      EQU   10                                                       03025000
@11      EQU   11                                                       03026000
@12      EQU   12                                                       03027000
@13      EQU   13                                                       03028000
@14      EQU   14                                                       03029000
@15      EQU   15                                                       03030000
F5PTR    EQU   @05                                                      03031000
F4PTR    EQU   @06                                                      03032000
VTOCNUM  EQU   @04                                                      03033000
COUNTER  EQU   @04                                                      03034000
RTNREG   EQU   @15                                                      03035000
REG13    EQU   @13                                                      03036000
REG14    EQU   @14                                                      03037000
REG15    EQU   @15                                                      03038000
REG0     EQU   @00                                                      03039000
REG1     EQU   @01                                                      03040000
REG10    EQU   @10                                                      03041000
REG11    EQU   @11                                                      03042000
REG12    EQU   @12                                                      03043000
REG2     EQU   @02                                                      03044000
REG3     EQU   @03                                                      03045000
REG4     EQU   @04                                                      03046000
REG5     EQU   @05                                                      03047000
REG6     EQU   @06                                                      03048000
REG7     EQU   @07                                                      03049000
REG8     EQU   @08                                                      03050000
REG9     EQU   @09                                                      03051000
IDCSAEP0 EQU   0                                                        03052000
IDCSARV0 EQU   0                                                        03053000
IDCSASI0 EQU   0                                                        03054000
TRACE1   EQU   0                                                        03055000
OLDERID1 EQU   TRACE1                                                   03056000
TRACE2   EQU   0                                                        03057000
OLDERID2 EQU   TRACE2                                                   03058000
NEWID2   EQU   TRACE2+95                                                03059000
NEWERID2 EQU   5                                                        03060000
CIRAGL   EQU   0                                                        03061000
CIRTYPE  EQU   CIRAGL                                                   03062000
ALLAGL   EQU   0                                                        03063000
ALLSTS   EQU   ALLAGL+24                                                03064000
ALLDSP   EQU   ALLAGL+25                                                03065000
ALLORG   EQU   ALLAGL+26                                                03066000
ALLOPT   EQU   ALLAGL+28                                                03067000
UNITABL  EQU   0                                                        03068000
UNITUCB  EQU   UNITABL                                                  03069000
UNITADR  EQU   UNITABL+4                                                03070000
@NM00010 EQU   UNITADR                                                  03071000
UNITSTAT EQU   UNITABL+6                                                03072000
IDCIO050 EQU   0                                                        03073000
IOCSTR   EQU   0                                                        03074000
IOCDSO   EQU   IOCSTR+16                                                03075000
IOCRFM   EQU   IOCSTR+17                                                03076000
IOCMAC   EQU   IOCSTR+18                                                03077000
IOCMAC2  EQU   IOCSTR+19                                                03078000
IOCCHP   EQU   IOCSTR+20                                                03079000
IOCMSG   EQU   IOCSTR+21                                                03080000
IOCRBA   EQU   IOCSTR+40                                                03081000
IOCTTR   EQU   IOCRBA                                                   03082000
IOCMEM   EQU   IOCSTR+44                                                03083000
IOCNWM   EQU   IOCSTR+48                                                03084000
OPNAGL   EQU   0                                                        03085000
OPNOPT   EQU   OPNAGL                                                   03086000
OPNRFM   EQU   OPNAGL+1                                                 03087000
OPNTYP   EQU   OPNAGL+2                                                 03088000
OPNMOD   EQU   OPNAGL+3                                                 03089000
OPNDEV   EQU   OPNAGL+24                                                03090000
OPNDSO   EQU   OPNAGL+41                                                03091000
OPNOPT2  EQU   OPNAGL+42                                                03092000
IOINFOPT EQU   0                                                        03093000
UVOLLIST EQU   0                                                        03094000
UVOLENT  EQU   UVOLLIST+2                                               03095000
AMSTP011 EQU   0                                                        03096000
DARGLIST EQU   0                                                        03097000
DARGDBP  EQU   DARGLIST                                                 03098000
DARGSTID EQU   DARGLIST+8                                               03099000
DARGSMOD EQU   DARGSTID                                                 03100000
DARGSENT EQU   DARGSTID+3                                               03101000
DARGILP  EQU   DARGLIST+12                                              03102000
DARGARY  EQU   DARGLIST+20                                              03103000
DARGINS  EQU   DARGARY                                                  03104000
DARGINL  EQU   DARGARY+2                                                03105000
FMTLIST  EQU   0                                                        03106000
FMTFLGS  EQU   FMTLIST                                                  03107000
FMTSPF   EQU   FMTLIST+2                                                03108000
FMTRFNO  EQU   FMTSPF                                                   03109000
FMTILEN  EQU   FMTRFNO                                                  03110000
FMTIOFF  EQU   FMTLIST+4                                                03111000
FMTTRBC  EQU   FMTIOFF                                                  03112000
FMTSTO   EQU   FMTTRBC                                                  03113000
FMTOCOL  EQU   FMTLIST+6                                                03114000
FMTCNVF  EQU   FMTLIST+10                                               03115000
ERCNVTAB EQU   0                                                        03116000
ERTYPE   EQU   ERCNVTAB                                                 03117000
EROPER   EQU   ERCNVTAB+1                                               03118000
EROSOPER EQU   ERCNVTAB+2                                               03119000
IDCDB010 EQU   0                                                        03120000
DMPITM   EQU   0                                                        03121000
DMPARY   EQU   0                                                        03122000
CCMSG    EQU   0                                                        03123000
CMMSG    EQU   0                                                        03124000
CMVOLFLG EQU   CMMSG+6                                                  03125000
CTMSG    EQU   0                                                        03126000
CTARRAY  EQU   CTMSG+4                                                  03127000
MDAGL    EQU   0                                                        03128000
MDFLAGS  EQU   MDAGL+30                                                 03129000
MDVTOC   EQU   MDAGL+32                                                 03130000
PUAGL    EQU   0                                                        03131000
CKAGL    EQU   0                                                        03132000
CKFLAGS  EQU   CKAGL+28                                                 03133000
EXCLAGL  EQU   0                                                        03134000
EXCLFLAG EQU   EXCLAGL+22                                               03135000
EXOARG   EQU   0                                                        03136000
EXODDN   EQU   EXOARG+8                                                 03137000
EXOVSN   EQU   EXOARG+16                                                03138000
EXOUCB   EQU   EXOARG+20                                                03139000
EXOCTLBK EQU   EXOARG+28                                                03140000
EXOPT    EQU   EXOARG+32                                                03141000
EXOLAB   EQU   EXOPT                                                    03142000
EXONEW   EQU   EXOPT                                                    03143000
EXFLG    EQU   EXOARG+33                                                03144000
EXOREAD  EQU   EXFLG                                                    03145000
EXGARG   EQU   0                                                        03146000
EXGCTLBK EQU   EXGARG+8                                                 03147000
EXGCCHH2 EQU   EXGARG+16                                                03148000
EXGRECNO EQU   EXGARG+20                                                03149000
EXGDATAP EQU   EXGARG+24                                                03150000
EXGKEYLN EQU   EXGARG+28                                                03151000
EXGDATAL EQU   EXGARG+30                                                03152000
EXPARG   EQU   0                                                        03153000
EXPHEAD  EQU   EXPARG                                                   03154000
EXPCTLBK EQU   EXPARG+8                                                 03155000
EXPDATA  EQU   EXPARG+12                                                03156000
EXPCCHHR EQU   EXPARG+16                                                03157000
EXPDATAB EQU   0                                                        03158000
EXPRECNO EQU   EXPDATAB                                                 03159000
EXPARRAY EQU   EXPDATAB+4                                               03160000
EXPDATAP EQU   EXPARRAY                                                 03161000
EXPKEYLN EQU   EXPARRAY+4                                               03162000
EXPDATAL EQU   EXPARRAY+6                                               03163000
VS2AGL   EQU   0                                                        03164000
VS2HEAD  EQU   VS2AGL                                                   03165000
VSUCBPTR EQU   VS2AGL+8                                                 03166000
VSVTOCSZ EQU   VS2AGL+12                                                03167000
VSOWNPTR EQU   VS2AGL+16                                                03168000
VSVOLPTR EQU   VS2AGL+20                                                03169000
VSIOBKPT EQU   VS2AGL+24                                                03170000
VSLABOPT EQU   VS2AGL+28                                                03171000
VSOWNER  EQU   VSLABOPT                                                 03172000
VSVOLSER EQU   VSLABOPT                                                 03173000
VSNOVTOC EQU   VSLABOPT                                                 03174000
VSVOLUME EQU   VS2AGL+29                                                03175000
VS2MSG   EQU   VS2AGL+35                                                03176000
VS2TOV   EQU   VS2MSG                                                   03177000
VS2RESOP EQU   VS2AGL+36                                                03178000
VS2RES   EQU   VS2RESOP                                                 03179000
VS2REAL  EQU   VS2RESOP                                                 03180000
VSDDNAME EQU   VS2AGL+37                                                03181000
VSVTOCPT EQU   VS2AGL+48                                                03182000
VS1AGL   EQU   0                                                        03183000
VSSECOPT EQU   VS1AGL+68                                                03184000
VSVTOPT  EQU   VS1AGL+69                                                03185000
VSCATOPT EQU   VS1AGL+70                                                03186000
VSRETURN EQU   VS1AGL+71                                                03187000
VSMSG    EQU   VS1AGL+72                                                03188000
VSRESOPT EQU   VS1AGL+73                                                03189000
RCTAGL   EQU   0                                                        03190000
RCTOPT   EQU   RCTAGL+8                                                 03191000
STAEPARM EQU   0                                                        03192000
STARCVY  EQU   STAEPARM+52                                              03193000
STARETRY EQU   STAEPARM+53                                              03194000
VOLLABEL EQU   0                                                        03195000
VOLKEY   EQU   VOLLABEL                                                 03196000
VOLSERNO EQU   VOLLABEL+8                                               03197000
VOLVTOC  EQU   VOLLABEL+15                                              03198000
VOLOWNER EQU   VOLLABEL+45                                              03199000
SV82LIST EQU   0                                                        03200000
@NM00066 EQU   SV82LIST+4                                               03201000
SV82DCBP EQU   @NM00066                                                 03202000
@NM00067 EQU   SV82LIST+12                                              03203000
SV82WRKP EQU   @NM00067                                                 03204000
SRTAGL   EQU   0                                                        03205000
LCTINFO  EQU   0                                                        03206000
LCTFLAGS EQU   LCTINFO+32                                               03207000
UCTAGL   EQU   0                                                        03208000
UCTFLAGS EQU   UCTAGL+68                                                03209000
SELAGL   EQU   0                                                        03210000
SELFLAGS EQU   SELAGL+22                                                03211000
DATESAGL EQU   0                                                        03212000
DATESOPT EQU   DATESAGL+20                                              03213000
VS3AGL   EQU   0                                                        03214000
VS3FLAGS EQU   VS3AGL+58                                                03215000
VSDVTOC  EQU   0                                                        03216000
VSDSTAT  EQU   0                                                        03217000
VSDSFLG1 EQU   VSDSTAT+16                                               03218000
VSDFLG2  EQU   VSDSTAT+17                                               03219000
VSDSCR   EQU   0                                                        03220000
VSDSCRFL EQU   VSDSCR+4                                                 03221000
VSDUSAGE EQU   0                                                        03222000
VSDDORG  EQU   VSDUSAGE+9                                               03223000
VSDALLOC EQU   VSDUSAGE+10                                              03224000
VSDUSEF  EQU   VSDUSAGE+11                                              03225000
VSDDSORG EQU   VSDUSAGE+16                                              03226000
VSDBLOCK EQU   0                                                        03227000
VSDSPACE EQU   VSDBLOCK+12                                              03228000
VSDARRAY EQU   VSDBLOCK+16                                              03229000
VSDVARY  EQU   VSDARRAY+48                                              03230000
USERUCB  EQU   0                                                        03231000
USEROWN  EQU   0                                                        03232000
USERLAB  EQU   0                                                        03233000
USERIOXP EQU   0                                                        03234000
VOLSER   EQU   0                                                        03235000
OWNER    EQU   0                                                        03236000
VTOCADDR EQU   0                                                        03237000
IECSDSF4 EQU   0                                                        03238000
IECSDSL4 EQU   0                                                        03239000
DS4DSREC EQU   IECSDSL4+6                                               03240000
DS4DEVCT EQU   IECSDSL4+18                                              03241000
DS4DEVOV EQU   DS4DEVCT+6                                               03242000
DS4AMCAT EQU   IECSDSL4+40                                              03243000
DS4VSIND EQU   DS4AMCAT                                                 03244000
DS4VTOCE EQU   IECSDSL4+61                                              03245000
IECSDSF5 EQU   0                                                        03246000
IECSDSL5 EQU   0                                                        03247000
DS5AVEXT EQU   IECSDSL5+4                                               03248000
VTOCE    EQU   0                                                        03249000
VTOCE2   EQU   VTOCE+6                                                  03250000
AVEXT    EQU   0                                                        03251000
DS5RELTK EQU   AVEXT                                                    03252000
DS5CYLNO EQU   AVEXT+2                                                  03253000
DS5TRKNO EQU   AVEXT+4                                                  03254000
AMSTP041 EQU   0                                                        03255000
AMSTP042 EQU   0                                                        03256000
AMSTP043 EQU   0                                                        03257000
AMSTP044 EQU   0                                                        03258000
DMPTRM   EQU   0                                                        03259000
IDCIOCL0 EQU   0                                                        03260000
IDCIOCO0 EQU   0                                                        03261000
IDCIOGT0 EQU   0                                                        03262000
IDCIOIT0 EQU   0                                                        03263000
IDCIOOP0 EQU   0                                                        03264000
IDCIOPO0 EQU   0                                                        03265000
IDCIOPT0 EQU   0                                                        03266000
IDCIOSI0 EQU   0                                                        03267000
IDCIOST0 EQU   0                                                        03268000
IDCIOTM0 EQU   0                                                        03269000
IDCIOVY0 EQU   0                                                        03270000
IDCSAAL0 EQU   0                                                        03271000
IDCSACA0 EQU   0                                                        03272000
IDCSACL0 EQU   0                                                        03273000
IDCSACR0 EQU   0                                                        03274000
IDCSADE0 EQU   0                                                        03275000
IDCSADL0 EQU   0                                                        03276000
IDCSADQ0 EQU   0                                                        03277000
IDCSAFP0 EQU   0                                                        03278000
IDCSAFS0 EQU   0                                                        03279000
IDCSAGP0 EQU   0                                                        03280000
IDCSAGS0 EQU   0                                                        03281000
IDCSAID0 EQU   0                                                        03282000
IDCSALC0 EQU   0                                                        03283000
IDCSALD0 EQU   0                                                        03284000
IDCSALK0 EQU   0                                                        03285000
IDCSANQ0 EQU   0                                                        03286000
IDCSAPR0 EQU   0                                                        03287000
IDCSAPT0 EQU   0                                                        03288000
IDCSAQL0 EQU   0                                                        03289000
IDCSARC0 EQU   0                                                        03290000
IDCSASC0 EQU   0                                                        03291000
IDCSASN0 EQU   0                                                        03292000
IDCSASS0 EQU   0                                                        03293000
IDCSAST0 EQU   0                                                        03294000
IDCSATI0 EQU   0                                                        03295000
IDCSAUC0 EQU   0                                                        03296000
IDCSAWO0 EQU   0                                                        03297000
IDCSA060 EQU   0                                                        03298000
IDCST010 EQU   0                                                        03299000
IDCTPER0 EQU   0                                                        03300000
LISTTEST EQU   0                                                        03301000
NEWERID1 EQU   5                                                        03302000
GDTTBL   EQU   0                                                        03303000
GDTTR1   EQU   GDTTBL+8                                                 03304000
GDTTR2   EQU   GDTTBL+12                                                03305000
GDTDBG   EQU   GDTTBL+40                                                03306000
GDTSTC   EQU   GDTTBL+44                                                03307000
GDTPRT   EQU   GDTTBL+48                                                03308000
GDTESS   EQU   GDTTBL+52                                                03309000
GDTESA   EQU   GDTTBL+56                                                03310000
GDTRST   EQU   GDTTBL+60                                                03311000
GDTRES   EQU   GDTTBL+64                                                03312000
GDTCAL   EQU   GDTTBL+68                                                03313000
GDTGSP   EQU   GDTTBL+72                                                03314000
GDTFSP   EQU   GDTTBL+76                                                03315000
GDTGPL   EQU   GDTTBL+80                                                03316000
GDTFPL   EQU   GDTTBL+84                                                03317000
GDTLOD   EQU   GDTTBL+88                                                03318000
GDTDEL   EQU   GDTTBL+92                                                03319000
GDTPRL   EQU   GDTTBL+96                                                03320000
GDTEPL   EQU   GDTTBL+100                                               03321000
GDTTIM   EQU   GDTTBL+104                                               03322000
GDTIIO   EQU   GDTTBL+108                                               03323000
GDTTIO   EQU   GDTTBL+112                                               03324000
GDTOPN   EQU   GDTTBL+124                                               03325000
GDTCLS   EQU   GDTTBL+128                                               03326000
GDTGET   EQU   GDTTBL+132                                               03327000
GDTPUT   EQU   GDTTBL+136                                               03328000
GDTPOS   EQU   GDTTBL+140                                               03329000
GDTCPY   EQU   GDTTBL+144                                               03330000
GDTCAT   EQU   GDTTBL+148                                               03331000
GDTABT   EQU   GDTTBL+152                                               03332000
GDTABH   EQU   GDTTBL+156                                               03333000
GDTSNP   EQU   GDTTBL+164                                               03334000
GDTVFY   EQU   GDTTBL+172                                               03335000
GDTUID   EQU   GDTTBL+192                                               03336000
GDTPMT   EQU   GDTTBL+196                                               03337000
GDTCIR   EQU   GDTTBL+200                                               03338000
GDTLNK   EQU   GDTTBL+204                                               03339000
GDTALC   EQU   GDTTBL+208                                               03340000
GDTDLC   EQU   GDTTBL+212                                               03341000
GDTQAL   EQU   GDTTBL+216                                               03342000
GDTSTW   EQU   GDTTBL+220                                               03343000
GDTSSC   EQU   GDTTBL+224                                               03344000
GDTENQ   EQU   GDTTBL+228                                               03345000
GDTRSV   EQU   GDTTBL+232                                               03346000
GDTDEQ   EQU   GDTTBL+236                                               03347000
GDTSFO   EQU   GDTTBL+240                                               03348000
GDTWTO   EQU   GDTTBL+244                                               03349000
GDTSCR   EQU   GDTTBL+248                                               03350000
GDTUNT   EQU   GDTTBL+252                                               03351000
GDTRCT   EQU   GDTTBL+256                                               03352000
GDTIFO   EQU   GDTTBL+260                                               03353000
GDTEXP   EQU   GDTTBL+264                                               03354000
GDTSTA   EQU   GDTTBL+268                                               03355000
GDTERR   EQU   GDTTBL+272                                               03356000
GDTUNC   EQU   GDTTBL+276                                               03357000
GDTLOC   EQU   GDTTBL+280                                               03358000
REQUEST  EQU   0                                                        03359000
ARGLIST  EQU   0                                                        03360000
         AGO   .@UNREFD                START UNREFERENCED COMPONENTS    03361000
GDTECT   EQU   GDTTBL+188                                               03362000
GDTPSB   EQU   GDTTBL+184                                               03363000
GDTUPT   EQU   GDTTBL+180                                               03364000
GDTCMB   EQU   GDTTBL+176                                               03365000
GDTSPR   EQU   GDTTBL+168                                               03366000
@NM00001 EQU   GDTTBL+160                                               03367000
GDTTOH   EQU   GDTTBL+120                                               03368000
GDTRIP   EQU   GDTTBL+116                                               03369000
GDTIOH   EQU   GDTTBL+36                                                03370000
GDTSAH   EQU   GDTTBL+32                                                03371000
GDTTPH   EQU   GDTTBL+28                                                03372000
GDTRIH   EQU   GDTTBL+24                                                03373000
GDTSTH   EQU   GDTTBL+20                                                03374000
GDTDBH   EQU   GDTTBL+16                                                03375000
GDTPRM   EQU   GDTTBL+4                                                 03376000
GDTHDR   EQU   GDTTBL                                                   03377000
VTOCE1   EQU   VTOCE                                                    03378000
DS5END   EQU   IECSDSL5+140                                             03379000
DS5PTRDS EQU   IECSDSL5+135                                             03380000
DS5MAVET EQU   IECSDSL5+45                                              03381000
DS5FMTID EQU   IECSDSL5+44                                              03382000
DS5EXTAV EQU   IECSDSL5+9                                               03383000
DS5KEYID EQU   IECSDSL5                                                 03384000
@NM00112 EQU   IECSDSF5                                                 03385000
DS4END   EQU   IECSDSL4+96                                              03386000
@NM00111 EQU   IECSDSL4+71                                              03387000
DS4F6PTR EQU   IECSDSL4+56                                              03388000
@NM00110 EQU   IECSDSL4+51                                              03389000
DS4R2TIM EQU   IECSDSL4+43                                              03390000
DS4VSCRA EQU   DS4AMCAT+1                                               03391000
@NM00109 EQU   DS4VSIND                                                 03392000
DS4VSBAD EQU   DS4VSIND                                                 03393000
DS4VSREF EQU   DS4VSIND                                                 03394000
DS4AMTIM EQU   IECSDSL4+32                                              03395000
DS4DEVDB EQU   DS4DEVCT+13                                              03396000
DS4DEVDT EQU   DS4DEVCT+12                                              03397000
DS4DEVTL EQU   DS4DEVCT+10                                              03398000
DS4DEVFG EQU   DS4DEVCT+9                                               03399000
DS4DEVK  EQU   DS4DEVCT+8                                               03400000
DS4DEVL  EQU   DS4DEVOV+1                                               03401000
DS4DEVI  EQU   DS4DEVOV                                                 03402000
DS4DEVTK EQU   DS4DEVCT+4                                               03403000
DS4DEVSZ EQU   DS4DEVCT                                                 03404000
@NM00108 EQU   IECSDSL4+16                                              03405000
DS4NOEXT EQU   IECSDSL4+15                                              03406000
DS4VTOCI EQU   IECSDSL4+14                                              03407000
DS4NOATK EQU   IECSDSL4+12                                              03408000
DS4HCCHH EQU   IECSDSL4+8                                               03409000
DS4HPCHR EQU   IECSDSL4+1                                               03410000
DS4IDFMT EQU   IECSDSL4                                                 03411000
@NM00107 EQU   IECSDSF4                                                 03412000
VSDDSN   EQU   VSDARRAY+4                                               03413000
VSDVOLCT EQU   VSDARRAY                                                 03414000
VSDFMT0  EQU   VSDBLOCK+8                                               03415000
VSDVTOCS EQU   VSDBLOCK+4                                               03416000
VSDELEM  EQU   VSDBLOCK                                                 03417000
VSDFREE  EQU   VSDUSAGE+24                                              03418000
VSDALLC  EQU   VSDUSAGE+19                                              03419000
VSDDSOR3 EQU   VSDDSORG+2                                               03420000
@NM00084 EQU   VSDDSORG                                                 03421000
VSDSCAL  EQU   VSDUSAGE+12                                              03422000
@NM00083 EQU   VSDUSEF                                                  03423000
VSDCALFR EQU   VSDUSEF                                                  03424000
@NM00082 EQU   VSDALLOC                                                 03425000
VSDABSTR EQU   VSDALLOC                                                 03426000
VSDABLK  EQU   VSDALLOC                                                 03427000
VSDATRK  EQU   VSDALLOC                                                 03428000
VSDACYL  EQU   VSDALLOC                                                 03429000
@NM00081 EQU   VSDDORG                                                  03430000
VSDOU    EQU   VSDDORG                                                  03431000
VSDOIS   EQU   VSDDORG                                                  03432000
VSDODA   EQU   VSDDORG                                                  03433000
VSDOUN   EQU   VSDDORG                                                  03434000
VSDOPS   EQU   VSDDORG                                                  03435000
VSDOPO   EQU   VSDDORG                                                  03436000
VSDEXTS  EQU   VSDUSAGE+8                                               03437000
VSDSECAL EQU   VSDUSAGE+4                                               03438000
VSDFTRK  EQU   VSDUSAGE+2                                               03439000
VSDTRKS  EQU   VSDUSAGE                                                 03440000
@NM00080 EQU   VSDSCR+5                                                 03441000
@NM00079 EQU   VSDSCRFL                                                 03442000
VSDVSAM  EQU   VSDSCRFL                                                 03443000
VSDCATLC EQU   VSDSCRFL                                                 03444000
VSDACBPT EQU   VSDSCR                                                   03445000
VSDPRTC  EQU   VSDSTAT+25                                               03446000
VSDCAT   EQU   VSDSTAT+22                                               03447000
VSDEXP   EQU   VSDSTAT+20                                               03448000
VSDCRE   EQU   VSDSTAT+18                                               03449000
@NM00078 EQU   VSDFLG2                                                  03450000
VSDERROR EQU   VSDFLG2                                                  03451000
VSDPROT  EQU   VSDFLG2                                                  03452000
VSDPWW   EQU   VSDFLG2                                                  03453000
VSDPWR   EQU   VSDFLG2                                                  03454000
@NM00077 EQU   VSDSFLG1                                                 03455000
VSDCVSAM EQU   VSDSFLG1                                                 03456000
VSDCATLG EQU   VSDSFLG1                                                 03457000
VSDVSAME EQU   VSDSFLG1                                                 03458000
VSDVSAMC EQU   VSDSFLG1                                                 03459000
VSDVTOCE EQU   VSDSFLG1                                                 03460000
VSDVTOCC EQU   VSDSFLG1                                                 03461000
VSDOWNER EQU   VSDSTAT+8                                                03462000
VSDEXPIR EQU   VSDSTAT+4                                                03463000
VSDCREAT EQU   VSDSTAT                                                  03464000
VSDFRCCL EQU   VSDVTOC+21                                               03465000
@NM00076 EQU   VSDVTOC+20                                               03466000
VSDFREXT EQU   VSDVTOC+16                                               03467000
@NM00075 EQU   VSDVTOC+15                                               03468000
VSDFRTRK EQU   VSDVTOC+11                                               03469000
@NM00074 EQU   VSDVTOC+10                                               03470000
VSDFRCYL EQU   VSDVTOC+6                                                03471000
@NM00073 EQU   VSDVTOC                                                  03472000
@NM00072 EQU   VS3FLAGS                                                 03473000
VS3SYSNM EQU   VS3FLAGS                                                 03474000
VS3UNCAT EQU   VS3FLAGS                                                 03475000
VS3SCR   EQU   VS3FLAGS                                                 03476000
VS3USAGE EQU   VS3FLAGS                                                 03477000
VS3STAT  EQU   VS3FLAGS                                                 03478000
VS3DD    EQU   VS3AGL+50                                                03479000
VS3VOL   EQU   VS3AGL+44                                                03480000
VS3POOL  EQU   VS3AGL+40                                                03481000
VS3DEV   EQU   VS3AGL+36                                                03482000
VS3UCBP  EQU   VS3AGL+32                                                03483000
VS3CREAT EQU   VS3AGL+28                                                03484000
VS3EXPIR EQU   VS3AGL+24                                                03485000
VS3AST   EQU   VS3AGL+22                                                03486000
VS3LEVLN EQU   VS3AGL+20                                                03487000
VS3LEVP  EQU   VS3AGL+16                                                03488000
VS3EXDSP EQU   VS3AGL+12                                                03489000
VS3LISTP EQU   VS3AGL+8                                                 03490000
VS3HEAD  EQU   VS3AGL                                                   03491000
@NM00071 EQU   DATESOPT                                                 03492000
DATDAYOP EQU   DATESOPT                                                 03493000
DATDTEOP EQU   DATESOPT                                                 03494000
DATSUB   EQU   DATESOPT                                                 03495000
DATADD   EQU   DATESOPT                                                 03496000
DATRETRN EQU   DATESAGL+16                                              03497000
DATDAYS  EQU   DATESAGL+12                                              03498000
DATDATE  EQU   DATESAGL+8                                               03499000
DATHEAD  EQU   DATESAGL                                                 03500000
@NM00070 EQU   SELFLAGS                                                 03501000
SELVOL   EQU   SELAGL+16                                                03502000
SELDDNP  EQU   SELAGL+12                                                03503000
SELUCBP  EQU   SELAGL+8                                                 03504000
SELHEAD  EQU   SELAGL                                                   03505000
@NM00069 EQU   UCTFLAGS                                                 03506000
UCTVSCAT EQU   UCTFLAGS                                                 03507000
UCTDD    EQU   UCTAGL+60                                                03508000
UCTVOLP  EQU   UCTAGL+56                                                03509000
UCTACBP  EQU   UCTAGL+52                                                03510000
UCTDSN   EQU   UCTAGL+8                                                 03511000
UCTHEAD  EQU   UCTAGL                                                   03512000
@NM00068 EQU   LCTFLAGS                                                 03513000
LCTVSCAT EQU   LCTFLAGS                                                 03514000
LCTOWNER EQU   LCTINFO+24                                               03515000
LCTEXPIR EQU   LCTINFO+20                                               03516000
LCTCREAT EQU   LCTINFO+16                                               03517000
LCTACBP  EQU   LCTINFO+12                                               03518000
LCTMULVC EQU   LCTINFO+8                                                03519000
LCTHEAD  EQU   LCTINFO                                                  03520000
SRTWORKP EQU   SRTAGL+28                                                03521000
SRTFLDLN EQU   SRTAGL+24                                                03522000
SRTPOSIT EQU   SRTAGL+20                                                03523000
SRTLEN   EQU   SRTAGL+16                                                03524000
SRTNUM   EQU   SRTAGL+12                                                03525000
SRTADDR  EQU   SRTAGL+8                                                 03526000
SRTHEAD  EQU   SRTAGL                                                   03527000
SV82DEBP EQU   SV82WRKP                                                 03528000
SV82TTRP EQU   SV82LIST+8                                               03529000
SV82VOLP EQU   SV82DCBP                                                 03530000
SV82UCBP EQU   SV82LIST+1                                               03531000
SV82CODE EQU   SV82LIST                                                 03532000
VOLRESV3 EQU   VOLLABEL+55                                              03533000
VOLRESV1 EQU   VOLLABEL+20                                              03534000
VOLSECTY EQU   VOLLABEL+14                                              03535000
VOLNO    EQU   VOLLABEL+7                                               03536000
VOLLABI  EQU   VOLLABEL+4                                               03537000
STAVTTR  EQU   STAEPARM+54                                              03538000
@NM00065 EQU   STARETRY                                                 03539000
STAVTOC  EQU   STARETRY                                                 03540000
STAOFF   EQU   STARETRY                                                 03541000
STAIO05  EQU   STARETRY                                                 03542000
@NM00064 EQU   STARCVY                                                  03543000
STACLEAR EQU   STARCVY                                                  03544000
STAVPOST EQU   STARCVY                                                  03545000
STAVENQ  EQU   STARCVY                                                  03546000
STAVDMNT EQU   STARCVY                                                  03547000
STAVMNT  EQU   STARCVY                                                  03548000
STATCB   EQU   STAEPARM+48                                              03549000
STARTADD EQU   STAEPARM+44                                              03550000
STAEXSAV EQU   STAEPARM+40                                              03551000
STARTSAV EQU   STAEPARM+36                                              03552000
STARTTR  EQU   STAEPARM+32                                              03553000
@NM00063 EQU   STAEPARM+30                                              03554000
STARVOL  EQU   STAEPARM+24                                              03555000
STARUCB  EQU   STAEPARM+20                                              03556000
@NM00062 EQU   STAEPARM+18                                              03557000
STAVVOL  EQU   STAEPARM+12                                              03558000
STAVUCB  EQU   STAEPARM+8                                               03559000
STAHEAD  EQU   STAEPARM                                                 03560000
RCTDSET  EQU   RCTAGL+32                                                03561000
RCTNVOL  EQU   RCTAGL+26                                                03562000
RCTOVOL  EQU   RCTAGL+20                                                03563000
RCTNDEV  EQU   RCTAGL+16                                                03564000
RCTODEV  EQU   RCTAGL+12                                                03565000
@NM00061 EQU   RCTAGL+10                                                03566000
@NM00060 EQU   RCTOPT                                                   03567000
RCTVOL   EQU   RCTOPT                                                   03568000
RCTDEV   EQU   RCTOPT                                                   03569000
RCTHEAD  EQU   RCTAGL                                                   03570000
@NM00059 EQU   VSRESOPT                                                 03571000
VSREAL   EQU   VSRESOPT                                                 03572000
VSRES    EQU   VSRESOPT                                                 03573000
@NM00058 EQU   VSMSG                                                    03574000
VSTOV    EQU   VSMSG                                                    03575000
VSFROMV  EQU   VSMSG                                                    03576000
@NM00057 EQU   VSRETURN                                                 03577000
VSUCAT   EQU   VSRETURN                                                 03578000
VSVSAM   EQU   VSRETURN                                                 03579000
@NM00056 EQU   VSCATOPT                                                 03580000
VSLIST   EQU   VSCATOPT                                                 03581000
VSSERIAL EQU   VSCATOPT                                                 03582000
VSDEVICE EQU   VSCATOPT                                                 03583000
@NM00055 EQU   VSVTOPT                                                  03584000
VSVSFLAG EQU   VSVTOPT                                                  03585000
VSALTTRK EQU   VSVTOPT                                                  03586000
VSTIME   EQU   VSVTOPT                                                  03587000
VSUCMAST EQU   VSSECOPT                                                 03588000
VSOPCAT  EQU   VSSECOPT                                                 03589000
VSUCTEST EQU   VSSECOPT                                                 03590000
VSWRITE  EQU   VSSECOPT                                                 03591000
VSREAD   EQU   VSSECOPT                                                 03592000
VSNONONV EQU   VSSECOPT                                                 03593000
VSMASTER EQU   VSSECOPT                                                 03594000
VSNOVSAM EQU   VSSECOPT                                                 03595000
VSODEVP  EQU   VS1AGL+64                                                03596000
VSOSERP  EQU   VS1AGL+60                                                03597000
VSDEVP   EQU   VS1AGL+56                                                03598000
VSSERP   EQU   VS1AGL+52                                                03599000
VSPFILEP EQU   VS1AGL+48                                                03600000
VSPSWDP  EQU   VS1AGL+44                                                03601000
VSCATDDP EQU   VS1AGL+40                                                03602000
VSACBP   EQU   VS1AGL+36                                                03603000
VSCATP   EQU   VS1AGL+32                                                03604000
VSNXTATP EQU   VS1AGL+28                                                03605000
VSNUMATP EQU   VS1AGL+24                                                03606000
VSIOP    EQU   VS1AGL+20                                                03607000
VSFILEP  EQU   VS1AGL+16                                                03608000
VSVOLP   EQU   VS1AGL+12                                                03609000
VSUCBP   EQU   VS1AGL+8                                                 03610000
VSHEAD   EQU   VS1AGL                                                   03611000
@NM00054 EQU   VS2AGL+45                                                03612000
@NM00053 EQU   VS2RESOP                                                 03613000
@NM00052 EQU   VS2MSG                                                   03614000
@NM00051 EQU   VSLABOPT                                                 03615000
@NM00050 EQU   EXPARRAY+5                                               03616000
@NM00049 EQU   EXGARG+29                                                03617000
EXGCCHH1 EQU   EXGARG+12                                                03618000
EXGHEAD  EQU   EXGARG                                                   03619000
@NM00048 EQU   EXFLG                                                    03620000
@NM00047 EQU   EXOPT                                                    03621000
EXOVTOC  EQU   EXOPT                                                    03622000
EXOPASS  EQU   EXOPT                                                    03623000
EXOTAB   EQU   EXOPT                                                    03624000
EXOEXT   EQU   EXOARG+24                                                03625000
EXODSN   EQU   EXOARG+12                                                03626000
EXOHEAD  EQU   EXOARG                                                   03627000
@NM00046 EQU   EXCLFLAG                                                 03628000
EXCLMNT  EQU   EXCLFLAG                                                 03629000
EXCLVOL  EQU   EXCLAGL+16                                               03630000
EXCLDDP  EQU   EXCLAGL+12                                               03631000
EXCLUCBP EQU   EXCLAGL+8                                                03632000
EXCLHEAD EQU   EXCLAGL                                                  03633000
@NM00045 EQU   CKFLAGS                                                  03634000
CKDMTABL EQU   CKFLAGS                                                  03635000
CKRETTYP EQU   CKFLAGS                                                  03636000
CKTESTVT EQU   CKFLAGS                                                  03637000
CKLABELP EQU   CKAGL+24                                                 03638000
CKDATYPE EQU   CKAGL+20                                                 03639000
CKDDNAME EQU   CKAGL+12                                                 03640000
CKUCBPTR EQU   CKAGL+8                                                  03641000
CKHEAD   EQU   CKAGL                                                    03642000
PULABELP EQU   PUAGL+16                                                 03643000
PUTTRPTR EQU   PUAGL+12                                                 03644000
PUUCBPTR EQU   PUAGL+8                                                  03645000
PUHEAD   EQU   PUAGL                                                    03646000
MDR      EQU   MDVTOC+4                                                 03647000
MDHH     EQU   MDVTOC+2                                                 03648000
MDCC     EQU   MDVTOC                                                   03649000
@NM00044 EQU   MDAGL+31                                                 03650000
MDVTOCTR EQU   MDFLAGS                                                  03651000
MDFORCE  EQU   MDFLAGS                                                  03652000
MDDEQ    EQU   MDFLAGS                                                  03653000
MDENQ    EQU   MDFLAGS                                                  03654000
MDWAIT   EQU   MDFLAGS                                                  03655000
MDPOST   EQU   MDFLAGS                                                  03656000
MDCLEAR  EQU   MDFLAGS                                                  03657000
MDNEWVOL EQU   MDFLAGS                                                  03658000
MDLABEL  EQU   MDAGL+24                                                 03659000
MDPUAGL  EQU   MDAGL+20                                                 03660000
MDDDNAME EQU   MDAGL+12                                                 03661000
MDUCBPTR EQU   MDAGL+8                                                  03662000
MDHEAD   EQU   MDAGL                                                    03663000
CTTBLRR  EQU   CTARRAY+3                                                03664000
CTTBLHH  EQU   CTARRAY+2                                                03665000
CTTBLCC  EQU   CTARRAY+1                                                03666000
CTTBLID  EQU   CTARRAY                                                  03667000
CTREALH  EQU   CTMSG+3                                                  03668000
CTREALCC EQU   CTMSG+1                                                  03669000
@NM00043 EQU   CTMSG                                                    03670000
CMCSN2   EQU   CMMSG+28                                                 03671000
CMCSN1   EQU   CMMSG+16                                                 03672000
CMNUMCRT EQU   CMMSG+15                                                 03673000
@NM00042 EQU   CMMSG+14                                                 03674000
CMNEWVOL EQU   CMMSG+8                                                  03675000
@NM00041 EQU   CMMSG+7                                                  03676000
@NM00040 EQU   CMVOLFLG                                                 03677000
CMRONLY  EQU   CMVOLFLG                                                 03678000
CMBIND   EQU   CMVOLFLG                                                 03679000
CMSCRCRT EQU   CMVOLFLG                                                 03680000
CMEXCL   EQU   CMVOLFLG                                                 03681000
CMDERAS  EQU   CMVOLFLG                                                 03682000
CMSCRVOL EQU   CMVOLFLG                                                 03683000
CMCECART EQU   CMVOLFLG                                                 03684000
CMOLDVOL EQU   CMMSG                                                    03685000
CCOLDCSN EQU   CCMSG+24                                                 03686000
CCNEWCSN EQU   CCMSG+12                                                 03687000
@NM00039 EQU   CCMSG+10                                                 03688000
CCVOL    EQU   CCMSG+4                                                  03689000
@NM00038 EQU   CCMSG+2                                                  03690000
CCEJCODE EQU   CCMSG+1                                                  03691000
CCPSTCDE EQU   CCMSG                                                    03692000
@NM00037 EQU   DMPARY+15                                                03693000
DMPARYTP EQU   DMPARY+14                                                03694000
DMPARYEX EQU   DMPARY+12                                                03695000
DMPARYIC EQU   DMPARY+10                                                03696000
DMPARYSZ EQU   DMPARY+8                                                 03697000
DMPARYNM EQU   DMPARY                                                   03698000
@NM00036 EQU   DMPITM+15                                                03699000
DMPITMTP EQU   DMPITM+14                                                03700000
DMPITMLN EQU   DMPITM+12                                                03701000
DMPITMPT EQU   DMPITM+8                                                 03702000
DMPITMNM EQU   DMPITM                                                   03703000
@NM00035 EQU   ERCNVTAB+24                                              03704000
ERCPLPT  EQU   ERCNVTAB+20                                              03705000
ERCATRC  EQU   ERCNVTAB+16                                              03706000
ERDSNM   EQU   ERCNVTAB+12                                              03707000
@NM00034 EQU   ERCNVTAB+4                                               03708000
@NM00033 EQU   ERCNVTAB+3                                               03709000
@NM00032 EQU   EROSOPER                                                 03710000
EROSUCDX EQU   EROSOPER                                                 03711000
EROSCATL EQU   EROSOPER                                                 03712000
@NM00031 EQU   EROPER                                                   03713000
ERCATAL  EQU   EROPER                                                   03714000
ERCATDL  EQU   EROPER                                                   03715000
ERCATDE  EQU   EROPER                                                   03716000
ERCATLC  EQU   EROPER                                                   03717000
@NM00030 EQU   ERTYPE                                                   03718000
EROSCAT  EQU   ERTYPE                                                   03719000
ERCATLG  EQU   ERTYPE                                                   03720000
@NM00029 EQU   FMTCNVF+1                                                03721000
FMTAR    EQU   FMTCNVF+1                                                03722000
FMTBS    EQU   FMTCNVF+1                                                03723000
FMTSS    EQU   FMTCNVF+1                                                03724000
FMTAL    EQU   FMTCNVF+1                                                03725000
FMTZS    EQU   FMTCNVF+1                                                03726000
@NM00028 EQU   FMTCNVF                                                  03727000
FMTPU    EQU   FMTCNVF                                                  03728000
FMTBD    EQU   FMTCNVF                                                  03729000
FMTBHD   EQU   FMTCNVF                                                  03730000
FMTBHA   EQU   FMTCNVF                                                  03731000
FMTBH    EQU   FMTCNVF                                                  03732000
FMTOLEN  EQU   FMTLIST+8                                                03733000
FMTRIO   EQU   FMTOCOL                                                  03734000
FMTSPT   EQU   FMTSTO                                                   03735000
FMTSTL   EQU   FMTILEN                                                  03736000
@NM00027 EQU   FMTFLGS+1                                                03737000
FMTHDF   EQU   FMTFLGS                                                  03738000
FMTDFF   EQU   FMTFLGS                                                  03739000
FMTSTF   EQU   FMTFLGS                                                  03740000
FMTREPF  EQU   FMTFLGS                                                  03741000
FMTBDF   EQU   FMTFLGS                                                  03742000
FMTIDF   EQU   FMTFLGS                                                  03743000
FMTSCF   EQU   FMTFLGS                                                  03744000
FMTEOLF  EQU   FMTFLGS                                                  03745000
DARGDTM  EQU   DARGARY+4                                                03746000
DARGPCT  EQU   DARGINL                                                  03747000
DARGREP  EQU   DARGINS                                                  03748000
@NM00026 EQU   DARGLIST+19                                              03749000
DARGIND  EQU   DARGLIST+18                                              03750000
DARGRETL EQU   DARGLIST+16                                              03751000
DARGCNT  EQU   DARGLIST+14                                              03752000
DARGRETP EQU   DARGLIST+4                                               03753000
UVOLVOL  EQU   UVOLENT+4                                                03754000
UVOLDEV  EQU   UVOLENT                                                  03755000
UVOLCNT  EQU   UVOLLIST                                                 03756000
@NM00025 EQU   IOINFOPT                                                 03757000
IOINFTMS EQU   IOINFOPT                                                 03758000
IOINFSUP EQU   IOINFOPT                                                 03759000
IOINFDSN EQU   IOINFOPT                                                 03760000
IOINFVOL EQU   IOINFOPT                                                 03761000
IOINFDVT EQU   IOINFOPT                                                 03762000
OPNVOL   EQU   OPNAGL+44                                                03763000
@NM00024 EQU   OPNAGL+43                                                03764000
@NM00023 EQU   OPNOPT2                                                  03765000
OPNOPTJM EQU   OPNOPT2                                                  03766000
@NM00022 EQU   OPNOPT2                                                  03767000
OPNOPTAS EQU   OPNOPT2                                                  03768000
@NM00021 EQU   OPNDSO                                                   03769000
OPNDSOPO EQU   OPNDSO                                                   03770000
OPNDSOIS EQU   OPNDSO                                                   03771000
OPNDSOPS EQU   OPNDSO                                                   03772000
OPNDSOAM EQU   OPNDSO                                                   03773000
OPNKYL   EQU   OPNAGL+40                                                03774000
OPNBLK   EQU   OPNAGL+36                                                03775000
OPNREC   EQU   OPNAGL+32                                                03776000
OPNDEVIX EQU   OPNDEV+4                                                 03777000
OPNDEVDT EQU   OPNDEV                                                   03778000
OPNCBP   EQU   OPNAGL+20                                                03779000
OPNDSN   EQU   OPNAGL+16                                                03780000
OPNPWA   EQU   OPNAGL+12                                                03781000
OPNDDN   EQU   OPNAGL+8                                                 03782000
OPNIOC   EQU   OPNAGL+4                                                 03783000
OPNMODRP EQU   OPNMOD                                                   03784000
OPNMODUB EQU   OPNMOD                                                   03785000
OPNMODRS EQU   OPNMOD                                                   03786000
OPNMODAX EQU   OPNMOD                                                   03787000
OPNMODRR EQU   OPNMOD                                                   03788000
OPNMODRC EQU   OPNMOD                                                   03789000
OPNMODAC EQU   OPNMOD                                                   03790000
OPNMODPD EQU   OPNMOD                                                   03791000
@NM00020 EQU   OPNTYP                                                   03792000
OPNTYPRV EQU   OPNTYP                                                   03793000
OPNTYPEX EQU   OPNTYP                                                   03794000
OPNTYPRA EQU   OPNTYP                                                   03795000
OPNTYPXM EQU   OPNTYP                                                   03796000
OPNTYPCI EQU   OPNTYP                                                   03797000
OPNTYPSO EQU   OPNTYP                                                   03798000
OPNTYPSI EQU   OPNTYP                                                   03799000
@NM00019 EQU   OPNRFM                                                   03800000
OPNRFMBK EQU   OPNRFM                                                   03801000
OPNRFMSF EQU   OPNRFM                                                   03802000
OPNRFMUN EQU   OPNRFM                                                   03803000
OPNRFMVR EQU   OPNRFM                                                   03804000
OPNRFMFX EQU   OPNRFM                                                   03805000
OPNOPTSK EQU   OPNOPT                                                   03806000
OPNOPTDR EQU   OPNOPT                                                   03807000
OPNOPTCR EQU   OPNOPT                                                   03808000
OPNOPTKS EQU   OPNOPT                                                   03809000
OPNOPTBK EQU   OPNOPT                                                   03810000
OPNOPTUP EQU   OPNOPT                                                   03811000
OPNOPTOT EQU   OPNOPT                                                   03812000
OPNOPTIN EQU   OPNOPT                                                   03813000
IOCEXT   EQU   IOCSTR+64                                                03814000
IOCREL   EQU   IOCSTR+60                                                03815000
IOCWORK  EQU   IOCSTR+56                                                03816000
IOCRRN   EQU   IOCSTR+52                                                03817000
IOCPNM   EQU   IOCNWM+2                                                 03818000
IOCPTL   EQU   IOCNWM                                                   03819000
IOCKYA   EQU   IOCMEM                                                   03820000
IOCVRC   EQU   IOCTTR                                                   03821000
IOCCBP   EQU   IOCSTR+36                                                03822000
IOCDSN   EQU   IOCSTR+32                                                03823000
IOCHURBA EQU   IOCSTR+28                                                03824000
IOCVOLSR EQU   IOCSTR+22                                                03825000
@NM00018 EQU   IOCMSG                                                   03826000
IOCMSGAE EQU   IOCMSG                                                   03827000
IOCMSGCE EQU   IOCMSG                                                   03828000
IOCMSGOE EQU   IOCMSG                                                   03829000
IOCMSGOP EQU   IOCMSG                                                   03830000
@NM00017 EQU   IOCMSG                                                   03831000
IOCCHPSY EQU   IOCCHP                                                   03832000
IOCCHPAS EQU   IOCCHP                                                   03833000
IOCCHPBK EQU   IOCCHP                                                   03834000
IOCCHPCR EQU   IOCCHP                                                   03835000
IOCCHPKS EQU   IOCCHP                                                   03836000
IOCCHPSK EQU   IOCCHP                                                   03837000
IOCCHPDR EQU   IOCCHP                                                   03838000
IOCCHPSQ EQU   IOCCHP                                                   03839000
@NM00016 EQU   IOCMAC2                                                  03840000
IOCMACPA EQU   IOCMAC2                                                  03841000
@NM00015 EQU   IOCMAC2                                                  03842000
IOCMACCP EQU   IOCMAC2                                                  03843000
IOCMACRR EQU   IOCMAC2                                                  03844000
IOCMACAS EQU   IOCMAC2                                                  03845000
IOCMACSK EQU   IOCMAC2                                                  03846000
@NM00014 EQU   IOCMAC                                                   03847000
IOCMACCC EQU   IOCMAC                                                   03848000
IOCMACDR EQU   IOCMAC                                                   03849000
IOCMACBK EQU   IOCMAC                                                   03850000
IOCMACCR EQU   IOCMAC                                                   03851000
IOCMACUP EQU   IOCMAC                                                   03852000
IOCMACOT EQU   IOCMAC                                                   03853000
IOCMACIN EQU   IOCMAC                                                   03854000
@NM00013 EQU   IOCRFM                                                   03855000
IOCRFMBK EQU   IOCRFM                                                   03856000
IOCRFMSF EQU   IOCRFM                                                   03857000
IOCRFMUN EQU   IOCRFM                                                   03858000
IOCRFMVR EQU   IOCRFM                                                   03859000
IOCRFMFX EQU   IOCRFM                                                   03860000
@NM00012 EQU   IOCDSO                                                   03861000
IOCDSOPO EQU   IOCDSO                                                   03862000
IOCDSOIS EQU   IOCDSO                                                   03863000
IOCDSOPS EQU   IOCDSO                                                   03864000
IOCDSOAM EQU   IOCDSO                                                   03865000
IOCRKP   EQU   IOCSTR+13                                                03866000
IOCKYL   EQU   IOCSTR+12                                                03867000
IOCTRN   EQU   IOCSTR+8                                                 03868000
IOCDLN   EQU   IOCSTR+4                                                 03869000
IOCDAD   EQU   IOCSTR                                                   03870000
UNITVTOC EQU   UNITABL+7                                                03871000
@NM00011 EQU   UNITSTAT                                                 03872000
UNITUSHR EQU   UNITSTAT                                                 03873000
UNITXSHR EQU   UNITSTAT                                                 03874000
UNITISHR EQU   UNITSTAT                                                 03875000
UNITUA   EQU   @NM00010+1                                               03876000
UNITCHA  EQU   @NM00010                                                 03877000
ALLUNCNT EQU   ALLAGL+30                                                03878000
ALLVLCNT EQU   ALLAGL+29                                                03879000
@NM00009 EQU   ALLOPT                                                   03880000
ALLOPTUN EQU   ALLOPT                                                   03881000
ALLOPTPV EQU   ALLOPT                                                   03882000
ALLOPTDS EQU   ALLOPT                                                   03883000
ALLOPTVL EQU   ALLOPT                                                   03884000
@NM00008 EQU   ALLORG+1                                                 03885000
ALLORGVS EQU   ALLORG+1                                                 03886000
@NM00007 EQU   ALLORG+1                                                 03887000
ALLORGGS EQU   ALLORG+1                                                 03888000
ALLORGUN EQU   ALLORG                                                   03889000
ALLORGPO EQU   ALLORG                                                   03890000
ALLORGMQ EQU   ALLORG                                                   03891000
ALLORGCQ EQU   ALLORG                                                   03892000
ALLORGCX EQU   ALLORG                                                   03893000
ALLORGDA EQU   ALLORG                                                   03894000
ALLORGPS EQU   ALLORG                                                   03895000
ALLORGIS EQU   ALLORG                                                   03896000
ALLDSPUN EQU   ALLDSP                                                   03897000
ALLDSPCG EQU   ALLDSP                                                   03898000
ALLDSPDE EQU   ALLDSP                                                   03899000
ALLDSPKP EQU   ALLDSP                                                   03900000
@NM00006 EQU   ALLDSP                                                   03901000
ALLSTSOD EQU   ALLSTS                                                   03902000
ALLSTSMD EQU   ALLSTS                                                   03903000
ALLSTSNW EQU   ALLSTS                                                   03904000
ALLSTSSR EQU   ALLSTS                                                   03905000
@NM00005 EQU   ALLSTS                                                   03906000
ALLPWD   EQU   ALLAGL+20                                                03907000
ALLVLP   EQU   ALLAGL+16                                                03908000
ALLULP   EQU   ALLAGL+12                                                03909000
ALLDDN   EQU   ALLAGL+4                                                 03910000
ALLDSN   EQU   ALLAGL                                                   03911000
CIRPID   EQU   CIRAGL+28                                                03912000
CIRPWD   EQU   CIRAGL+24                                                03913000
CIRCAT   EQU   CIRAGL+20                                                03914000
CIRWKP   EQU   CIRAGL+16                                                03915000
CIRTLR   EQU   CIRAGL+12                                                03916000
CIRHDR   EQU   CIRAGL+8                                                 03917000
CIRTLN   EQU   CIRAGL+6                                                 03918000
CIRHLN   EQU   CIRAGL+4                                                 03919000
@NM00004 EQU   CIRAGL+1                                                 03920000
@NM00003 EQU   CIRTYPE                                                  03921000
CIRTYPAQ EQU   CIRTYPE                                                  03922000
CIRTYP1Q EQU   CIRTYPE                                                  03923000
NEWID1   EQU   TRACE1+95                                                03924000
CALLID   EQU   OLDERID1+90                                              03925000
@NM00002 EQU   OLDERID1                                                 03926000
.@UNREFD ANOP                          END UNREFERENCED COMPONENTS      03927000
@RF00332 EQU   @RC00300                                                 03928000
@RC00563 EQU   @RC00561                                                 03929000
@RC00569 EQU   @RC00567                                                 03930000
@PB00006 EQU   @EL00001                                                 03931000
@PB00005 EQU   @PB00006                                                 03932000
@PB00004 EQU   @PB00005                                                 03933000
@PB00003 EQU   @PB00004                                                 03934000
@PB00002 EQU   @PB00003                                                 03935000
@ENDDATA EQU   *                                                        03936000
         END   IDCVS02,(C'PLS2235',0603,76245)                          03937000
