z/OS DFSMS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Summary of Information Passed to the Pre-Label Exit Routines

z/OS DFSMS Installation Exits
SC23-6850-01

The address of a parameter list mapped by macro IEHUEXIT is passed to the exit routines in Register 1. Some of the information in this parameter list can be changed and returned to IEHINITT for processing. Please review the macro for details on field names and values. Some of the fields passed in are:
  • A one byte hex value indicating the function for which the routine is being invoked.

    Currently only pre-label and post-label functions are defined. A subfunction byte is passed in, but is not currently defined for this function.

  • 4 bytes of flags that indicate the status of data passed into the routine.

    A variety of conditions concerning the result of attempting to read the existing labels on the volume are indicated here. Flags are set for such things as whether the labels were successfully read, whether the VOL1 label information passed in was constructed from sense information when allowed by VOLNSNS specification in the active DEVSUPxx PARMLIB member, whether an I/O error was encountered when trying to read the labels, in addition to other conditions.

    All exit routines should see the same flag settings in these bytes.

  • 4 bytes of flags that indicate the cumulative results of processing the exit routines and any reasons for not labelling the volume.
    There are a variety of reasons that a volume will not be labeled. Things such as:
    • A failure in the CSVDYNEX service,
    • An ABEND in an exit routine,
    • The operator responding with S(kip) to the IEHINITT mount message,
    • An exit routine indicated that the volume is not to be labeled.
    • Invalid characters are specified for the original or modified volume serial number, owner ID, and/or access code.
    • A conflict in information returned by an exit routine

      Please see Conflict Processing for details.

    Each pre-label exit routine sees the cumulative result of all previous exit routine processing. By cumulative we mean that all results of previous exit routine processing will be indicated in these flags. So, for example, if a conflict is detected after calling the third exit routine, all subsequent exit routines will see the conflict flag, IXWONTL, set. Another example would be that once a routine indicates that the volume is not to be labeled, all subsequent routines will see the IXCANTL flag set.

    All post-label exit routines will see the final cumulative result of all pre-label exit routine processing in these flags.

  • Other informational data that is provided includes the:
    • VOL1 and HDR1 labels if available,
    • Labels that were read where VOL1 or HDR1 labels were expected but the format was not as expected,
    • Volume serial returned from a LACS VERIFY call if different from the read volume serial,
    • SAF and RACROUTE AUTH return and reason codes

      When the volume label is not read for whatever reason, the requested volume serial number is used as the internal volume serial in all authorization checking.

      A call to SAF/RACROUTE AUTH is made before the pre-label exits are invoked. The results of this call are passed, uninspected, to the exit routines. If an exit routine returns an RC=0, indicating the volume is to be labelled, it is assumed that the exit reviewed the SAF/RACROUTE return and reason codes and that it is allowing labelling regardless of those values.

      If there are no exit routines associated with this exit, or if all routines return an RC=4, then the results of the SAF/RACROUTE call will be inspected and labelling will be performed only if SAF/RACROUTE authorization is indicated.

    • A pointer to the UCB
    • Sense data that was generated as a result of any non-recoverable I/O error produced while trying to read the VOL1 or HDR1 labels
  • Fields INXRQVOL (volume serial), INXRQOWN (owner ID), and INXRQACC (access code) are provided as input, but can be modified by the exit routines under the following conditions:
    • A return code 0 is returned, in which case the currently mounted volume will be labeled with the value in these fields. This applies to all three fields.
    • A return code 8, reason code 4 is returned, in which case the value in INXRQVOL must be changed or a conflict condition will be indicated and the volume will not be labelled. The owner ID and access code fields may also be changed.
    Caution in using this facility should be exercised when more that one exit routine is active. A conflict condition can result if one exit routine specifies a changed field that does not agree with the value returned by another exit routine, or if one exit indicates to label the tape and another indicates to label the volume with a new value.
    • INXRQVOL

      A 6 character field containing the volume serial with which the volume is to be labeled. If more than 1 routine returns a modified volume serial, the values must be the same or a conflict is indicated and the volume is not labeled.

      This field is also used to indicate the new volume serial that is to be mounted when a remount request is returned, RC=8, RSN=4.

      Note: All pre-label exit routines will see the originally specified volume serial, not the modified volume serial.
    • INXRQOWN

      The owner ID with which the volume is to be labeled. If more than one exit routine modifies this field, the modified value must be the same or a conflict will be indicated and the volume will not be labeled.

      Note: All pre-label exit routines will see the originally specified owner ID, not the modified owner ID.
    • INXRQACC

      The access code value (if the request is for an ANSI label) with which the volume is to be labeled. If more than one exit routine modifies this field, the modified value must be the same or a conflict will be indicated and the volume will not be labeled.

      Note: All pre-label exit routines will see the originally specified access code, not the modified access code.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014