CP .Initiated Requests
When a virtual machine wishes to terminate a communications path, it invokes the SEVER function via the IUCV macro. The communication processor receives con­
trol from the SEVER function, gathers the external interrupt information, and
determines which service was connected. The communication processor locates the SEVER entry point for that service and, using CALL linkage, passes control to it.
The SEVER entry point for that CP system service then inspects the external inter­
rupt data. The CP system service module issues a SEVER if the connection was
complete. When the CP service module finishes processing, it issues an EXIT (SVC 12) to return control to the communication processor.
If a virtual machine wishes to quiesce a communications path, it invokes the QUI­ ESCE function of the IUCV macro. The communications processor receives con­
trol from the QUIESCE function, gathers the external interrupt information, and
determines which service was connected. The communications processor locates
the QUIESCE entry point for that service and, using CALL linkage, passes control
to it.
The QUIESCE entry point for the CP system service then inspects the external
interrupt data. The CP service records the fact that the path has been quiesced.
When the CP service module has finished processing, it issues an EXIT (SVC 12)
to return control to the communication processor.
After invoking QUIESCE for a path, the virtual machine may eventually invoke the RESUME function for the path.
The communication processor receives control from the RESUME function, gath­
ers the external interrupt information, and determines which service was connected.
The communication processor locates the RESUME entry point for that service
and, using CALL linkage, passes control to it.
The RESUME entry point for that CP system service then inspects the external
interrupt data. The CP service records the fact that the path has been RESUMEd.
When the CP service module has finished processing, it issues an EXIT (SVC 12)
to return control to the communication processor.
When a CP module initiates a CONNECT or SEND to a virtual machine, it must
do the following:
Get storage (via DMKFREE) in which to build an IXBLOK. Build the parameter list in the IXBLOK for the function that it wishes to
invoke. Store the general registers in the IXBLOK. Store the address of the routine that gets control when a connection completes
or when a reply is received. The CP module must store the routine's address in
the "interrupt return address" field of the IXBLOK (label IXlRA).
Invoke the CONNECT or SEND function via the IUCV macro, specifying
CP= YES and specifying the address of the IXBLOK or the PRMLIST =parameter.
Inter-User Communications Vehicle 141
When the function has been initiated, control returns to the next sequential instruc­
tion after the IUCV macro instruction. When the function completes (that is, when
the target communicator invokes the ACCEPT or REPLY function), the communi­
cations processor gets control. The communications processor loads the general
registers from the IXBLOK and passes control to the routine at the "interrupt return addresscdq .. The communications processor restores all registers except reg­
ister 15 from the IXBLOK. Register 15 is used in passing control and is loaded
with the interrupt return address.
The CP module that builds the IXBLOK is responsible for the following:
Restoring the base register for the module that invoked the function (pass the
base register in general register 12 following CP conventions).
Releasing (via DMKFRET) the IXBLOK upon completion of the asynchro­
nous portion of the function (pass the address of the IXBLOK in one of the
general registers).
Lock the processing module in real storage if it is not resident. In addition,
when the routine at the interrupt return address gets control, the processing
module must be unlocked. IV CV Parameter List Formats
o
8 10 18 20 o
This section illustrates the formats of the parameter lists required for IUCV func­
tions. Descriptions of the parameter list fields are included in the section, "Parameter List and External Interrupt Fields." ACCEPT Function ACCEPT Parameter List Format
1 2 3 4 5 6 7 IPPATHID \IPFLAGS1 \IPRCODE \ IPMSGLIM 1 /////////// IPUSER IPUSER /////////////////////////////////////////////////////////////// INPUTs to this function (built in the parameter list by the IUCV macro or by
the invoker):
IPFLAGS 1 IPMSGLIM IPP ATHID IPUSER OUTPUTs from this function returned in the parameter list:
IPMSGLIM IPRCODE 142 VM/SP System Programmer's Guide
Previous Page Next Page