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