L4Re Operating System Framework
Interface and Usage Documentation
•All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
event.h
Go to the documentation of this file.
1
5/*
6 * (c) 2009 Alexander Warg <warg@os.inf.tu-dresden.de>
7 * economic rights: Technische Universität Dresden (Germany)
8 *
9 * License: see LICENSE.spdx (in this directory or the directories above)
10 */
11#pragma once
12
13#include <l4/sys/compiler.h>
14#include <l4/sys/l4int.h>
15
16typedef struct L4_EXPORT_TYPE l4re_event_stream_id_t
17{
18 l4_uint16_t bustype;
19 l4_uint16_t vendor;
20 l4_uint16_t product;
21 l4_uint16_t version;
22} l4re_event_stream_id_t;
23
24typedef struct L4_EXPORT_TYPE l4re_event_absinfo_t
25{
26 l4_int32_t value;
27 l4_int32_t min;
28 l4_int32_t max;
29 l4_int32_t fuzz;
30 l4_int32_t flat;
31 l4_int32_t resolution;
32} l4re_event_absinfo_t;
33
34enum l4re_event_stream_max_values_t
35{
36 L4RE_EVENT_EV_MAX = 0x1f,
37 L4RE_EVENT_KEY_MAX = 0x1ff,
38 L4RE_EVENT_REL_MAX = 0xf,
39 L4RE_EVENT_ABS_MAX = 0x3f,
40 L4RE_EVENT_PROP_MAX = 0x1f,
41 L4RE_EVENT_SW_MAX = 0xf, // should be >= L4RE_SW_MAX
42};
43
44enum l4re_event_stream_props_t
45{
46 L4RE_EVENT_STREAM_CALIBRATE = 0x001,
47};
48
49
50#define __UNUM_B(x) ((x+1) + sizeof(unsigned long)*8 - 1) / (sizeof(unsigned long)*8)
51
52typedef struct L4_EXPORT_TYPE l4re_event_stream_info_t
53{
54 l4_umword_t stream_id;
55 char name[32];
56 char phys[32];
57 l4re_event_stream_id_t id;
58
59 unsigned long propbits[__UNUM_B(L4RE_EVENT_PROP_MAX)];
60
61 unsigned long evbits[__UNUM_B(L4RE_EVENT_EV_MAX)];
62 unsigned long keybits[__UNUM_B(L4RE_EVENT_KEY_MAX)];
63 unsigned long relbits[__UNUM_B(L4RE_EVENT_REL_MAX)];
64 unsigned long absbits[__UNUM_B(L4RE_EVENT_ABS_MAX)];
65 unsigned long swbits[__UNUM_B(L4RE_EVENT_SW_MAX)];
66
67} l4re_event_stream_info_t;
68
69typedef struct L4_EXPORT_TYPE l4re_event_stream_state_t
70{
71 unsigned long keybits[__UNUM_B(L4RE_EVENT_KEY_MAX)];
72 unsigned long swbits[__UNUM_B(L4RE_EVENT_SW_MAX)];
73} l4re_event_stream_state_t;
74
75#undef __UNUM_B
76
L4 compiler related defines.
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
signed int l4_int32_t
Signed 32bit value.
Definition l4int.h:28
unsigned short int l4_uint16_t
Unsigned 16bit value.
Definition l4int.h:27