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 };
50 
51 enum iio_modifier {
52 	IIO_NO_MOD,
53 	IIO_MOD_X,
54 	IIO_MOD_Y,
55 	IIO_MOD_Z,
56 	IIO_MOD_X_AND_Y,
57 	IIO_MOD_X_AND_Z,
58 	IIO_MOD_Y_AND_Z,
59 	IIO_MOD_X_AND_Y_AND_Z,
60 	IIO_MOD_X_OR_Y,
61 	IIO_MOD_X_OR_Z,
62 	IIO_MOD_Y_OR_Z,
63 	IIO_MOD_X_OR_Y_OR_Z,
64 	IIO_MOD_LIGHT_BOTH,
65 	IIO_MOD_LIGHT_IR,
66 	IIO_MOD_ROOT_SUM_SQUARED_X_Y,
67 	IIO_MOD_SUM_SQUARED_X_Y_Z,
68 	IIO_MOD_LIGHT_CLEAR,
69 	IIO_MOD_LIGHT_RED,
70 	IIO_MOD_LIGHT_GREEN,
71 	IIO_MOD_LIGHT_BLUE,
72 	IIO_MOD_QUATERNION,
73 	IIO_MOD_TEMP_AMBIENT,
74 	IIO_MOD_TEMP_OBJECT,
75 	IIO_MOD_NORTH_MAGN,
76 	IIO_MOD_NORTH_TRUE,
77 	IIO_MOD_NORTH_MAGN_TILT_COMP,
78 	IIO_MOD_NORTH_TRUE_TILT_COMP,
79 	IIO_MOD_RUNNING,
80 	IIO_MOD_JOGGING,
81 	IIO_MOD_WALKING,
82 	IIO_MOD_STILL,
83 	IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
84 	IIO_MOD_I,
85 	IIO_MOD_Q,
86 	IIO_MOD_CO2,
87 	IIO_MOD_VOC,
88 	IIO_MOD_LIGHT_UV,
89 	IIO_MOD_LIGHT_DUV,
90 };
91 
92 enum iio_event_type {
93 	IIO_EV_TYPE_THRESH,
94 	IIO_EV_TYPE_MAG,
95 	IIO_EV_TYPE_ROC,
96 	IIO_EV_TYPE_THRESH_ADAPTIVE,
97 	IIO_EV_TYPE_MAG_ADAPTIVE,
98 	IIO_EV_TYPE_CHANGE,
99 };
100 
101 enum iio_event_direction {
102 	IIO_EV_DIR_EITHER,
103 	IIO_EV_DIR_RISING,
104 	IIO_EV_DIR_FALLING,
105 	IIO_EV_DIR_NONE,
106 };
107 
108 #endif /* _UAPI_IIO_TYPES_H_ */
109 
110