asynchronous I/O timeouts

In Windows, Timeout and the Overlapped structure can be used to associate the timeouts with the asynchronous IO operation.
Whereas in QNX, we can use the aiocb structure and aio_* APIs to accomplish the asynchronous communication.
aiocb seems to be a good substitute for the Overlapped structure.

But, does QNX provides timeout structure for the read/write operations?
So, that for every asynchronous read, that is queued using aio_read(), I can associate a conditional timeout.

QNX also provides conditional timeouts through the readcond() API, can this facility of readcond() be used for asynchronous communication as well?

There is no timeout facilities for aio_* stuff, you have to roll up your own.

I stay away from async stuff altogether. It’s all in the architecture.