new sensor_event_t structure for the new HAL that can handle bigger payloads

Change-Id: I8f21e457c308eea9cb1f73b49b1fed36627ec55e
diff --git a/include/hardware/sensors.h b/include/hardware/sensors.h
index 883cb47..a044e47 100644
--- a/include/hardware/sensors.h
+++ b/include/hardware/sensors.h
@@ -249,6 +249,53 @@
 } sensors_data_t;
 
 
+
+/**
+ * Union of the various types of sensor data
+ * that can be returned.
+ */
+typedef struct sensors_event_t {
+    /* must be sizeof(struct sensors_event_t) */
+    int32_t version;
+
+    /* sensor identifier */
+    int32_t sensor;
+
+    /* sensor type */
+    int32_t type;
+
+    /* reserved */
+    int32_t reserved0;
+
+    /* time is in nanosecond */
+    int64_t timestamp;
+
+    union {
+        float           data[16];
+
+        /* acceleration values are in meter per second per second (m/s^2) */
+        sensors_vec_t   acceleration;
+
+        /* magnetic vector values are in micro-Tesla (uT) */
+        sensors_vec_t   magnetic;
+
+        /* orientation values are in degrees */
+        sensors_vec_t   orientation;
+
+        /* temperature is in degrees centigrade (Celsius) */
+        float           temperature;
+
+        /* distance in centimeters */
+        float           distance;
+
+        /* light in SI lux units */
+        float           light;
+    };
+    uint32_t        reserved1[4];
+} sensors_event_t;
+
+
+
 struct sensor_t;
 
 /**
@@ -327,7 +374,7 @@
      *
      */
     int (*poll)(struct sensors_poll_device_t *dev,
-            sensors_data_t* data, int count);
+            sensors_event_t* data, int count);
 };