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 #ifdef CONFIG_NO_GKI 51 IIO_SIGN_MOTION, 52 IIO_STEP_DETECTOR, 53 IIO_STEP_COUNTER, 54 IIO_TILT, 55 IIO_TAP, 56 IIO_TAP_TAP, 57 IIO_WRIST_TILT_GESTURE, 58 IIO_GESTURE, 59 #endif 60 }; 61 62 enum iio_modifier { 63 IIO_NO_MOD, 64 IIO_MOD_X, 65 IIO_MOD_Y, 66 IIO_MOD_Z, 67 IIO_MOD_X_AND_Y, 68 IIO_MOD_X_AND_Z, 69 IIO_MOD_Y_AND_Z, 70 IIO_MOD_X_AND_Y_AND_Z, 71 IIO_MOD_X_OR_Y, 72 IIO_MOD_X_OR_Z, 73 IIO_MOD_Y_OR_Z, 74 IIO_MOD_X_OR_Y_OR_Z, 75 IIO_MOD_LIGHT_BOTH, 76 IIO_MOD_LIGHT_IR, 77 IIO_MOD_ROOT_SUM_SQUARED_X_Y, 78 IIO_MOD_SUM_SQUARED_X_Y_Z, 79 IIO_MOD_LIGHT_CLEAR, 80 IIO_MOD_LIGHT_RED, 81 IIO_MOD_LIGHT_GREEN, 82 IIO_MOD_LIGHT_BLUE, 83 IIO_MOD_QUATERNION, 84 IIO_MOD_TEMP_AMBIENT, 85 IIO_MOD_TEMP_OBJECT, 86 IIO_MOD_NORTH_MAGN, 87 IIO_MOD_NORTH_TRUE, 88 IIO_MOD_NORTH_MAGN_TILT_COMP, 89 IIO_MOD_NORTH_TRUE_TILT_COMP, 90 IIO_MOD_RUNNING, 91 IIO_MOD_JOGGING, 92 IIO_MOD_WALKING, 93 IIO_MOD_STILL, 94 IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z, 95 IIO_MOD_I, 96 IIO_MOD_Q, 97 IIO_MOD_CO2, 98 IIO_MOD_VOC, 99 IIO_MOD_LIGHT_UV, 100 IIO_MOD_LIGHT_DUV, 101 IIO_MOD_PM1, 102 IIO_MOD_PM2P5, 103 IIO_MOD_PM4, 104 IIO_MOD_PM10, 105 IIO_MOD_ETHANOL, 106 IIO_MOD_H2, 107 IIO_MOD_O2, 108 }; 109 110 enum 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 #ifdef CONFIG_NO_GKI 118 IIO_EV_TYPE_FIFO_FLUSH, 119 #endif 120 }; 121 122 enum iio_event_direction { 123 IIO_EV_DIR_EITHER, 124 IIO_EV_DIR_RISING, 125 IIO_EV_DIR_FALLING, 126 #ifdef CONFIG_NO_GKI 127 IIO_EV_DIR_FIFO_EMPTY, 128 IIO_EV_DIR_FIFO_DATA, 129 #endif 130 IIO_EV_DIR_NONE, 131 }; 132 133 #endif /* _UAPI_IIO_TYPES_H_ */ 134 135