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 	IIO_DELTA_ANGL,
51 	IIO_DELTA_VELOCITY,
52 	IIO_COLORTEMP,
53 	IIO_CHROMATICITY,
54 };
55 
56 enum iio_modifier {
57 	IIO_NO_MOD,
58 	IIO_MOD_X,
59 	IIO_MOD_Y,
60 	IIO_MOD_Z,
61 	IIO_MOD_X_AND_Y,
62 	IIO_MOD_X_AND_Z,
63 	IIO_MOD_Y_AND_Z,
64 	IIO_MOD_X_AND_Y_AND_Z,
65 	IIO_MOD_X_OR_Y,
66 	IIO_MOD_X_OR_Z,
67 	IIO_MOD_Y_OR_Z,
68 	IIO_MOD_X_OR_Y_OR_Z,
69 	IIO_MOD_LIGHT_BOTH,
70 	IIO_MOD_LIGHT_IR,
71 	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
72 	IIO_MOD_SUM_SQUARED_X_Y_Z,
73 	IIO_MOD_LIGHT_CLEAR,
74 	IIO_MOD_LIGHT_RED,
75 	IIO_MOD_LIGHT_GREEN,
76 	IIO_MOD_LIGHT_BLUE,
77 	IIO_MOD_QUATERNION,
78 	IIO_MOD_TEMP_AMBIENT,
79 	IIO_MOD_TEMP_OBJECT,
80 	IIO_MOD_NORTH_MAGN,
81 	IIO_MOD_NORTH_TRUE,
82 	IIO_MOD_NORTH_MAGN_TILT_COMP,
83 	IIO_MOD_NORTH_TRUE_TILT_COMP,
84 	IIO_MOD_RUNNING,
85 	IIO_MOD_JOGGING,
86 	IIO_MOD_WALKING,
87 	IIO_MOD_STILL,
88 	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
89 	IIO_MOD_I,
90 	IIO_MOD_Q,
91 	IIO_MOD_CO2,
92 	IIO_MOD_VOC,
93 	IIO_MOD_LIGHT_UV,
94 	IIO_MOD_LIGHT_DUV,
95 	IIO_MOD_PM1,
96 	IIO_MOD_PM2P5,
97 	IIO_MOD_PM4,
98 	IIO_MOD_PM10,
99 	IIO_MOD_ETHANOL,
100 	IIO_MOD_H2,
101 	IIO_MOD_O2,
102 	IIO_MOD_LINEAR_X,
103 	IIO_MOD_LINEAR_Y,
104 	IIO_MOD_LINEAR_Z,
105 	IIO_MOD_PITCH,
106 	IIO_MOD_YAW,
107 	IIO_MOD_ROLL,
108 	IIO_MOD_LIGHT_UVA,
109 	IIO_MOD_LIGHT_UVB,
110 };
111 
112 enum iio_event_type {
113 	IIO_EV_TYPE_THRESH,
114 	IIO_EV_TYPE_MAG,
115 	IIO_EV_TYPE_ROC,
116 	IIO_EV_TYPE_THRESH_ADAPTIVE,
117 	IIO_EV_TYPE_MAG_ADAPTIVE,
118 	IIO_EV_TYPE_CHANGE,
119 	IIO_EV_TYPE_MAG_REFERENCED,
120 	IIO_EV_TYPE_GESTURE,
121 };
122 
123 enum iio_event_direction {
124 	IIO_EV_DIR_EITHER,
125 	IIO_EV_DIR_RISING,
126 	IIO_EV_DIR_FALLING,
127 	IIO_EV_DIR_NONE,
128 	IIO_EV_DIR_SINGLETAP,
129 	IIO_EV_DIR_DOUBLETAP,
130 };
131 
132 #endif /* _UAPI_IIO_TYPES_H_ */
133