XD_SUB_MASK
iorq->mode = XD_SUB_DONE | (~XD_SUB_MASK & oldmode);
#define XD_STATE(X) ((X) & XD_SUB_MASK) /* extract state from mode */
#define XD_NEWSTATE(OLD, NEW) (((OLD) & ~XD_SUB_MASK) |(NEW)) /* new state */
iorq->mode = XD_SUB_DONE | (~XD_SUB_MASK & oldmode);
#define XD_STATE(X) ((X) & XD_SUB_MASK) /* extract state from mode */
#define XD_NEWSTATE(OLD, NEW) (((OLD) & ~XD_SUB_MASK) |(NEW)) /* new state */