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
14enum 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
56enum 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};
109
110enum iio_event_type {
111 IIO_EV_TYPE_THRESH,
112 IIO_EV_TYPE_MAG,
113 IIO_EV_TYPE_ROC,
114 IIO_EV_TYPE_THRESH_ADAPTIVE,
115 IIO_EV_TYPE_MAG_ADAPTIVE,
116 IIO_EV_TYPE_CHANGE,
117 IIO_EV_TYPE_MAG_REFERENCED,
118 IIO_EV_TYPE_GESTURE,
119};
120
121enum iio_event_direction {
122 IIO_EV_DIR_EITHER,
123 IIO_EV_DIR_RISING,
124 IIO_EV_DIR_FALLING,
125 IIO_EV_DIR_NONE,
126 IIO_EV_DIR_SINGLETAP,
127 IIO_EV_DIR_DOUBLETAP,
128};
129
130#endif /* _UAPI_IIO_TYPES_H_ */
131

source code of linux/include/uapi/linux/iio/types.h