NetIPC 3000/XL Programmer's Reference Manual (5958-8600)

Table Of Contents
Chapter 3 127
NetIPC Intrinsics
Asynchronous I/O
Steps for Programming with Asynchronous I/O
The following summarizes the steps to follow to have your program
perform asynchronous I/O:
Create the call or VC socket with IPCCREATE, IPCCONNECT, or
IPCRECVCN.
Enable nowait I/O with IPCCONTROL.
Make a IPCRECVCN, IPCRECV, or IPCSEND NetIPC call on the
socket. The call will be asynchronous.
Check the
result
code returned by the call to see if an error
occurred when the call was initiated.
Call IOWAIT to cause the calling process to wait until the NetIPC
call completes or IODONTWAIT to see if the request has completed.
Once the asynchronous NetIPC call completes do the following:
Check the condition code to see if an error occurred. If the
condition code=CCE, no error occurred. If the condition code <>
CCE, an error occurred.
If an error occurred call IPCCHECK to determine the error code
(returned in the
ipcerr
parameter).
—IfIOWAIT or IDONTWAIT was called with
filenum
=0 or no
filenum
specified, check the
fnum
value returned to determine
the socket for which I/O completed. (You can compare the
fnum
value with the
calldesc
value returned by IPCCREATE and the
vcdesc
value returned by IPCCONNECT and IPCRECVCN.)
If both a send and receive request were pending, check the
returned
cstation
value to determine if a send completed (bit 1
is on) or a receive completed (bit 1 is off).
NOTE
A program does not need Privileged Mode capability in order to make
nowait NetIPC I/O requests.