I CMS IUCV Support I HNDIUCV Macro
Standard Format
[ label] HNDIUCV , The Inter-User Communications Vehicle (lUCV) is a communications facility. It
enables a program running in a virtual machine to communicate with other virtual
machines, with a CP system service, and with itself. (See "Inter-User Communi­
cation Vehicle" in "Part 1: Control Program (CP)".) CMS support of IUCV makes it easier for mUltiple programs, operating within one virtual machine, to use IUCV functions.
You can invoke IUCV functions via the CMS macros, HNDIUCV and CMSIUCV.
These macros enable you to: Initialize and terminate a program's IUCV environment
Begin or terminate communications with another virtual machine or with CP
Specify specific exits for IUCV external interrupts. Use the HNDIUCV macro to identify an IUCV program to CMS. HNDIUCV ini­
tializes or terminates the virtual machines IUCV communications. No CMS IUCV function is permitted by a particular program unless the program has first issued the
HNDIUCV macro and identified itself to CMS.
The four formats of the HNDIUCV macro are:
standard,
MF=L
MF = (L,addr[,label])
MF=(E,addr).
The standard format of the HNDIUCV macro is:
SET,NAME=addr,EXIT=addr[,UWORD=addr] [,ERROR=addr] ! REP,NAME=addr[,ERROR=addr] ,UWORD=addr > ,EXIT=addr,UWORD=addr , CLR,NAME=addr[,ERROR=addr] , CMS IUCV Support 355
where:
addr is an assembler program label or an address stored in a general register.
If a register is used, it must be enclosed in parentheses. Also, the register
must contain a non-zero value. A zero value is treated as though the
parameter was not specified, and any defaults are used. If the parameter
is required by the macro function, a non-zero return code is generated.
label is an assembler program label. SET identifies the program to CMS. It must be issued before doing any CMS lUCY communications. Upon error free completion, register 0 contains
the maximum number of possible connections for the virtual machine.
CLR removes the program from the list of active CMS lUCY programs. This
function should be issued when the program no longer wishes to do any
more CMS lUCY communications. Any paths associated with this pro­
gram are SEVERed when this function is requested (the IPUSER field of
the IUCV SEVER parameter list is set to binary ones to indicate the SEVER was done by CMS). REP replaces the currently defined exit address and/or UWORD field for a
specified program. Only the parameters specified are replaced.
NAME=
EXIT=
356 VM/SP System Programmer's Guide
label is an assembler program label that is the address of an 8 char­
acter symbolic name.
(Rn) is a general register. Its value is the address of an 8 character
symbolic name.
This symbolic name is used as the CMS lUCY program's identity. When
this program issues the CMSIUCV macro to perform an lUCY function,
the NAME parameter specified on the CMSIUCV macro must be the
same as the one specified here. This parameter is required to execute the
HNDIUCV function.
label is an assembler program label that is the address of the exit
routine.
(Rn) is a general register. Its value is the address of the exit routine.
The exit routine receives control whenever an lUCY external interrupt of
the type "PENDING CONNECT" occurs for this program. In order for
this exit to be activated, the connecting virtual machine must specify the
same symbolic name in the first 8 bytes of the IPUSER field of its CONNECT parameter list as the NAME parameter here. This exit
address is the default address associated with any path owned by this
program. If an IU CV external interrupt occurs on a path where no spe­
cific exit has been established (a pending connect external interrupt has
previously occurred on this path and no CMSIUCV ACCEPT has been
issued yet, or the EXIT parameter was not specified on the CMSIUCV
Previous Page Next Page