19 #ifndef UBUNTU_HARDWARE_GPS_H_ 20 #define UBUNTU_HARDWARE_GPS_H_ 37 #define U_HARDWARE_GPS_MAX_SVS 32 64 #define U_HARDWARE_GPS_CAPABILITY_SCHEDULING 0x0000001 66 #define U_HARDWARE_GPS_CAPABILITY_MSB 0x0000002 68 #define U_HARDWARE_GPS_CAPABILITY_MSA 0x0000004 70 #define U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT 0x0000008 72 #define U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 80 #define U_HARDWARE_GPS_NI_NEED_NOTIFY 0x0001 82 #define U_HARDWARE_GPS_NI_NEED_VERIFY 0x0002 84 #define U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE 0x0004 111 #define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN 256 112 #define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN 2048 187 #define U_HARDWARE_GPS_DELETE_EPHEMERIS 0x0001 188 #define U_HARDWARE_GPS_DELETE_ALMANAC 0x0002 189 #define U_HARDWARE_GPS_DELETE_POSITION 0x0004 190 #define U_HARDWARE_GPS_DELETE_TIME 0x0008 191 #define U_HARDWARE_GPS_DELETE_IONO 0x0010 192 #define U_HARDWARE_GPS_DELETE_UTC 0x0020 193 #define U_HARDWARE_GPS_DELETE_HEALTH 0x0040 194 #define U_HARDWARE_GPS_DELETE_SVDIR 0x0080 195 #define U_HARDWARE_GPS_DELETE_SVSTEER 0x0100 196 #define U_HARDWARE_GPS_DELETE_SADATA 0x0200 197 #define U_HARDWARE_GPS_DELETE_RTI 0x0400 198 #define U_HARDWARE_GPS_DELETE_CELLDB_INFO 0x8000 199 #define U_HARDWARE_GPS_DELETE_ALL 0xFFFF 203 #define U_HARDWARE_GPS_AGPS_TYPE_SUPL 1 204 #define U_HARDWARE_GPS_AGPS_TYPE_C2K 2 208 #define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_GSM_CELLID 1 210 #define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_UMTS_CELLID 2 212 #define U_HARDWARE_GPS_AGPS_REG_LOCATION_TYPE_MAC 3 215 #define U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG 0x0001 217 #define U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE 0x0002 219 #define U_HARDWARE_GPS_LOCATION_HAS_SPEED 0x0004 221 #define U_HARDWARE_GPS_LOCATION_HAS_BEARING 0x0008 223 #define U_HARDWARE_GPS_LOCATION_HAS_ACCURACY 0x0010 486 int64_t time_reference,
512 size_t size_of_struct);
550 UHardwareGpsAGpsType type,
551 const char* hostname,
562 UHardwareGpsAidingData flags);
577 uint32_t min_interval,
578 uint32_t preferred_accuracy,
579 uint32_t preferred_time);
591 #endif // UBUNTU_HARDWARE_GPS_H_
void(* UHardwareGpsStatusCallback)(uint16_t status, void *context)
void(* UHardwareGpsAGpsRilRequestRefLoc)(uint32_t flags, void *context)
UHardwareGpsUserResponseType default_response
void(* UHardwareGpsSetCapabilities)(uint32_t capabilities, void *context)
#define U_HARDWARE_GPS_MAX_SVS
void(* UHardwareGpsXtraDownloadRequest)(void *context)
UBUNTU_DLL_PUBLIC void u_hardware_gps_agps_set_server_for_type(UHardwareGps self, UHardwareGpsAGpsType type, const char *hostname, uint16_t port)
Sets the hostname and port for the AGPS server.
UBUNTU_DLL_PUBLIC bool u_hardware_gps_stop(UHardwareGps self)
UHardwareGpsSvStatusCallback sv_status_cb
void(* UHardwareGpsLocationCallback)(UHardwareGpsLocation *location, void *context)
UHardwareGpsRequestUtcTime request_utc_time_cb
void(* UHardwareGpsAGpsStatusCallback)(UHardwareGpsAGpsStatus *status, void *context)
UBUNTU_DLL_PUBLIC bool u_hardware_gps_set_position_mode(UHardwareGps self, uint32_t mode, uint32_t recurrence, uint32_t min_interval, uint32_t preferred_accuracy, uint32_t preferred_time)
Sets the positioning mode of the chipset.
uint16_t UHardwareGpsAGpsType
#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN
Describes a wifi ID as understood by the GPS chipset.
UHardwareGpsNiNotifyCallback gps_ni_notify_cb
UHardwareGpsNmeaCallback nmea_cb
#define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN
Describes a reference location, either a radio cell or a wifi.
UHardwareGpsSetCapabilities set_capabilities_cb
UBUNTU_DLL_PUBLIC UHardwareGps u_hardware_gps_new(UHardwareGpsParams *params)
void(* UHardwareGpsNiNotifyCallback)(UHardwareGpsNiNotification *notification, void *context)
uint32_t UHardwareGpsNiNotifyFlags
int UHardwareGpsNiEncodingType
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_xtra_data(UHardwareGps self, char *data, int length)
void(* UHardwareGpsAGpsRilRequestSetId)(uint32_t flags, void *context)
UBUNTU_DLL_PUBLIC void u_hardware_gps_agps_notify_connection_not_available(UHardwareGps self)
Notifies the chipset that an AGPS data connection is not available.
void(* UHardwareGpsNmeaCallback)(int64_t timestamp, const char *nmea, int length, void *context)
UHardwareGpsAGpsRefLocationCellID cellID
UHardwareGpsNiEncodingType requestor_id_encoding
UBUNTU_DLL_PUBLIC void u_hardware_gps_delete_aiding_data(UHardwareGps self, UHardwareGpsAidingData flags)
Requests the chipset to delete the aiding data specified in flags.
UBUNTU_DLL_PUBLIC bool u_hardware_gps_start(UHardwareGps self)
UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb
int UHardwareGpsUserResponseType
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_time(UHardwareGps self, int64_t time, int64_t time_reference, int uncertainty)
Injects a new reference time into the GPS chipset.
UHardwareGpsNiEncodingType text_encoding
uint16_t UHardwareGpsAidingData
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_location(UHardwareGps self, UHardwareGpsLocation location)
Injects a new reference location into the GPS chipset.
UBUNTU_DLL_PUBLIC void u_hardware_gps_agps_notify_connection_is_closed(UHardwareGps self)
Notifies the chipset that an AGPS data connection has been closed.
#define U_HARDWARE_GPS_AGPS_TYPE_SUPL
void(* UHardwareGpsSvStatusCallback)(UHardwareGpsSvStatus *sv_info, void *context)
void(* UHardwareGpsRequestUtcTime)(void *context)
UHardwareGpsNiNotifyFlags notify_flags
UHardwareGpsLocationCallback location_cb
uint32_t used_in_fix_mask
UHardwareGpsAGpsStatusCallback agps_status_cb
UBUNTU_DLL_PUBLIC void u_hardware_gps_agps_notify_connection_is_open(UHardwareGps self, const char *apn)
Notifies the chipset that a data connection is availble.
#define UBUNTU_DLL_PUBLIC
UHardwareGpsStatusCallback status_cb
UHardwareGpsXtraDownloadRequest xtra_download_request_cb
UHardwareGpsAGpsRefLocationMac mac
Describes a cell ID as understood by the GPS chipset.
UBUNTU_DLL_PUBLIC void u_hardware_gps_agps_set_reference_location(UHardwareGps self, UHardwareGpsAGpsRefLocation *location, size_t size_of_struct)
Informs the GPS chipset about wifi ap's or radio cells to be used in AGPS calls.
UBUNTU_DLL_PUBLIC void u_hardware_gps_delete(UHardwareGps handle)
struct UHardwareGps_ * UHardwareGps
#define U_HARDWARE_GPS_AGPS_TYPE_C2K
UHardwareGpsAGpsRilRequestSetId request_setid_cb