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 	IIO_MOD_O2,
98 };
99 
100 enum iio_event_type {
101 	IIO_EV_TYPE_THRESH,
102 	IIO_EV_TYPE_MAG,
103 	IIO_EV_TYPE_ROC,
104 	IIO_EV_TYPE_THRESH_ADAPTIVE,
105 	IIO_EV_TYPE_MAG_ADAPTIVE,
106 	IIO_EV_TYPE_CHANGE,
107 };
108 
109 enum iio_event_direction {
110 	IIO_EV_DIR_EITHER,
111 	IIO_EV_DIR_RISING,
112 	IIO_EV_DIR_FALLING,
113 	IIO_EV_DIR_NONE,
114 };
115 
116 #endif /* _UAPI_IIO_TYPES_H_ */
117 
118