z/OS MVS Using the Subsystem Interface
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Environment

z/OS MVS Using the Subsystem Interface
SA38-0679-00

On entry to a function routine, the function routine must save registers using standard save area conventions.

The register contents on entry to a function routine are:
Register
Contents
Reg 0
Address of the SSCVT (mapped by the IEFJSCVT macro)
Reg 1
Address of the SSOB control block passed by the requestor. This is explained in Subsystem Options Block (SSOB).
Reg 13
Standard 18-word save area
Reg 14
Return address
Reg 15
Entry point address

On exit from a function routine, a function routine must restore registers 0-14 to the contents on entry using standard exit linkage.

As you write your function routines, be aware of what state and key the function routine must be in to do its work. Your function routine gets control in the key and state of the requestor. If your routine requires that it be in a different key or state, your routine must handle mode and state switching. However, you must reverse the mode switch before returning control to the SSI because the SSI gets control back in your routine's key and state.

Address mode (AMODE) considerations are handled by the SSI system routines. Other addressability considerations must be handled by the function routine. Any addresses passed to an AMODE 24 function routine (including the save area) must be below 16 megabytes. If the subsystem runs in a separate address space, the function routine must establish cross memory space communication either by SRB scheduling or cross memory instructions. For an explanation of using multiple address spaces, see z/OS MVS Programming: Extended Addressability Guide.

The function routine can pass back some information when processing for the request is complete. The information is put in fields in the control blocks that the user passed to the SSI when the request was made. The control blocks (SSOB, SSIB and SSOB function dependent area) are explained more fully in Making a Request of a Subsystem. The function routine must:
  • Set the return code in the SSOBRETN field of the SSOB
  • Put information (if required) in the SSOB function dependent area.

See Examples — Subsystem Interface Routines for coding examples of function routines.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014