Handling readcond()

The same type of operation that was done to handle the pread()/_IO_XTYPE_OFFSET case can be used for handling the client's readcond() call:

typedef struct {
    struct _io_read        read;
    struct _xtype_readcond cond;
} io_readcond_t


struct _xtype_readcond *cond
        cond = &((io_readcond_t *)msg)->cond

Then your manager has to properly interpret and deal with the arguments to readcond(). For more information, see the QNX Neutrino C Library Reference.