1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _LINUX_VIRTIO_INPUT_H 7 #define _LINUX_VIRTIO_INPUT_H 8 #include <linux/types.h> 9 enum virtio_input_config_select { 10 VIRTIO_INPUT_CFG_UNSET = 0x00, 11 VIRTIO_INPUT_CFG_ID_NAME = 0x01, 12 VIRTIO_INPUT_CFG_ID_SERIAL = 0x02, 13 VIRTIO_INPUT_CFG_ID_DEVIDS = 0x03, 14 VIRTIO_INPUT_CFG_PROP_BITS = 0x10, 15 VIRTIO_INPUT_CFG_EV_BITS = 0x11, 16 VIRTIO_INPUT_CFG_ABS_INFO = 0x12, 17 }; 18 struct virtio_input_absinfo { 19 __u32 min; 20 __u32 max; 21 __u32 fuzz; 22 __u32 flat; 23 __u32 res; 24 }; 25 struct virtio_input_devids { 26 __u16 bustype; 27 __u16 vendor; 28 __u16 product; 29 __u16 version; 30 }; 31 struct virtio_input_config { 32 __u8 select; 33 __u8 subsel; 34 __u8 size; 35 __u8 reserved[5]; 36 union { 37 char string[128]; 38 __u8 bitmap[128]; 39 struct virtio_input_absinfo abs; 40 struct virtio_input_devids ids; 41 } u; 42 }; 43 struct virtio_input_event { 44 __le16 type; 45 __le16 code; 46 __le32 value; 47 }; 48 #endif 49