Any other type of IUCV external interrupts occurs and the path that it
occurs on is not owned by any active CMS IUCV programs in the virtual
machine.
In either condition, CMS issues an IUCV SEVER for the path in error. The 16
bytes in the IPUSER field contain binary ones (X'F').
2. If a CMS abend occurs, the CMS lUCY environment is terminated. An IUCV RETRIEVE BUFFER is issued, and any exits set up by the CMSIUCV or
HNDIUCV macros are cancelled.
3. CMS IUCV clean up does not occur at end-of-command processing.
4. A program must be ready to handle any incoming external interrupts as soon as
a HNDIUCV or CMSIUCV macro has finished execution. A program may
even be interrupted before the next sequential instruction after the macro in
the program is executed.
Using CMS IUCV to Communicate Between Two Virtual Machines
Figure 41 on page 366 illustrates the sequence of macro instructions issued when a
virtual machine communicates with another virtual machine using CMS IUCV. The functions performed by these instructions include:
initializing IUCV communications
connecting to another virtual machine
sending and receiving messages
replying to and waiting for messages
severing connections with the other virtual machine
terminating IUCV communications. CMS IUCV Support 365
Virtual Machine X virtual Machine Y
1. HNDIUCV SET,NAME=ONE,EXIT=A 1. HNDIUCV SET,NAME=TWO,EXIT=1
2. Set up the IUCV parameter list
3. CMSIUCV CONNECT,NAME=ONE,EXIT=B
4. CONNECT-pending external
interrupt
5. EXIT 1 receives control
6. CMSIUCV ACCEPT,NAME=TWO,EXIT=2
7. CONNECT-complete external
interrupt
B. EXIT B receives control
9. CMSIUCV SEVER,NAME=ONE 10. SEVER external interrupt
11 . EXIT 2 receives control
12. CMSIUCV 13. HNDIUCV CLR,NAME=ONE 13. HNDIUCV CLR,NAME=TWO
14. ONE DC CLB'RED'
15. TWO DC CLB'BLUE'
Figure 41. Sequence of Instructions in Virtual Machine to Virtual Machine Communication
The following list is an explanation of the sequence of instructions used above.
1. A program running in virtual machine X wishes to communicate with a pro­
gram running in virtual machine Y. Each program must independently issue
the HNDIUCV macro to begin IUCV communications. By issuing HNDIUCV SET, CMS invokes the IUCV DECLARE BUFFER function. The EXIT
parameter establishes a general exit to handle IUCV CONNECT PENDING
external interrupts.
2. Before issuing a CMSIUCV CONNECT, an IUCV CONNECT parameter list
must be set up by the program. The IPVMID field of the IUCV parameter list
contains the userid of the virtual machine you are connecting to (virtual
machine Y). The first 8 bytes of the IPUSER field of the IUCV parameter list
contains the eight-character identifying name of the program that issued a HNDIUCV SET in virtual machine Y. This name must match the name speci­
fied on the HNDIUCV macro issued by the program in virtual machine Y. In
this example, the first eight bytes of the IPUSER field equals BLUE. 3. The program in virtual machine X issues a CMSIUCV CONNECT to initiate a
communication link with virtual machine Y. By issuing CMSIUCV CON­ NECT, CMS invokes the IUCV CONNECT function. This associates the exit
address, "B", with the IUCV pathid.
4. Virtual machine Y receives a CONNECT -pending external interrupt as a result
of the CMSIUCV CONNECT issued by the program in virtual machine X.
5. "EXIT 1" receives control as a result of the external interrupt. ("EXIT 1" receives control because it was specified on the EXIT parameter of the HNDIUCV macro.)
366 VM/SP System Programmer's Guide
Previous Page Next Page