IBM SC33-1683-02 Server User Manual


 
Chapter 3. The user exit programming interface (XPI)
This chapter describes the user exit programming interface (XPI) of CICS
Transaction Server for OS/390 Release 3. It is divided into the following sections:
v “Overview” is an introduction to the XPI.
v “General form of an XPI call” on page 286 contains information that applies to
all the XPI calls.
v “Global user exit XPI examples, showing the use of storage” on page 292
contains two pieces of sample code.
v “The XPI functions” on page 298 describes the syntax of the individual XPI
calls. The calls are grouped according to the type of function they perform (for
example, dump control, storage control). The functional groups are ordered
alphabetically.
Overview
The user exit programming interface provides global user exit programs with access
to some CICS services. It consists of a set of macro function calls that you can use
in your user exit programs. It provides opportunities to extend CICS functions
beyond the facilities provided in the standard CICS system, but it must be used with
care. Any exit programs you write that use the interface must be written following
the guidance in this chapter, and they must be carefully tested to ensure that they
cannot cause system errors.
The user exit programs must be in assembler language; the XPI is not provided for
other languages. You should also note that programs containing XPI calls must be
written to 31-bit standards, and must be reentrant.
You must be in primary-space translation mode when you invoke the XPI. (For
information about translation modes, see the
IBM ESA/370 Principles of Operation
manual.)
v Using the XPI dispatcher functions, you can:
Obtain a suspend token for a task—see “The ADD_SUSPEND call” on
page 302
Suspend execution of the issuing task—see “The SUSPEND call” on
page 304
Resume execution of a suspended task—see “The RESUME call” on
page 307
Release a suspend token associated with a task—see “The
DELETE_SUSPEND call” on page 308
Request a wait on one or more MVS event control blocks (ECBs)—see “The
WAIT_MVS call” on page 309
Change the priority of the issuing task—see “The CHANGE_PRIORITY call”
on page 313.
© Copyright IBM Corp. 1977, 1999 283