Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Description z/OS MVS Programming: Sysplex Services Reference SA38-0658-00 |
|
The IXCMSGOX macro is the interface to the XCF (cross-system coupling facility) message-out service. This interface is the successor to the IXCMSGO macro interface, contains all the functionality of the IXCMSGO message-out macro interface and is the suggested XCF message-out service interface to use. The IXCMSGOX macro allows a member of an XCF group to send a message to one or more members in its XCF group. IXCMSGOX , and its companion services, IXCMSGIX (message-in service) and IXCMSGC (message control service), comprise the XCF signalling services. The target XCF member can receive the message by issuing the IXCMSGIX macro from within a message user routine it defines when it joins the XCF group. The target member can also save or discard the message by issuing the IXCMSGC macro from within the message user routine. Between pairs of members, you can specify that XCF is to deliver messages to a target member in the same order in which they were sent. Messages can vary in length up to 134 217 278 (128M)
bytes. An IXCMSGOX request to send a "large message" must specify
MSGACCESS=ASYNC or MSGACCESS=SYNCSUSPEND. A “large message” is defined
to be one that is greater than 62 464 (61K) bytes. XCF handles large
messages somewhat differently from messages of less than 61K bytes,
and also imposes the following restrictions when sending large messages:
The following IXCMSGOX error notifications occur if either of the
above conditions is not met:
You pass the message to the IXCMSGOX service using either a single
buffer or multiple buffers. If you are using a single buffer, you
need only:
If you are sending a message that resides in multiple buffers, you have several options for specifying the location and size of the message buffers. For each message buffer, you must describe a message data element. Message data elements can either contain the message buffer or provide a pointer to it. Message data elements can optionally contain the length of the buffer and an ALET to qualify the buffer address (if the buffer is not in message data element). You can pass the message data elements either organized as a queue or a table. Message buffer lengths and message buffer ALETs can also be passed separately if you do not wish to include them in the message data elements. A message buffer can be in your primary address space, in an address space accessible through your dispatchable unit access list (DU-AL), or in a common area data space. z/OS MVS Programming: Sysplex Services Guide provides a complete description of the different options for passing messages in multiple buffers. The buffer storage in which the message resides is accessed by
XCF when IXCMSGOX is invoked. XCF can access this storage in one of
two ways, as specified by the MSGACCESS keyword.
Messages you send using IXCMSGOX are delivered asynchronously. A return code of zero from IXCMSGOX indicates that XCF has accepted the message; it does not indicate that the message has been delivered. If it is necessary for the sender to know the message has been received, then it is up to the sender and receiver to maintain a protocol to indicate that the message has been received. Alternatively, the sender can request that the target member is to respond to the message and that XCF is to manage the response or the collection of responses, if the message is sent to more than one target member. If you do not specify the #MSGPARTS parameter and, while looking for your message data, IXCMSGOX finds more than 65536 consecutive buffers of length zero, IXCMSGOX assumes an error has occurred. The message is not sent, and you receive a return code and reason code indicating the error. Be sure to read the IXCMSGOX guidance information in z/OS MVS Programming: Sysplex Services Guide. The
information presented here assumes you have done so. IXCMSGOX guidance
information includes:
|
Copyright IBM Corporation 1990, 2014
|