QsoCreateIOCompletionPort()--Create I/O Completion Port
Syntax
#include <qsoasync.h> int QsoCreateIOCompletionPort()
Service Program Name: QSOSRV3
Default Public Authority: *USE
Threadsafe: Yes
The QsoCreateIOCompletionPort is used to create a common wait point for a completed overlapped I/O operation. The wait point is represented by the I/O completion port handle returned by the QsoCreateIOCompletionPort() function. This handle is specified on QsoStartRecv and QsoStartSend functions to initiate overlapped I/O operations.
Authorities
No authorization is required.
Return Values
QsoCreateIOCompletionPort() returns an integer. Possible values are:
- -1 - Unsuccessful, errno is set to a value defined below.
- n - Successful, where n is an I/O completion port handle that can be used in conjunction with overlapped I/O functions QsoStartRecv(), QsoStartSend(), and QsoPostIOCompletionPort().
errno Conditions
When QsoCreateIOCompletionPort() fails, errno can be set to one of the following:
[ENOBUFS] | The limit of 256 I/O completion ports has been
exceeded for this process. |
[EUNKNOWN] | Unknown system state. |
Error Messages
Message ID | Error Message Text |
---|---|
CPE3418 E | Possible APAR condition or hardware failure. |
CPFA081 E | Unable to set return value or error code. |
Usage Notes
- The I/O completion port handle is a process scoped resource; therefore, you
may not start an overlapped I/O function on a socket in one process and check
for its completion in another process.
- The number of I/O completion ports that can be active for a given process is 256.
Related Information
- QsoDestroyIOCompletionPort()--Create
I/O Completion Port
- QsoPostIOCompletionPort()--Post Request on
I/O Completion Port
- QsoStartRecv--Start Asynchronous Recv
Operation
- QsoStartSend--Start Asynchronous Send
Operation
- QsoWaitForIOCompletion()--Wait for I/O Completion Operation
API introduced: V5R1