         MACRO                                                          00050064
&LABEL   IECVNUCB &ENTYPE,&DATA                                         00100064
         LCLA  &X                                                       00150064
         LCLC  &C                                                       00200064
.***** START OF SPECIFICATIONS **************************************   00250064
.*                                                                      00300064
.* MODULE NAME - IECVNUCB                                               00350064
.*                                                                      00400064
.* DESCRIPTIVE NAME - GENERATE UCBS                                     00450064
.*                                                                      00500064
.* COPYRIGHT - NONE                                                     00550064
.*                                                                      00600064
.* STATUS - CHANGE LEVEL 00                                             00650064
.*                                                                      00700064
.* FUNCTION -                                                           00750064
.*   THIS MACRO GENERATES THE VARIOUS PARTS OF UCBS (BASE, COMMON       00800064
.*   EXTENSION).                                                        00850064
.*                                                                      00900064
.*   THIS MACRO IS PUNCHED BY SGIEC202 DURING STAGE 1 SYSGEN.           00950064
.*                                                                      01000064
.* NOTES - N/A                                                          01050064
.*                                                                      01100064
.* MODULE TYPE - MACRO                                                  01150064
.*                                                                      01200064
.* ENTRY POINT - N/A                                                    01250064
.*                                                                      01300064
.* INPUT -                                                              01350064
.*         THE FOLLOWING PARAMETERS ARE PASSED -                        01400064
.*           &LABEL  - LABEL TO BE ASSIGNED                             01450064
.*           &ENTYPE - ENTRY TYPE (UCBBASE, UCBCEXT)                    01500064
.*           &DATA   - SUBLIST OF DATA USED TO GENERATE UCB.            01550064
.*                     THE SUBLIST CONSISTS OF THE FOLLOWING DATA-      01600064
.*                     UCBBASE-                                         01650064
.*                        &DATA(1) - 3 CHARACTER DEVICE ADDRESS         01700064
.*                        &DATA(2) - VALUE TO BE PLACED IN UCBFL5       01750064
.*                        &DATA(3) - OFFLINE INDICATOR                  01800064
.*                                   1 IF OFFLINE=YES WAS SPECIFIED,    01850064
.*                                   0 OTHERWISE)                       01900064
.*                        &DATA(4) - NON-REMOVABLE INDICATOR            01950064
.*                                   1 IF DEVICE IS NON-REMOVABLE,      02000064
.*                                   0 OTHERWISE)                       02050064
.*                        &DATA(5) - VALUE TO BE PLACED IN UCBLCI       02100064
.*                        &DATA(6) - 8 CHARACTER VALUE FOR UCBTYPE      02150064
.*                                                                      02200064
.*                     UCBCEXT-                                         02250064
.*                        &DATA(1) - 3 CHARACTER DEVICE ADDRESS         02300064
.*                        &DATA(2) - VALUE TO BE PLACED IN UCBETI       02350064
.*                        &DATA(3) - VALUE TO BE PLACED IN UCBSTI       02400064
.*                        &DATA(4) - VALUE TO BE PLACED IN UCBATI       02450064
.*                        &DATA(5) - VALUE TO BE PLACED IN UCBSNSCT     02500064
.*                        &DATA(6) - VALUE TO BE PLACED IN UCBFLP1      02550064
.*                        &DATA(7) - VALUE TO BE PLACED IN UCBCCWOF     02600064
.*                        &DATA(8) - THE NAME OF THE UCBDDT    @G64HPLP 02650064
.*                                                                      02700064
.* OUTPUT -                                                             02750064
.*       OUTPUT CONSISTS OF THE FOLLOWING -                             02800064
.*           UCBBASE - BASE UCB WITH A LABEL OF UCBBXXX (FOLLOWING      02850064
.*                     THE UCB PREFIX) WHERE XXX IS THE DEVICE          02900064
.*                     ADDRESS PASSED. ANY LABEL ON THE MACRO           02950064
.*                     CALL IS EQUATED TO UCBBXXX.                      03000064
.*           UCBCEXT - UCB COMMON EXTENSION WITH A LABEL OF             03050064
.*                     UCBCXXX WHERE XXX IS THE DEVICE                  03100064
.*                     ADDRESS PASSED. ANY LABEL ON THE MACRO           03150064
.*                     CALL IS EQUATED TO UCBCXXX.                      03200064
.*                                                                      03250064
.*       LOCALS USED ARE -                                              03300064
.*          &X - USED AS WORK VARIABLE.                                 03350064
.*          &C - SET TO DEVICE ADDRESS  (&DATA(1)) FOR LABELS.          03400064
.*                                                                      03450064
.*                                                                      03500064
.* EXIT, NORMAL - N/A                                                   03550064
.*                                                                      03600064
.* EXIT, ERROR - N/A                                                    03650064
.*                                                                      03700064
.* EXTERNAL REFERENCES - N/A                                            03750064
.*                                                                      03800064
.* TABLES - N/A                                                         03850064
.*                                                                      03900064
.* MACROS - N/A                                                         03950064
.*                                                                      04000064
.* CHANGE ACTIVITY - N/A                                                04050064
.*                                                                      04100064
.*A-000000-999999                                              @G64HPLP 04150064
.***** END OF SPECIFICATIONS ****************************************** 04160064
         AIF   (N'&DATA EQ 0).MEND     IGNORE IF NO DATA PASSED         04200064
&C       SETC  '&DATA(1)'                                               04250064
         AIF   ('&ENTYPE' EQ 'UCBBASE').UCBBASE  PROCESS BASE UCB       04300064
         AIF   ('&ENTYPE' EQ 'UCBCEXT').UCBCEXT  PROCESS COM. EXT.      04350064
         MEXIT                         UNKNOWN ENTRY TYPE-IGNORE        04400064
.UCBBASE ANOP                                                           04450064
         DC    D'0'                    UCBLOCK, UCBIOQ                  04500064
UCBB&C   DC    AL1(0)                  UCBJBNR                          04550064
         AIF   (K'&LABEL EQ 0).UCBB1   ANY OTHER LABEL ?                04600064
&LABEL   EQU   UCBB&C                  COMPATIBILITY LABEL              04650064
.UCBB1   ANOP                                                           04700064
         DC    AL1(&DATA(2)),X'FF'     UCBFL5,UCBID                     04750064
         AIF   (&DATA(3)).UCBB2        OFFLINE SPECIFIED ?              04800064
&X       SETA  &X+X'80'                NO - SET UCBONLI                 04850064
.UCBB2   ANOP                                                           04900064
         AIF   (NOT &DATA(4)).UCBB3    NON-REMOVABLE ?                  04950064
&X       SETA  &X+X'04'                YES-SET UCBPRES                  05000064
.UCBB3   ANOP                                                           05050064
         DC    AL1(&X),XL2'&C'         UCBSTAT,UCBCHAN                  05100064
         DC    XL4'0'                  UCBFLA,UCBFLB,UCBCHM,UCBCNT      05150064
         DC    AL1(&DATA(5))           UCBLCI                           05200064
         DC    XL2'0',CL3'&C'          UCBCPU,UCBWGT,UCBNAME            05250064
         DC    XL4'&DATA(6)',XL1'0'    UCBTYP,UCBFLC                    05300064
         DC    AL3(UCBC&C)             UCBCMEXT (PTR TO COMMON EXT)     05350064
         MEXIT                                                          05400064
.UCBCEXT ANOP                                                           05450064
UCBC&C   DC    0F'0',AL1(&DATA(2))     ALIGNMENT,UCBETI                 05500064
         AIF   (K'&LABEL EQ 0).UCBC1   ANY LABEL ?                      05550064
&LABEL   EQU   UCBC&C                  COMPATIBILITY LABEL              05600064
.UCBC1   ANOP                                                           05650064
         DC    AL1(&DATA(3)),XL1'0'    UCBSTI,UCBDTI                    05700064
         DC    AL1(&DATA(4),&DATA(5))  UCBATI,UCBSNSCNT                 05750064
         DC    AL1(&DATA(6)),XL2'0'    UCBFLP1, UCBRV041                05800064
         DC    H'&DATA(7)'             UCBCCWOF                         05850064
         DC    XL6'0'                  UCBPMSG,UCBMFCNT,UCBASID         05900064
         DC    F'0'                    UCBRV043,UCBWTOID                05950064
         DC    V(&DATA(8))             UCBDDT                  @G64HPLP 06000064
         MEXIT                                                          06050064
.MEND    MEND                                                           06100064
