L4Re – L4 Runtime Environment
virtio_input.h
1 /*
2  * Copyright (C) 2019 Kernkonzept GmbH.
3  * Author(s): Sarah Hoffmann <sarah.hoffmann@kernkonzept.com>
4  *
5  * This file is distributed under the terms of the GNU General Public
6  * License, version 2. Please see the COPYING-GPL-2 file for details.
7  *
8  * As a special exception, you may use this file as part of a free software
9  * library without restriction. Specifically, if other files instantiate
10  * templates or use macros or inline functions from this file, or you compile
11  * this file and link it with other files to produce an executable, this
12  * file does not by itself cause the resulting executable to be covered by
13  * the GNU General Public License. This exception does not however
14  * invalidate any other reasons why the executable file might be covered by
15  * the GNU General Public License.
16  */
17 #pragma once
18 
25 #include <l4/sys/types.h>
26 
31 {
32  L4VIRTIO_INPUT_CFG_UNSET = 0,
33  L4VIRTIO_INPUT_CFG_ID_NAME = 1,
34  L4VIRTIO_INPUT_CFG_ID_SERIAL = 2,
35  L4VIRTIO_INPUT_CFG_ID_DEVIDS = 3,
36  L4VIRTIO_INPUT_CFG_PROP_BITS = 0x10,
37  L4VIRTIO_INPUT_CFG_EV_BITS = 0x11,
38  L4VIRTIO_INPUT_CFG_ABS_INFO = 0x12
39 };
40 
45 {
46  l4_uint32_t min;
47  l4_uint32_t max;
48  l4_uint32_t fuzz;
49  l4_uint32_t flat;
50  l4_uint32_t res;
52 
57 {
58  l4_uint16_t bustype;
59  l4_uint16_t vendor;
60  l4_uint16_t product;
61  l4_uint16_t version;
63 
68 {
69  l4_uint8_t select;
70  l4_uint8_t subsel;
71  l4_uint8_t size;
72  l4_uint8_t reserved[5];
73  union
74  {
75  char string[128];
76  l4_uint8_t bitmap[128];
77  struct l4virtio_input_absinfo_t abs;
78  struct l4virtio_input_devids_t ids;
79  } u;
81 
85 typedef struct l4virtio_input_event_t
86 {
87  l4_uint16_t type;
88  l4_uint16_t code;
89  l4_uint16_t value;
unsigned char l4_uint8_t
Unsigned 8bit value.
Definition: l4int.h:36
unsigned int l4_uint32_t
Unsigned 32bit value.
Definition: l4int.h:40
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition: l4int.h:38
L4virtio_input_config_select
Device information selectors.
Definition: virtio_input.h:31
struct l4virtio_input_event_t l4virtio_input_event_t
Single event in event or status queue.
struct l4virtio_input_devids_t l4virtio_input_devids_t
Device ID information for the device.
struct l4virtio_input_config_t l4virtio_input_config_t
Device configuration for input devices.
struct l4virtio_input_absinfo_t l4virtio_absinfo_t
Information about the absolute axis in the underlying evdev implementation.
Common L4 ABI Data Types.
Information about the absolute axis in the underlying evdev implementation.
Definition: virtio_input.h:45
Device configuration for input devices.
Definition: virtio_input.h:68
Device ID information for the device.
Definition: virtio_input.h:57
Single event in event or status queue.
Definition: virtio_input.h:86