QsoIsOperationPending()--Check
if an I/O Operation is Pending
Syntax
#include <qsoasync.h>
int QsoIsOperationPending(int socketDescriptor, unsigned long long operationId)
Service Program Name: QSOSRV3
Default Public Authority: *USE
Threadsafe: Yes
The QsoIsOperationPending() function is used to check if one or more
asynchronous I/O operations is pending on the socket. Pending operations are
defined as incomplete operations that have not been posted to an I/O completion
port.
Parameters
int socketDescriptor (Input)
The socket descriptor from which to generate an operation identifier.
unsigned long long operationId (Input)
The operation identifier that was specified in field operationId in
the Qso_OverlappedIO_t structure when the operation was started.
Authorities
No authorization is required.
Return Values
QsoIsOperationPending() returns an integer. Possible values are:
-1 - The function did not complete because an error occurred. Inspect the errno
value to determine the cause of the failure.
0 - An operation matching the operation identifier was not pending.
>0 - Successful, at least one operation that matched the operation identifier
was pending. The return value is the number of matching operations currently
pending.
Errno Conditions
When QsoIsOperationPending() fails, errno can be set to one of the following:
[EBADF]
Invalid descriptor
[ENOTSOCK]
The specified descriptor is not a socket.
[EUNKNOWN]
Unknown system state.
Error Messages
Message ID
Error Message Text
CPFA081 E
Unable to set return value or error code.
CPE3418 E
Possible APAR condition or hardware failure.
CPF9872 E
Program or service program &1 in library &2
ended. Reason code &3.