The IEWBFDA macro

The syntax of the IEWBFDA macro is:

label
Optional symbol. If present, the label must begin in column 1.
ENTRYPNT=entry_point — RX-type address or register (3-12)
Specifies the name of a 4-byte variable that contains the entry point location of the IEWBFDAT module. If this location is known prior to the first call of the fast data access service, the use of such value by this parameter might save the implied processing overhead of attempting to load the module into storage.
MTOKEN=token — RX-type address or register (3-12)
Specifies the name of an 8-byte variable that contains the Module Token established by the binder. This token should be initialized to binary zero before the first call of the set.
RETCODE=retcode — RX-type address or register (3-12)
Specifies the name of a fullword integer variable that receives the completion code returned by the binder.
RSNCODE=rsncode — RX-type address or register (3-12)
Specifies the name of a 4-byte hexadecimal string variable that receives the reason code returned by the binder.
EPTOKEN=eptoken — RX-type address or register (3-12)
Specifies the name of an 8-byte variable that contains the EPTOKEN received from MVS™ contents supervisor by means of the CSVQUERY macro. EPTOKEN is required to locate the correct copy of a module in a PDSE program library, when the module has already been loaded into virtual storage by loader services.
DDNAME=ddname — RX-type address or register (3-12)
Specifies the name of a structure identifying the ddname of the library to be accessed. The structure consists of a two-byte length field followed by a character string of up to 8 bytes. The library identified by the ddname must not include a member name.

DDNAME may also point to a z/OS® UNIX System Services file by using a path specification for the ddname. In this case, no member name should be passed to IEWBFDAT.

PATH=pathname — RX-type address or register (3–12)
An absolute or relative path name may be passed explicitly. The path name will occupy the same parameter list position as DDNAME and must start with / or ./.
DCBPTR=dcbptr — RX-type address or register (3-12)
Specifies the name of a 4-byte pointer variable containing the address of a DCB that represents a PDSE program library. The DEPTR parameter is required if DCBPTR is specified.
Note:
  1. The DCB must be opened before the invocation of the service, and the DCB parameters must be DSORG=PO,MACRF=(R). See SB - Starting a session with a BLDL identifier for a listing of the restrictions on DCBs.
  2. If you haven't set a new DCBE with the EADSCB=OK option, the system assumes that the program cannot handle the track address and issues a new ABEND.
DEPTR=deptr — RX-type address or register (3-12)
Specifies the name of a 4-byte pointer variable containing the address of a directory entry as returned by BLDL.
MEMBER=member — RX-type address or register (3-12)
Specifies the name of a structure identifying the member name or alias of the library member to be accessed. The structure consists of a two-byte length field followed by a character string of up to 1024 bytes. MEMBER may be specified only if DDNAME is specified.
SECTION=section — RX-type address or register (3-12)
Specifies the name of a structure identifying the name of the section to be accessed. The structure consists of a two-byte length field followed by a character string of up to 32767 bytes. This is an optional parameter, and is default to a concatenation of all sections in the specified class.
CLASS=class — RX-type address or register (3-12)
Specifies the name of a structure identifying the class name of the required class. The structure consists of a two-byte length field followed by a character string of up to 16 bytes.
AREA=buffer — RX-type address or register (3-12)
Specifies the name of a standard buffer that receives the data. See Binder API buffer formats for buffer formats. The version level is specified with this keyword.
CURSOR=cursor — RX-type address or register (3-12)
Specifies the name of a fullword integer variable that indicates to the binder the position (relative record or byte) in the buffer where processing is to begin.

The CURSOR value identifies an index into the requested data beginning with 0 for the first data item. Each of the buffer formats defined in Binder API buffer formats contains an entry length field in its header. Multiplying the cursor value by the entry length provides a byte offset into the data. Note that CUI, LIB, PMAR, and text data is always treated as having entry length 1.

The CURSOR value is an input and output parameter. On input to the service, the cursor specifies the first item to return. On exit from the service, it is updated to an appropriate value for continued sequential retrieval if not all data has yet been retrieved. For text data this may or may not be the next byte after the last one returned, because pad bytes between sections and uninitialized data areas within sections may have been skipped.

COUNT=count — RX-type address or register (3-12)
Specifies the name of a fullword integer variable in which the binder can store the number of bytes or entries returned in the buffer.
HOLD=N|Y — RX-type address or register (3-12)
Points to a 1 byte field containing a Y or N. If Yes is specified, DIV maps and acquired storage are not released, allowing requests for additional data from the same module on subsequent calls.
SYSTEMDCB=N|Y — RX-type address or register (3-12)
Points to a 1 byte field containing a Y or N, with a default of N. This parameter is effectively ignored by fast data, but retained for compatability.
DELETE=N|Y — RX-type address or register (3-12)
Specifies if the IEWBFDA module is deleted The default is 'Y'.

If Yes is specified, or if HOLD=N is specified without DELETE being specified, the module is deleted.

If Yes is specified, or if DELETE is not specified but HOLD=Y is specified, the module is not deleted.

LOADFAIL=loadfail — RX-type address or register (3-12)
Specifies the name of a four-byte pointer containing the address of a user-defined routine that gets control if the LOAD operation fails while attempting to load the IEWBFDA module.
MF={S | L | (E,listaddress)}
Specifies the macro form required.
S
Specifies the standard form and generates a complete inline expansion of the parameter list. The standard form is for programs that are not reenterable or refreshable, and for programs that do not change values in the parameter list. The standard form is the default.
L
Specifies the list form of the macro. This form generates an inline parameter list.
E
Specifies the execute form of the macro. This form updates a parameter and transfers control to the service routine.
listaddressRX-type address or register (3-12)
Specifies the address of the parameter list.