Add wake lock utility functions for the GPS HAL.

Change-Id: Ia7e20dec1a658f5506004ed29632f6a720c77fab
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/include/hardware/gps.h b/include/hardware/gps.h
index 11223fb..750e6ef 100644
--- a/include/hardware/gps.h
+++ b/include/hardware/gps.h
@@ -263,12 +263,23 @@
 /** Callback for reporting NMEA sentences. */
 typedef void (* gps_nmea_callback)(GpsUtcTime timestamp, const char* nmea, int length);
 
+/** Callback utility for acquiring the GPS wakelock.
+    This can be used to prevent the CPU from suspending while handling GPS events. */
+typedef void (* gps_acquire_wakelock)();
+
+/** Callback utility for releasing the GPS wakelock. */
+typedef void (* gps_release_wakelock)();
+
 /** GPS callback structure. */
 typedef struct {
-        gps_location_callback location_cb;
-        gps_status_callback status_cb;
-        gps_sv_status_callback sv_status_cb;
-        gps_nmea_callback nmea_cb;
+    /** set to sizeof(GpsCallbacks) */
+    size_t      size;
+    gps_location_callback location_cb;
+    gps_status_callback status_cb;
+    gps_sv_status_callback sv_status_cb;
+    gps_nmea_callback nmea_cb;
+    gps_acquire_wakelock acquire_wakelock_cb;
+    gps_release_wakelock release_wakelock_cb;
 } GpsCallbacks;