1
2
3
4
5
6
7
8
9
10 #ifndef _UAPI_IIO_EVENTS_H_
11 #define _UAPI_IIO_EVENTS_H_
12
13 #include <linux/ioctl.h>
14 #include <linux/types.h>
15
16
17
18
19
20
21
22 struct iio_event_data {
23 __u64 id;
24 __s64 timestamp;
25 };
26
27 #define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int)
28
29 #define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF)
30
31 #define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F)
32
33 #define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF)
34
35
36
37 #define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF))
38 #define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF))
39
40 #define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF)
41 #define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1)
42
43 #endif