diff options
Diffstat (limited to 'include/uapi/linux/iio/events.h')
-rw-r--r-- | include/uapi/linux/iio/events.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/uapi/linux/iio/events.h b/include/uapi/linux/iio/events.h new file mode 100644 index 000000000000..00bbdaed2f97 --- /dev/null +++ b/include/uapi/linux/iio/events.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* The industrial I/O - event passing to userspace | ||
2 | * | ||
3 | * Copyright (c) 2008-2011 Jonathan Cameron | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | */ | ||
9 | #ifndef _UAPI_IIO_EVENTS_H_ | ||
10 | #define _UAPI_IIO_EVENTS_H_ | ||
11 | |||
12 | #include <linux/ioctl.h> | ||
13 | #include <linux/types.h> | ||
14 | |||
15 | /** | ||
16 | * struct iio_event_data - The actual event being pushed to userspace | ||
17 | * @id: event identifier | ||
18 | * @timestamp: best estimate of time of event occurrence (often from | ||
19 | * the interrupt handler) | ||
20 | */ | ||
21 | struct iio_event_data { | ||
22 | __u64 id; | ||
23 | __s64 timestamp; | ||
24 | }; | ||
25 | |||
26 | #define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int) | ||
27 | |||
28 | #define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF) | ||
29 | |||
30 | #define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F) | ||
31 | |||
32 | #define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF) | ||
33 | |||
34 | /* Event code number extraction depends on which type of event we have. | ||
35 | * Perhaps review this function in the future*/ | ||
36 | #define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF)) | ||
37 | #define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF)) | ||
38 | |||
39 | #define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF) | ||
40 | #define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1) | ||
41 | |||
42 | #endif /* _UAPI_IIO_EVENTS_H_ */ | ||