Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / include / uapi / linux / iio / types.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* industrial I/O data types needed both in and out of kernel
3  *
4  * Copyright (c) 2008 Jonathan Cameron
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by
8  * the Free Software Foundation.
9  */
10
11 #ifndef _UAPI_IIO_TYPES_H_
12 #define _UAPI_IIO_TYPES_H_
13
14 enum iio_chan_type {
15         IIO_VOLTAGE,
16         IIO_CURRENT,
17         IIO_POWER,
18         IIO_ACCEL,
19         IIO_ANGL_VEL,
20         IIO_MAGN,
21         IIO_LIGHT,
22         IIO_INTENSITY,
23         IIO_PROXIMITY,
24         IIO_TEMP,
25         IIO_INCLI,
26         IIO_ROT,
27         IIO_ANGL,
28         IIO_TIMESTAMP,
29         IIO_CAPACITANCE,
30         IIO_ALTVOLTAGE,
31         IIO_CCT,
32         IIO_PRESSURE,
33         IIO_HUMIDITYRELATIVE,
34         IIO_ACTIVITY,
35         IIO_STEPS,
36         IIO_ENERGY,
37         IIO_DISTANCE,
38         IIO_VELOCITY,
39         IIO_CONCENTRATION,
40         IIO_RESISTANCE,
41         IIO_PH,
42         IIO_UVINDEX,
43         IIO_ELECTRICALCONDUCTIVITY,
44         IIO_COUNT,
45         IIO_INDEX,
46         IIO_GRAVITY,
47         IIO_POSITIONRELATIVE,
48         IIO_PHASE,
49         IIO_MASSCONCENTRATION,
50 };
51
52 enum iio_modifier {
53         IIO_NO_MOD,
54         IIO_MOD_X,
55         IIO_MOD_Y,
56         IIO_MOD_Z,
57         IIO_MOD_X_AND_Y,
58         IIO_MOD_X_AND_Z,
59         IIO_MOD_Y_AND_Z,
60         IIO_MOD_X_AND_Y_AND_Z,
61         IIO_MOD_X_OR_Y,
62         IIO_MOD_X_OR_Z,
63         IIO_MOD_Y_OR_Z,
64         IIO_MOD_X_OR_Y_OR_Z,
65         IIO_MOD_LIGHT_BOTH,
66         IIO_MOD_LIGHT_IR,
67         IIO_MOD_ROOT_SUM_SQUARED_X_Y,
68         IIO_MOD_SUM_SQUARED_X_Y_Z,
69         IIO_MOD_LIGHT_CLEAR,
70         IIO_MOD_LIGHT_RED,
71         IIO_MOD_LIGHT_GREEN,
72         IIO_MOD_LIGHT_BLUE,
73         IIO_MOD_QUATERNION,
74         IIO_MOD_TEMP_AMBIENT,
75         IIO_MOD_TEMP_OBJECT,
76         IIO_MOD_NORTH_MAGN,
77         IIO_MOD_NORTH_TRUE,
78         IIO_MOD_NORTH_MAGN_TILT_COMP,
79         IIO_MOD_NORTH_TRUE_TILT_COMP,
80         IIO_MOD_RUNNING,
81         IIO_MOD_JOGGING,
82         IIO_MOD_WALKING,
83         IIO_MOD_STILL,
84         IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
85         IIO_MOD_I,
86         IIO_MOD_Q,
87         IIO_MOD_CO2,
88         IIO_MOD_VOC,
89         IIO_MOD_LIGHT_UV,
90         IIO_MOD_LIGHT_DUV,
91         IIO_MOD_PM1,
92         IIO_MOD_PM2P5,
93         IIO_MOD_PM4,
94         IIO_MOD_PM10,
95         IIO_MOD_ETHANOL,
96         IIO_MOD_H2,
97 };
98
99 enum iio_event_type {
100         IIO_EV_TYPE_THRESH,
101         IIO_EV_TYPE_MAG,
102         IIO_EV_TYPE_ROC,
103         IIO_EV_TYPE_THRESH_ADAPTIVE,
104         IIO_EV_TYPE_MAG_ADAPTIVE,
105         IIO_EV_TYPE_CHANGE,
106 };
107
108 enum iio_event_direction {
109         IIO_EV_DIR_EITHER,
110         IIO_EV_DIR_RISING,
111         IIO_EV_DIR_FALLING,
112         IIO_EV_DIR_NONE,
113 };
114
115 #endif /* _UAPI_IIO_TYPES_H_ */
116