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