TS/MP 2.5 Pathsend and Server Programming Manual
Waited I/O
These considerations apply to waited Pathsend procedure calls:
• The tag parameter has no meaning and can be omitted.
• On a successful completion of a waited Pathsend procedure call, the actual-reply-len parameter
indicates the number of bytes in the reply.
For an example of issuing a waited call to SERVERCLASS_SEND_, see the Pathsend server program
example PATHSRV, Example 4 (page 188). 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.
• 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.
• 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.
• 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 must 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. For more
information about the server-class send operation number, see “Server-Class Send Operation
Number” (page 110) later in this chapter.
For an example of issuing a nowait call to SERVERCLASS_SEND_, see the Pathsend program
example BREQ, Example 3 (page 136). 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 ACS subsystem ROUT process 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, see the discussion of context-sensitive requestors
in chapter 3, “Writing Pathsend Requestors” (page 50).
• 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
(FEScError), Pathsend error 917 (FEScServerClassTmfViolation), and file-system error 0 (FEOK).
Usage Considerations for Pathsend Procedures 109










