XY_SUB_MASK
iorq->mode = XY_SUB_DONE | (~XY_SUB_MASK & oldmode);
#define XY_STATE(X) ((X) & XY_SUB_MASK) /* extract state from mode */
#define XY_NEWSTATE(OLD, NEW) (((OLD) & ~XY_SUB_MASK) |(NEW)) /* new state */
iorq->mode = XY_SUB_DONE | (~XY_SUB_MASK & oldmode);
#define XY_STATE(X) ((X) & XY_SUB_MASK) /* extract state from mode */
#define XY_NEWSTATE(OLD, NEW) (((OLD) & ~XY_SUB_MASK) |(NEW)) /* new state */