12.  Virtual  machine  X  has  now  completed  its  communications  with  virtual  machine  
Y and issues aSEVER   to  break  the  communications  path.  The  SEVER   func  
tion queues an external interrupt for Y indicating that the communication link
has been broken. Control returns in X at the next instruction after the
SEVER; a return code indicates the path has been broken.
13. The external interrupt queued by step 12 is reflected to Y indicating that the
path has been broken by virtual machine X. Virtual machine Y can now do
any clean up needed in its storage.
14. After virtual machine Y has completed processing, the virtual machine issues aSEVER   to  notify  LUCY   that  is  also  is  finished  with  the  communication  link.  LUCY   can  then  clean  up  the  control  blocks.  
15. When all communications are complete and all communication paths have been
severed, both virtual machines independently invoke the RETRIEVE BUFFER
function.
IUCV Communications Using Parameter List Data
To better understand how data specified in the parameter list is handled, theLUCY   functions  are  covered  in  a  typical  user  scenario:  
1. ThelUCV   DECLARE  BUFFER,  CONNECT,  and  ACCEPT  sequence  must  
be invoked to establish the user's external interrupt buffer and a path to the
target virtual machine (orCP).   If  you  expect  to  receive  data  in  the  parameter  
list, you must authorize such communication on the CONNECT or ACCEPT
by specifying PRMDAT A=YES.   The  external  interrupt  information  to  the  
target communicator includes a bit indicating if PRMDAT A=YES   was  chosen.  
2. Issue anLUCY   SEND   request.  When  the  data  is  to  be  passed  in  the  parameter  
list, the DAT A=PRMMSG option is used on theLUCY   macro,  and  the  
PRMMSG= option is used to move the data into the parameter list.Or   you  
can avoid using the macro options by initializing the parameter list yourself.
The sender of the message should be prepared to handle a return code indicat
ing that DATA=PRMMSG is not allowed if the target communicator has not
specified PRMDAT A=YES   at  connection  time.  A  message  block  (MSGBLOK)   is  created  to  represent  the  message  within  CP  and  contains  the  
message data until presented to the target. The message is queued on the target
send queue.
3. If the target is enabled forIUCV   pending-message  external  interrupts,  the  tar  
get virtual machine receives anLUCY   pending-message  external  interrupt  as  a  
result of theSEND   request  in  the  previous  step.  The  message  data  is  stored  in  
the external interrupt buffer. A flag is set in the IPFLAGS1 field of the buffer
to indicate that the data is in the parameter list. Since the message data has
been presented to the target, the target does not have to issue anIUCV   RECEIVE  for  this  message.  If  the  message  was  a  one-way  message,  the  MSGBLOK   is  destroyed  and  the  communication  is  complete.  There  is  no  
asynchronous return of message completion given to the source (sending) vir
tual machine on a one-way message.
4. If the target is disabled forLUCY   pending-message  external  interrupts  and  
issues theIUCV   DESCRIBE  or  RECEIVE  functions,  the  message  data  is  
stored in the parameter list. A flag is set in the IPFLAGS 1 field of the parame-
Inter-User Communications Vehicle 125
Y and issues a
tion queues an external interrupt for Y indicating that the communication link
has been broken. Control returns in X at the next instruction after the
SEVER; a return code indicates the path has been broken.
13. The external interrupt queued by step 12 is reflected to Y indicating that the
path has been broken by virtual machine X. Virtual machine Y can now do
any clean up needed in its storage.
14. After virtual machine Y has completed processing, the virtual machine issues a
15. When all communications are complete and all communication paths have been
severed, both virtual machines independently invoke the RETRIEVE BUFFER
function.
IUCV Communications Using Parameter List Data
To better understand how data specified in the parameter list is handled, the
1. The
be invoked to establish the user's external interrupt buffer and a path to the
target virtual machine (or
list, you must authorize such communication on the CONNECT or ACCEPT
by specifying PRMDAT A=
target communicator includes a bit indicating if PRMDAT A=
2. Issue an
list, the DAT A=PRMMSG option is used on the
PRMMSG= option is used to move the data into the parameter list.
can avoid using the macro options by initializing the parameter list yourself.
The sender of the message should be prepared to handle a return code indicat
ing that DATA=PRMMSG is not allowed if the target communicator has not
specified PRMDAT A=
message data until presented to the target. The message is queued on the target
send queue.
3. If the target is enabled for
get virtual machine receives an
result of the
the external interrupt buffer. A flag is set in the IPFLAGS1 field of the buffer
to indicate that the data is in the parameter list. Since the message data has
been presented to the target, the target does not have to issue an
asynchronous return of message completion given to the source (sending) vir
tual machine on a one-way message.
4. If the target is disabled for
issues the
stored in the parameter list. A flag is set in the IPFLAGS 1 field of the parame-
Inter-User Communications Vehicle 125
 
             
            
































































































































































































































































































































































































































































































































































































































