Ubuntu Platform API
3.0.0
A library helping with tight integration into the Ubuntu platform
|
|
Go to the documentation of this file.
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);
551 const char* hostname,
577 uint32_t min_interval,
578 uint32_t preferred_accuracy,
579 uint32_t preferred_time);
591 #endif // UBUNTU_HARDWARE_GPS_H_
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.
uint16_t UHardwareGpsAidingData
uint32_t UHardwareGpsNiNotifyFlags
void(* UHardwareGpsSvStatusCallback)(UHardwareGpsSvStatus *sv_info, void *context)
@ U_HARDWARE_GPS_STATUS_NONE
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.
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.
UHardwareGpsStatusCallback status_cb
@ U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN
void(* UHardwareGpsLocationCallback)(UHardwareGpsLocation *location, void *context)
UBUNTU_DLL_PUBLIC bool u_hardware_gps_stop(UHardwareGps self)
void(* UHardwareGpsRequestUtcTime)(void *context)
@ U_HARDWARE_GPS_STATUS_ENGINE_OFF
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.
@ U_HARDWARE_GPS_ENC_UNKNOWN
UHardwareGpsNiEncodingType text_encoding
void(* UHardwareGpsNiNotifyCallback)(UHardwareGpsNiNotification *notification, void *context)
@ U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC
@ U_HARDWARE_GPS_STATUS_ENGINE_ON
UHardwareGpsAGpsRefLocationMac mac
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.
Describes a reference location, either a radio cell or a wifi.
@ U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN
void(* UHardwareGpsNmeaCallback)(int64_t timestamp, const char *nmea, int length, void *context)
UHardwareGpsLocationCallback location_cb
UHardwareGpsNiNotifyFlags notify_flags
@ U_HARDWARE_GPS_NI_TYPE_VOICE
UHardwareGpsAGpsRilRequestSetId request_setid_cb
@ U_HARDWARE_GPS_STATUS_SESSION_END
#define U_HARDWARE_GPS_AGPS_TYPE_SUPL
@ U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED
UHardwareGpsUserResponseType default_response
#define UBUNTU_DLL_PUBLIC
UBUNTU_DLL_PUBLIC UHardwareGps u_hardware_gps_new(UHardwareGpsParams *params)
int UHardwareGpsNiEncodingType
UHardwareGpsNmeaCallback nmea_cb
@ U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL
#define U_HARDWARE_GPS_AGPS_TYPE_C2K
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.
UHardwareGpsSetCapabilities set_capabilities_cb
void(* UHardwareGpsAGpsRilRequestRefLoc)(uint32_t flags, void *context)
@ U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE
#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN
void(* UHardwareGpsSetCapabilities)(uint32_t capabilities, void *context)
struct UHardwareGps_ * UHardwareGps
UHardwareGpsXtraDownloadRequest xtra_download_request_cb
UBUNTU_DLL_PUBLIC bool u_hardware_gps_start(UHardwareGps self)
@ U_HARDWARE_GPS_ENC_SUPL_UTF8
#define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN
@ U_HARDWARE_GPS_ENC_SUPL_UCS2
@ U_HARDWARE_GPS_AGPS_DATA_CONN_DONE
Describes a cell ID as understood by the GPS chipset.
@ U_HARDWARE_GPS_POSITION_RECURRENCE_SINGLE
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_xtra_data(UHardwareGps self, char *data, int length)
UHardwareGpsNiEncodingType requestor_id_encoding
uint16_t UHardwareGpsAGpsType
@ U_HARDWARE_GPS_NI_RESPONSE_DENY
@ U_HARDWARE_GPS_ENC_NONE
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_location(UHardwareGps self, UHardwareGpsLocation location)
Injects a new reference location into the GPS chipset.
void(* UHardwareGpsAGpsRilRequestSetId)(uint32_t flags, void *context)
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.
UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb
int UHardwareGpsUserResponseType
@ U_HARDWARE_GPS_ENC_SUPL_GSM_DEFAULT
@ U_HARDWARE_GPS_NI_RESPONSE_ACCEPT
@ U_HARDWARE_GPS_POSITION_MODE_MS_ASSISTED
@ U_HARDWARE_GPS_NI_RESPONSE_NORESP
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.
void(* UHardwareGpsAGpsStatusCallback)(UHardwareGpsAGpsStatus *status, void *context)
@ U_HARDWARE_GPS_AGPS_DATA_CONNECTED
Describes a wifi ID as understood by the GPS chipset.
#define U_HARDWARE_GPS_MAX_SVS
UHardwareGpsAGpsRefLocationCellID cellID
@ U_HARDWARE_GPS_POSITION_MODE_MS_BASED
UHardwareGpsSvStatusCallback sv_status_cb
void(* UHardwareGpsStatusCallback)(uint16_t status, void *context)
UHardwareGpsRequestUtcTime request_utc_time_cb
@ U_HARDWARE_GPS_POSITION_MODE_STANDALONE
uint32_t used_in_fix_mask
void(* UHardwareGpsXtraDownloadRequest)(void *context)
UHardwareGpsNiNotifyCallback gps_ni_notify_cb
UBUNTU_DLL_PUBLIC void u_hardware_gps_delete(UHardwareGps handle)
@ U_HARDWARE_GPS_STATUS_SESSION_BEGIN