Using the IEFQMREQ and the SWAREQ macros

Start of changeSee z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG and z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO for information about the environment requirements for using these macros.End of change

To use these macros, you must provide information to one of two external parameter areas (EPAs). When invoking SWAREQ, use the EPAL. When invoking IEFQMREQ, use the EPAM. This information uses the term EPA when generically referring to either of these areas.

You must provide a function code and a pointer to an EPA. The function code specifies the service that the macro is to perform. The EPA is where you store input data to the macro and where the macro returns output data to you. The input data in the EPA depends on the function code that you specify. The data in the EPA can be:
  • The buffer address.
  • The token that represents the SWA block. These tokens are called SVAs.
  • The pointer (block pointer) to the SWA block being accessed.
  • The length (block length) of the block being accessed.
  • An ID field (block ID) that represents the type of SWA block. Use this block ID to compare against the block ID in a SWA block returned from a read function. If the comparison is not equal, then the returned block is not the type of SWA block that you requested. Block ids are mapped by the IEFQMIDS mapping macro.

One of the items that you must store in the EPA before invoking the macro is the token that identifies the SWA block that you want to access. You can obtain these tokens (called SVAs) from the following fields:

SWA block to be accessed Field that contains the token Mapping macro for field that contains the token
JFCB (job file control block) TIOEJFCB in the TIOT entry IEFTIOT1
JFCBX (job file control block extension) JFCBEXAD in the JFCB IEFJFCBN