Message Identification CP performs storage protection checking for all data moved during an lUCY com­
munication. IUCV stores the source communicator's PSW key in the MSGBLOK. When the target communicator executes a RECEIVE or REPLY function, lUCY uses the PSW key for protection checking in the source virtual machine. lUCY uses the target communicator's PSW key at the time of the RECEIVE or REPLY to check data accesses in the target virtual machine.
A message is fully identified to a virtual machine by values that are recorded in the MSGBLOK. Message identification -a single fullword value that identifies a message. lUCY assigns a message id when the source communicator invokes the SEND
function. The message identification is generated by a sequential counter value
and is unique for the system IPL. Message class -identifies the source message class and target message class.
The message classes are arbitrary fullword values that the source communica­
tor specifies when invoking the SEND function. The meaning of the message
classes is agreed to in advance by the two communicators. lUCY places no
restrictions on the values specified for message class. The communicators can
use the message class to selectively dequeue messages. Path description and the target path description. lUCY assigns these path ids
when a path is established via the CONNECT and ACCEPT functions.
There is no defined relationship between the values of the source and target path
ids lUCY assigns, or between the message classes the source and the target com­
municators use. None of these values need be the same although they refer to the
same message. Only the message identification has the same value for both target
and source communicators.
Thus, when invoking lUCY functions, the source communicator refers to a mes­
sage by a combination of its source path id, source message class, and message id.
The target communicator refers to the same message by a combination of its target
path id, target message class, and message id. When the target communicator
issues the DESCRIBE function, lUCY provides the target's identifiers.
In addition, lUCY provides another message identifier for the source communica­
tor. When invoking the SEND function, the source communicator may specify a
message tag. lUCY does not assign a value or meaning to the tag; its use is deter­
mined solely by the source communicator. For example, the source communicator
can use the message tag to tie a completed message to the original SEND request. lUCY presents the tag to the source communicator when the message completes.
Finally, a message can be identified as a priority message when the source commu­
nicator invokes the SEND function. lUCY enqueues a priority message ahead of
any nonpriority messages on the target communicator's SEND queue and behind
any earlier priority messages. The installation must authorize a path to handle pri­
ority messages in the lUCY directory control statement. Inter-User Communications Vehicle 113
Pending IUCV Communications IV CV External Interrupts
A communicator can receive notification of pending IUCV messages in two ways:
by receiving external interruptions or by interrogating the SEND and REPLY queues.
To enable IUCV external interruptions, communicators must:
Invoke the DECLARE BUFFER function to indicate to IUCV where to store
data associated with an external interruption. Set to one Bit 7 in the virtual machine's PSW; set to one submask bit 30 of
control register O. In addition, communicators can invoke the SET MASK function to selectively ena­
ble the virtual machine to receive external interruptions for IUCV messages,
replies, and functions. IUCV functions generate a type X'4000' external interruption. When a virtual
machine in EC mode receives an IUCV external interruption, IUCV places the
interruption code in locations X'86' and X'87' of the virtual machine's storage. For
a virtual machine in BC mode, IUCV places the code in the external old PSW. In
addition, IUCV stores an external interrupt buffer containing information about
the message or IUCV function at the address specified when the communicator
invoked the DECLARE BUFFER function. One field of this buffer is an external
interrupt subtype that indicates why the external interrupt OCCUlTed. The possible
values of this field are: 01 - Connection pending 02 - Connection complete 03 - Path severed 04 - Path quiesced 05 - Path resumed 06 - Incoming priority reply 07 - Incoming nonpriority reply 08 - Incoming priority message 09 - Incoming nonpriority message See "IUCV External Interrupt Buffers" for the formats of the buffers.
A virtual machine can use the SET MASK function to selectively enable or disable
external interrupts for IUCV communications. The SET MASK function has mask
bits that enable or disable external interruptions for:
Priority messages Nonpriority messages
Priority replies
Nonpriority replies IUCV control functions
To further divide and handle the control type interrupts, the SET CONTROL MASK function may be used on the IUCV macro. The types of control may be separately enabled and disabled. These control type interrupts are:
114 VM/SP System Programmer's Guide
Previous Page Next Page