IOCPARM_MASK
#define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)
#define IOCBASECMD(x) ((x) & ~(IOCPARM_MASK << 16))
((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
(code >> 16) & IOCPARM_MASK);
int len = IOCPARM_MASK & (iocp->ioc_cmd >> 16);
int len = IOCPARM_MASK & (copyresp->cp_cmd >> 16);
(IOC_OUT|(((sizeof (t))&IOCPARM_MASK)<<16)|(x<<8)|y)))
#define _IORN(x, y, t) ((int)((uint32_t)(IOC_OUT|(((t)&IOCPARM_MASK)<<16)| \
((int)((uint32_t)(IOC_IN|(((sizeof (t))&IOCPARM_MASK)<<16)| \
#define _IOWN(x, y, t) ((int32_t)(uint32_t)(IOC_IN|(((t)&IOCPARM_MASK)<<16)| \
((int)((uint32_t)(IOC_INOUT|(((sizeof (t))&IOCPARM_MASK)<<16)| \
((int)((uint32_t)(IOC_INOUT|(((t)&IOCPARM_MASK)<<16)| \