TS/MP Pathsend and Server Programming Manual (H06.05+, J06.03+)

For an example of issuing a waited call to SERVERCLASS_SEND_, see the Pathsend server program
example PATHSRV, Example 4 (page 182). In this COBOL85 program, paragraph
460-SEND-TO-SUBSIDIARY-SERVER performs a waited SERVERCLASS_SEND_ call.
Nowait I/O
These considerations apply to nowait Pathsend procedure calls:
You complete a nowait Pathsend procedure call with a call to AWAITIOX. You cannot use
the AWAITIO—without the X—procedure to complete a nowait server-class send operation.
The SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, and
SERVERCLASS_DIALOG_SEND_ procedures use a 32-bit extended message buffer address,
and AWAITIO cannot be used to complete extended I/O operations.
If a nowait Pathsend procedure call returns an error, the send operation was not initiated and
therefore does not need to be completed with AWAITIOX.
Similarly, you require FILE_AWAITIO64_ to complete a nowait Pathsend procedure call for
the 64-bit APIs. The SERVERCLASS_SEND64_, SERVERCLASS_DIALOG_BEGIN64_, and
SERVERCLASS_DIALOG_SEND64_ procedures uses 64-bit extended message buffer address,
and AWAITIOX cannot be used to complete extended I/O operations.
The actual-reply-len parameter has no meaning for nowait server-class send operations and
can be omitted. The count of the number of bytes in the serverclass reply is returned in the
count-transferred parameter of the AWAITIOX procedure or or FILE_AWAITIO64_ for 64-bit
extensions..
After calling SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or
SERVERCLASS_DIALOG_SEND_ with the nowait option, do not modify the I/O buffer before
the I/O operation is completed as indicated by AWAITIOX. Similarly, for 64-bit extensions
do not modify the I/O buffer before the I/O operation is completed as indicated by
FILE_AWAITIO64_.
Nowait server-class send operations must not use buffers that are currently in use for other
outstanding nowait I/O operations. The file system requires that these buffers not be modified.
SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, and SERVERCLASS_DIALOG_SEND_
return the server-class send operation number in the scsend-op-num parameter. See “Server-Class
Send Operation Number” (page 105) later in this section for more information about the
server-class send operation number.
For an example of issuing a nowait call to SERVERCLASS_SEND_, see the Pathsend program
example BREQ, Example 3 (page 130). In this TAL program, the procedure Initiate^IO initiates a
nowait SERVERCLASS_SEND_ call.
Calls Within a TMF Transaction
These considerations apply when calling Pathsend procedures during a TMF transaction:
If SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_
is called during a TMF transaction, the transaction identifier is propagated to the server process
in the same way as it is in all interprocess communication (for example, calls to the WRITEREAD
procedure). As an application developer, you do not have to be concerned about the role of
the LINKMON process or the ACS subsystem processes in the propagation of transaction
identifiers.
For context-sensitive server-class send operations, two types of TMF protection are available,
depending on the setting of bit 14 in the flags parameter on the call to
SERVERCLASS_DIALOG_BEGIN_. For details, refer to the discussion of context-sensitive
requesters in Section 3, “Writing Pathsend Requesters” (page 51).
If a send is made to a server class that is configured with the TMF parameter set to OFF while
there is a currently active transaction identifier, the send is completed with return error 233
104 Pathsend Procedure Call Reference