#define EVIOCGVERSION _IOR('E', 0x01,int)
#define EVIOCGID _IOR('E', 0x02, structinput_id)
#define EVIOCGREP _IOR('E', 0x03,int[2])
#define EVIOCSREP _IOW('E', 0x03,int[2])
#define EVIOCGKEYCODE _IOR('E', 0x04,int[2])
#define EVIOCSKEYCODE _IOW('E', 0x04,int[2])
#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06,len)
#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07,len)
#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08,len)
#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18,len)
#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19,len)
#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a,len)
#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b,len)
#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + ev,len)
#define EVIOCGABS(abs) _IOR('E', 0x40 + abs, structinput_absinfo)
#define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, structinput_absinfo)
#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(structff_effect))
#define EVIOCRMFF _IOW('E', 0x81,int)
#define EVIOCGEFFECTS _IOR('E', 0x84,int)
#define EVIOCGRAB _IOW('E', 0x90,int)