This appendix documents Programming Interface and Associated Guidance
Information provided by DFSMS.
This appendix is intended to help you invoke a utility program
from an application program.
You can start a utility program through an application program
by using the LINK macro instructions. (ATTACH may also be used, but
additional parameters are needed. )
You must supply the information that is usually specified in the
PARM parameter of the EXEC statement, and any nonstandard ddnames
that define the data sets that you want the utility to use.
Note: All
parameters must reside below the line (that is, have 24 bit addresses).
When invoking IEBCOMPR, IEBCOPY, IEBDG, IEBGENER, IEBPTPCH, IEHLIST,
IEHMOVE, or IEHPROGM from an application program or the TSO CALL command,
you must dynamically allocate the device by issuing SVC 99 before
calling the utility or you must use the JCL or TSO ALLOCATE equivalent.
IEHINITT,
IEHMOVE, and IEHPROGM are APF (authorized program facility) programs.
When executing an authorized program, the calling program must also
be authorized. If you are using TSO, the TSO service routine
IKJEFTSR may be used by an unauthorized program to invoke an authorized
program such as IEHINITT.
The syntax of the LINK macro instruction is:
Label |
Statement |
Parameters |
---|
[label] |
LINK |
EP=progname |
|
|
,PARAM=(optionaddr[,ddnameaddr |
|
|
[,hdingaddr[,uexitparmaddr]]]) |
|
|
,VL=1 |
where:
- EP=progname
- specifies the name of the utility program.
- PARAM=(optionaddr[,ddnameaddr [,hdingaddr[,uexitparmaddr]]])
- specifies, as a sublist, address parameters to be passed from
the application program to the utility program. All parameters and
the parameter list itself must be in 24-bit addressable storage. Refer to the IEBCPARM macro's CPARM_PARMLIST
DSECT for a map of the specifiable parameter options. These values
can be coded:
- optionaddr
- specifies the address of an option list which contains options
usually specified in the PARM parameter of the EXEC statement. This
must be present for all utility programs. Refer to the IEBCPARM macro's CPARM_OPTIONS_PREFIX DSECT
for a map of the caller's option list.
- ddnameaddr
- specifies the address of a list of alternate ddnames for the data
sets used during utility program processing. If standard ddnames are
used and this is not the last parameter in the list, it should point
to a halfword of zeros. Refer
to the IEBCPARM macro's CPARM_DDNAMES_PREFIX DSECT for a map of the
ddname array. If
you do not wish to specify this parameter or the later parameters,
you may omit it.
- hdingaddr
- specifies the address of a list which contains an EBCDIC beginning
page number for the SYSPRINT data set. If hdingaddr is
omitted, the page number defaults to 1. Refer to the IEBCPARM macro's CPARM_PAGENUM_PREFIX DSECT
for a map of the caller's page number option. If you do not wish
to specify this parameter or the later parameter, you may omit it.
- uexitparmaddr
- specifies the address of the IEBCOPY user-exit parameter list.
Refer to the IEBCPARM mapping macro CPARM_EXIT_DSECT for a description
of the IEBCOPY user exit parameters. If uexitparmaddr is
omitted, the IEBCOPY user exits will not be invoked. Uexitparmaddr is
only supported in IEBCOPY. If you do not wish to specify this parameter,
you may omit it.
- VL=1
- specifies that the sign bit of the last fullword of the address
parameter list is to be set to 1.