z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Open/EOV Volume Security and Verification Exit

z/OS DFSMS Using Data Sets
SC23-6855-00

This user exit lets you verify that the volume that is currently mounted is the one you want. You can also use it to bypass the OPEN or EOV expiration date, password, and data set name security checks. An X'18' in the DCB exit list (EXLST) activates this exit (see DCB Exit List). This exit, which supports IBM standard label tapes, was designed to be used with the OPEN/EOV nonspecific tape volume mount user exit, but you can use this exit by itself (see Open/EOV Nonspecific Tape Volume Mount Exit).

This exit is available only for APF-authorized programs.

This user exit gets control in the key and state of the program that issued the OPEN or EOV request, and no locks are held. This exit must provide a return code in register 15.

Return code
Meaning
00 (X'00')
Use this tape volume. Return to OPEN or EOV as if this exit had not been called.
04 (X'04')
Reject this volume and:
  • Output
    • If the data set is the first data set on the volume, request a scratch tape. This causes OPEN or EOV to issue demount message IEC502E for the rejected tape volume, and mount message IEC501A or IEC501E for a scratch tape volume. If the nonspecific tape volume mount exit is active, it is called.
    • If the data set is other than the first one on the volume, process this return code as if it were return code 08.
  • Input
    • Treat this return code as if it were return code 08.
08 (X'08')
Abnormally terminate OPEN or EOV unconditionally; no scratch tape request is issued.

OPEN abnormally terminates with a 913-34 ABEND code, and EOV terminates with a 937-44 ABEND code.

12 (X'0C')
Use this volume without checking the data set's expiration date. Password, RACF authority, and data set name checking still occurs.
16 (X'10')
Use this volume. A conflict with the password, label expiration date, or data set name does not prevent the new data set from writing over the current data set if it is the first one on the volume. To write over other than the first data set, the new data set must have the same level of security protection as the current data set.
When this exit gets control, register 1 points to the parameter list described by the IECOEVSE macro. The parameter list is shown in Figure 1.
Figure 1. IECOEVSE macro parameter list
               Length or
   Offset     Bit Pattern        Description

   0                             OEVSE        DSECT name

   0          4                  OEVSID       ID field = "OEVS"

   4          1                  OEVSFLG      A flag field

              1... ....          OEVSEOV      Set to 0 if OPEN called this exit and
                                              set to 1 if EOV called this exit

              .... ...1          OEVSFILE     Set to 0 if the first data set on the volume
                                              is to be written and set to 1 if this is not
                                              the first data set on the volume to be
                                              written. This bit is always 0 for INPUT 
                                              processing.

              .xxx xxx.                       Bits 1 through 6 reserved

   5          1                  OEVSOPTN     OPEN options from the DCB parameter list
                                              (OUTPUT, INPUT,INOUT, and so forth). For
                                              EOV processing, this byte indicates how EOV
                                              is processing this volume. For example, if
                                              you opened a tape volume for OUTIN and EOV
                                              is called during an output operation on
                                              the tape volume, the DCB parameter list
                                              and OEVSOPTN are set to indicate OUTPUT.

                                              Possible values follow:

                                              xxxx 0000   INPUT or reading at EOV with 
                                                          INOUT, OUTIN, or OUTINX
                                              xxxx 0001   RDBACK
                                              xxxx 1111   OUTPUT or EXTEND or writing at
                                                          EOV with INOUT, OUTIN, or OUTINX
                                              xxxx 0011   INOUT during OPEN
                                              xxxx 0111   OUTIN or OUTINX during OPEN

              0000 1111          OEVSMASK     Mask

   6          2                  OEVSRSVD     Reserved

   8          4                  OEVSDCBA     Address of user DCB

   12(X'C')   4                  OEVSVSRA     A pointer to the current volume serial
                                              number that OPEN or EOV is processing

   16(X'10')  4                  OEVSHDR1     A pointer to an HDR1 label, if one exists,
                                              or to an EOF1 label, if you are creating
                                              other than the first data set on this volume

   20(X'14')  4                  OEVSJFCB     A pointer to the OPEN, CLOSE, or EOV copy of the
                                              JFCB. The high-order bit is always on, indicating
                                              that this is the end of the parameter list.

              24                 OEVSLENG     OEVSID PLIST LENGTH            
When this user exit is entered, the general registers have the following contents.
Register
Contents
0
Variable
1
Address of the parameter list for this exit.
2-13
Contents of the registers before the OPEN or EOV was issued
14
Return address (you must preserve the contents of this register in this user exit)
15
Entry point address to this user exit

You do not have to preserve the contents of any register other than register 14. The operating system restores the contents of registers 2 through 13 before it returns to OPEN or EOV and before it returns control to the original calling program.

Do not use the save area pointed to by register 13; the operating system uses it. If you call another routine or issue a supervisor or data management macro in this user exit, you must provide the address of a new save area in register 13.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014