input_absinfo
sizeof(struct input_absinfo));
evdev_set_absinfo(evdev, code, (struct input_absinfo *)data);
static struct input_absinfo *
return (kmalloc(sizeof(struct input_absinfo) * ABS_CNT, M_EVDEV,
evdev_free_absinfo(struct input_absinfo *absinfo)
struct input_absinfo absinfo;
absinfo = (struct input_absinfo) {
struct input_absinfo *absinfo)
sizeof(struct input_absinfo));
struct input_absinfo *ai;
struct input_absinfo * ev_absinfo; /* (s) */
void evdev_set_absinfo(struct evdev_dev *, uint16_t, struct input_absinfo *);
#define EVIOCGABS(abs) _IOR(EVDEV_IOC_MAGIC, 0x40 + (abs), struct input_absinfo) /* get abs value/limits */
#define EVIOCSABS(abs) _IOW(EVDEV_IOC_MAGIC, 0xc0 + (abs), struct input_absinfo) /* set abs value/limits */