IOC_VOID
#define IOC_DIRMASK (IOC_VOID|IOC_OUT|IOC_IN)
#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)
#define _IOWINT(g,n) _IOC(IOC_VOID, (g), (n), sizeof(int))
if (code & IOC_VOID)
else if (code & (IOC_VOID|IOC_INOUT))
#define _IO(x, y) (IOC_VOID|(x<<8)|y)