IOC_IN
args->cmd |= IOC_IN;
static uint32_t dirbits[4] = { IOC_VOID, IOC_IN, IOC_OUT, IOC_INOUT };
args->cmd = (args->cmd & ~IOC_DIRMASK) | IOC_IN;
case (EVIOCGRAB & ~IOC_DIRMASK) | IOC_IN:
case (EVIOCREVOKE & ~IOC_DIRMASK) | IOC_IN:
case (EVIOCRMFF & ~IOC_DIRMASK) | IOC_IN:
#define LINUX_IOC_OUT IOC_IN
args->cmd |= IOC_IN;
#define DRM_IOC_WRITE IOC_IN
#define HIDIOCSFEATURE(len) _IOC(IOC_IN, 'U', 35, len)
#define HIDIOCSINPUT(len) _IOC(IOC_IN, 'U', 38, len)
#define HIDIOCSOUTPUT(len) _IOC(IOC_IN, 'U', 40, len)
if (cmd & (IOC_IN | IOC_VOID))
if ((cmd & (IOC_VOID | IOC_IN)) != 0)
((com & (IOC_VOID | IOC_IN | IOC_OUT)) == 0) ||
((com & (IOC_IN | IOC_OUT)) && size == 0) ||
if (com & IOC_IN) {
case IOC_IN:
case IOC_IN:
#define IOC_INOUT (IOC_IN|IOC_OUT)/* copy parameters in and out */
#define IOC_DIRMASK (IOC_VOID|IOC_OUT|IOC_IN)/* mask for IN/OUT/VOID */
#define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t))
if ((cmd & IOC_IN) != 0) {
case IOC_IN:
cmd & IOC_IN ? "W" : "", IOCGROUP(cmd),
if (cmd & IOC_IN) {
if (cmd & IOC_IN) {
if (cmd & IOC_IN) {