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

(FEScError), Pathsend error 917 (FEScServerClassTmfViolation), and file-system error 0 (FEOK).
See the NonStop TS/MP System Management Manual for details about the TMF parameter
of the SET SERVER command.
Server-Class Send Operation Number
The server-class send operation number is returned in the scsend-op-num parameter on the first
successfully initiated nowait server-class send operation (through a call to SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND). The same value is returned
on every subsequent nowait send that is initiated successfully.
You can use the server-class send operation number in these calls:
In calls to AWAITIOX to wait for completion of any SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_ operation
In calls to CANCEL and CANCELREQ to cancel an outstanding SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_ operation
In calls to FILEINFO
A value of -1 is returned for nowait send operations that are not initiated successfully. A value of
-1 is always returned for waited send operations.
NOTE: Passing the server-class send operation number as a filenum parameter to Guardian
procedures other than AWAITIOX, CANCEL, CANCELREQ, and FILEINFO results in filesystem
error 2 (FEInvalOp).
Calling AWAITIOX
You can use the server-class send operation number as the file number in calls to the AWAITIOX
procedure to wait for completion of any outstanding SERVERCLASS_SEND_,
SERVERCLASS_DIALOG_BEGIN_, or SERVERCLASS_DIALOG_SEND_ operation. Alternatively,
you can specify -1 as the file number to AWAITIOX to wait for completion of any outstanding I/O
operation, including calls to SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or
SERVERCLASS_DIALOG_SEND_. When completion of one of these calls occurs, you can identify
the specific call by the tag returned by 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.)
For an example of one way to use AWAITIOX, see the Pathsend program example BREQ, Example
3 (page 130). In this TAL example, the procedure complete^io waits for completion of an I/O
operation on any file and identifies the I/O operation by the tag returned by AWAITIOX. You can
also see how this procedure calls AWAITIOX. If AWAITIOX returns with an error (condition code
CCL), it calls FILEINFO to retrieve the error code. If the error returned is 233 (FEScError),
SERVERCLASS_SEND_INFO_ is called to get the specific Pathsend error and file-system error.
Canceling a Server-Class Send Operation
You cancel an outstanding SERVERCLASS_SEND_, SERVERCLASS_DIALOG_BEGIN_, or
SERVERCLASS_DIALOG_SEND_ operation by using the Guardian CANCEL or CANCELREQ
procedure if you have used the nowait option in the Pathsend procedure call and have not yet
received notification of completion of the server-class send operation with the AWAITIOX procedure.
Note that if the AWAITIOIX call was completed with a Pathsend error, such as a server-class send
timeout error (described in this subsection), this is still a completion; in such cases, you should not
call CANCEL or CANCELREQ.
Usage Considerations for Pathsend Procedures 105