+
+ int is_virtual; /* Composite sensor, exposed from data acquired through other sensors */
+
+ uint32_t ref_count; /* Dependency count - for a real sensor how many active virtual sensors are depending on it */
+
+ uint32_t directly_enabled; /* Flag showing if a sensor was enabled directly by Android */
+
+ /*
+ * Current sample for a virtual sensor - when a report is ready we'll keep the data here until it's finally processed. Can be modified for
+ * more than one at a later time.
+ */
+ sensors_event_t sample;
+
+ /*
+ * If the QUIRK_FIELD_ORDERING bit is set in quirks, the contents of this array are used in the finalization stage to swap sample fields
+ * before transmitting them to Android ; they form a mapping between the indices of the input and output arrays: ex: 0123 is identity for
+ * a sample containing 4 fields.
+ */
+ unsigned char order[MAX_CHANNELS];
+
+ /*
+ * Event counter - will be used to check if we have a significant sample for noisy sensors. We want to make sure we do not send any wrong
+ * events before filtering kicks in. We can also use it for statistics.
+ */
+ uint64_t event_count;
+
+ /* Some polled sensors need to be first enabled so that they start
+ * computing a set of values in hardware (e.g step counter). Enabling
+ * is done through a sysfs attribute in_<tag>_en
+ */
+ int needs_enable;
+
+}
+sensor_info_t;
+