Tuxedo 6.5.3 tuxpostio

tuxpostio
Name
tuxpostio - notify NonStop TUXEDO of an asynchronous input/output operation completions
Synopsis
#include <atmi.h>
int tuxpostio (short filetype, short fileid, long error, long iotag, long count)
Description
tuxpostio() is used to notify the NonStop TUXEDO system that an interprocess communication operation previously
initiated by NonStop TUXEDO has completed. tuxpostio(), should be called after AWAITIOX() or
FILE_COMPLETE_() indicates that an input or output operation has completed on a Guardian file or an OSS file.
tuxpostio() returns a non-zero value if the completed operation is one that was initiated by the NonStop TUXEDO
system. It returns 0 if the completed operation was not initiated by NonStop TUXEDO. If the operation was initiated by
NonStop TUXEDO, the application should call tpgetrply() to obtain reply data and other information associated with a
completed tpacall() request. The application should call tpgetrply() with the TPGETANY flag, since tuxpostio() does
not indicate which tpacall() operation completed. The application should also supply the TPNOBLOCK flag in order to
prevent tpgetrply() from suspending the process.
The filetype and fileid parameters indicate what file the operation completed on. filetype should be specified as 0 if the
file is a Guardian file, or 1 if the file is an OSS file. fileid is the Guardian open file number for the file or the OSS open
file descriptor for the file. Currently, NonStop TUXEDO does not use OSS files, so tuxpostio() always returns 0 if
filetype specifies an OSS file.
The error parameter indicates how the operation completed. It is the Guardian file system error code associated with
the completion or the the OSS error number associated with the completion.
The iotag and count parameters are used only if the completed operation occurred on a Guardian file. iotag is the
nowait input/output operation tag supplied when the operation was initiated. The NonStop TUXEDO system generates
nowait input/output tags internally for all Guardian file operations that it initiates. count is the number of bytes actually
read or written by the operation.
If the tpacall()request was issued with the TPNOREPLY flag, or if the service that processes the tpacall request
forwards the request to another service using tpforward(), tuxpostio() indicates that a NonStop TUXEDO operation has
completed, but tpgetrply() may indicate that no reply is available. In the case of TPNOREPLY,this is because the
forwarded request is returned to the issuing process as a Pathsend reply, and is sent to its intended service as a new
Pathsend request internally by tpgetrply(). In both cases, after processing the completed Pathsend operation, tpgetrply()
calls AWAITIOX(), with the Pathsend open file number and a timeout of 0, to check for another Pathsend completion
and indicates that no reply is available if AWAITIOX() times out. In order to be notified of completions for Pathsend
operations that the application initiated outside of NonStop Tuxedo but that are detected within NonStop Tuxedo, the
application must register an i/o completion handling function using the tuxhandleio() NonStop Tuxedo ATMI function.
A NonStop TUXEDO application process that uses AWAITIOX() or FILE_COMPLETE_() can receive NonStop
TUXEDO unsolicited messages. If the application uses signal-based message notification, AWAITIOX() or
FILE_COMPLETE_() returns the EINTR error code whenever an unsolicited message is received and processed. The
tuxpostio
file:///C|/READMEs TUXEDO/Release 6.5 V3 white/NSTux65v3tuxpostio.htm (1 of 3) [7/6/2004 9:37:37 AM]

Summary of content (3 pages)