Communicating through IUCV

GCS supports communication within a virtual machine, or between any two virtual machines, at a routine-to-routine level. Task-users (routines running within a task) communicate through IUCV with:
  • Other task-users in the same machine
  • Task-users in other virtual machines on the same system
  • CP.
GCS also supports communication between virtual machines within a group of VM systems, or cluster. Each of these VM systems must have the Transparent Services Access Facility (TSAF) virtual machine component installed and running. For more information on installing TSAF, see z/VM: Installation Guide. For more information on running TSAF, see z/VM: Connectivity. Task-users (routines running within a task) communicate through APPC/VM with resource task-users in the:
  • Same machine
  • Other virtual machines in the same or different systems.

The target of an APPC/VM connection must be established as a resource. For more information, see z/VM: CP Programming Services

Task-users rely on two macros for IUCV and APPC/VM communications:
IUCVINI
Initializes or terminates a task-user's IUCV environment
IUCVCOM
Sets up, carries out, and terminates communications between two IUCV users.

To allow IUCV and APPC/VM communication at the task-user level, GCS provides:

  1. A nonprivileged IUCV interface for both authorized and unauthorized task-users. This nonprivileged interface provides the following support:
    Functions provided:
    Functions not provided:
    ACCEPT
    DCLBFR (Declare Buffer)
    CONNECT
    RTRVBFR (Retrieve Buffer)
    PURGE (IUCV only)
    DESCRIBE (Describe)
    QUERY
    SETMASK (Set Mask)
    QUIESCE (IUCV only)
    SETCMASK (Set Control Mask)
    RECEIVE
    TESTCMPL (Test Completion)
    REJECT (IUCV only)
    TESTMSG (Test Message)
    REPLY (IUCV only)
    RESUME (IUCV only)
    SEND
    SEVER
    Note: The SEND function issues all of the APPC/VM “SEND” functions:
    • SENDCNF
    • SENDCNFD
    • SENDDATA
    • SENDERR
    • SENDREQ.
  2. A privileged interface only for authorized task-users that specify PRIV=YES with the IUCVINI SET function. With the privileged interface, a task-user:
    • Cannot issue IUCVINI REP to change its general exit
    • Cannot issue IUCVCOM REP to change a path-specific exit
    • Must use the IUCVCOM functions CONNECT, ACCEPT, and SEVER to establish or terminate IUCV and APPC/VM paths
    • Can issue the following functions directly (without going through the IUCVCOM macro):
      IUCV PURGE
      IUCV REJECT
      IUCV QUERY
      IUCV REPLY
      IUCV QUIESCE
      IUCV RESUME
      IUCV RECEIVE
      IUCV SEND
      APPCVM QUERY
      APPCVM RECEIVE
      APPCVM SENDCNF
      APPCVM SENDCNFD
      APPCVM SENDDATA
      APPCVM SENDERR
      APPCVM SENDREQ