#include <ubuntu/visibility.h>
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
|
typedef uint32_t | UHardwareGpsNiNotifyFlags |
|
typedef int | UHardwareGpsUserResponseType |
|
typedef int | UHardwareGpsNiEncodingType |
|
typedef uint16_t | UHardwareGpsAidingData |
|
typedef uint16_t | UHardwareGpsAGpsType |
|
typedef struct UHardwareGps_ * | UHardwareGps |
|
typedef void(* | UHardwareGpsLocationCallback) (UHardwareGpsLocation *location, void *context) |
|
typedef void(* | UHardwareGpsStatusCallback) (uint16_t status, void *context) |
|
typedef void(* | UHardwareGpsSvStatusCallback) (UHardwareGpsSvStatus *sv_info, void *context) |
|
typedef void(* | UHardwareGpsNmeaCallback) (int64_t timestamp, const char *nmea, int length, void *context) |
|
typedef void(* | UHardwareGpsSetCapabilities) (uint32_t capabilities, void *context) |
|
typedef void(* | UHardwareGpsRequestUtcTime) (void *context) |
|
typedef void(* | UHardwareGpsXtraDownloadRequest) (void *context) |
|
typedef void(* | UHardwareGpsAGpsStatusCallback) (UHardwareGpsAGpsStatus *status, void *context) |
|
typedef void(* | UHardwareGpsNiNotifyCallback) (UHardwareGpsNiNotification *notification, void *context) |
|
typedef void(* | UHardwareGpsAGpsRilRequestSetId) (uint32_t flags, void *context) |
|
typedef void(* | UHardwareGpsAGpsRilRequestRefLoc) (uint32_t flags, void *context) |
|
|
enum | {
U_HARDWARE_GPS_STATUS_NONE = 0,
U_HARDWARE_GPS_STATUS_SESSION_BEGIN = 1,
U_HARDWARE_GPS_STATUS_SESSION_END = 2,
U_HARDWARE_GPS_STATUS_ENGINE_ON = 3,
U_HARDWARE_GPS_STATUS_ENGINE_OFF = 4
} |
|
enum | {
U_HARDWARE_GPS_NI_RESPONSE_ACCEPT = 1,
U_HARDWARE_GPS_NI_RESPONSE_DENY = 2,
U_HARDWARE_GPS_NI_RESPONSE_NORESP = 3
} |
|
enum | {
U_HARDWARE_GPS_NI_TYPE_VOICE = 1,
U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL = 2,
U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE = 3
} |
|
enum | {
U_HARDWARE_GPS_ENC_NONE = 0,
U_HARDWARE_GPS_ENC_SUPL_GSM_DEFAULT = 1,
U_HARDWARE_GPS_ENC_SUPL_UTF8 = 2,
U_HARDWARE_GPS_ENC_SUPL_UCS2 = 3,
U_HARDWARE_GPS_ENC_UNKNOWN = -1
} |
|
enum | {
U_HARDWARE_GPS_AGPS_TYPE_SUPL = 1,
U_HARDWARE_GPS_AGPS_TYPE_C2K = 2
} |
|
enum | {
U_HARDWARE_GPS_POSITION_MODE_STANDALONE = 0,
U_HARDWARE_GPS_POSITION_MODE_MS_BASED = 1,
U_HARDWARE_GPS_POSITION_MODE_MS_ASSISTED = 2
} |
|
enum | {
U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC = 0,
U_HARDWARE_GPS_POSITION_RECURRENCE_SINGLE = 1
} |
|
enum | {
U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN = 1,
U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN = 2,
U_HARDWARE_GPS_AGPS_DATA_CONNECTED = 3,
U_HARDWARE_GPS_AGPS_DATA_CONN_DONE = 4,
U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED = 5
} |
|
|
UBUNTU_DLL_PUBLIC UHardwareGps | u_hardware_gps_new (UHardwareGpsParams *params) |
|
UBUNTU_DLL_PUBLIC void | u_hardware_gps_delete (UHardwareGps handle) |
|
UBUNTU_DLL_PUBLIC bool | u_hardware_gps_start (UHardwareGps self) |
|
UBUNTU_DLL_PUBLIC bool | u_hardware_gps_stop (UHardwareGps self) |
|
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. More...
|
|
UBUNTU_DLL_PUBLIC void | u_hardware_gps_inject_location (UHardwareGps self, UHardwareGpsLocation location) |
| Injects a new reference location into the GPS chipset. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
UBUNTU_DLL_PUBLIC void | u_hardware_gps_inject_xtra_data (UHardwareGps self, char *data, int length) |
|
#define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_GSM_CELLID 1 |
Known types for AGps reference locations. A GSM cell ID.
Definition at line 208 of file gps.h.
#define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_UMTS_CELLID 2 |
A UMTS cell ID.
Definition at line 210 of file gps.h.
#define U_HARDWARE_GPS_AGPS_REG_LOCATION_TYPE_MAC 3 |
The BSSID of a visible access point.
Definition at line 212 of file gps.h.
#define U_HARDWARE_GPS_AGPS_TYPE_C2K 2 |
#define U_HARDWARE_GPS_AGPS_TYPE_SUPL 1 |
#define U_HARDWARE_GPS_CAPABILITY_MSA 0x0000004 |
GPS supports MS-Assisted AGPS mode
Definition at line 68 of file gps.h.
#define U_HARDWARE_GPS_CAPABILITY_MSB 0x0000002 |
GPS supports MS-Based AGPS mode
Definition at line 66 of file gps.h.
#define U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 |
GPS supports on demand time injection
Definition at line 72 of file gps.h.
#define U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT 0x0000008 |
GPS supports single-shot fixes
Definition at line 70 of file gps.h.
#define U_HARDWARE_GPS_DELETE_ALL 0xFFFF |
#define U_HARDWARE_GPS_DELETE_ALMANAC 0x0002 |
#define U_HARDWARE_GPS_DELETE_CELLDB_INFO 0x8000 |
#define U_HARDWARE_GPS_DELETE_EPHEMERIS 0x0001 |
#define U_HARDWARE_GPS_DELETE_HEALTH 0x0040 |
#define U_HARDWARE_GPS_DELETE_IONO 0x0010 |
#define U_HARDWARE_GPS_DELETE_POSITION 0x0004 |
#define U_HARDWARE_GPS_DELETE_RTI 0x0400 |
#define U_HARDWARE_GPS_DELETE_SADATA 0x0200 |
#define U_HARDWARE_GPS_DELETE_SVDIR 0x0080 |
#define U_HARDWARE_GPS_DELETE_SVSTEER 0x0100 |
#define U_HARDWARE_GPS_DELETE_TIME 0x0008 |
#define U_HARDWARE_GPS_DELETE_UTC 0x0020 |
#define U_HARDWARE_GPS_LOCATION_HAS_ACCURACY 0x0010 |
#define U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE 0x0002 |
#define U_HARDWARE_GPS_LOCATION_HAS_BEARING 0x0008 |
#define U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG 0x0001 |
#define U_HARDWARE_GPS_LOCATION_HAS_SPEED 0x0004 |
#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN 2048 |
#define U_HARDWARE_GPS_NI_NEED_NOTIFY 0x0001 |
NI requires notification
Definition at line 80 of file gps.h.
#define U_HARDWARE_GPS_NI_NEED_VERIFY 0x0002 |
NI requires verification
Definition at line 82 of file gps.h.
#define U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE 0x0004 |
NI requires privacy override, no notification/minimal trace
Definition at line 84 of file gps.h.
typedef void(* UHardwareGpsAGpsRilRequestRefLoc) (uint32_t flags, void *context) |
Callback invoked by the driver to request a reference location (typically cell ID).
Definition at line 438 of file gps.h.
typedef void(* UHardwareGpsAGpsRilRequestSetId) (uint32_t flags, void *context) |
Callback invoked by the driver to set the set id.
Definition at line 436 of file gps.h.
Callback with AGPS status information.
Definition at line 430 of file gps.h.
AGPS type
Definition at line 202 of file gps.h.
Flags used to specify which aiding data to delete when calling delete_aiding_data().
Definition at line 185 of file gps.h.
Callback with NI notification.
Definition at line 433 of file gps.h.
typedef void(* UHardwareGpsNmeaCallback) (int64_t timestamp, const char *nmea, int length, void *context) |
typedef void(* UHardwareGpsRequestUtcTime) (void *context) |
typedef void(* UHardwareGpsSetCapabilities) (uint32_t capabilities, void *context) |
typedef void(* UHardwareGpsStatusCallback) (uint16_t status, void *context) |
typedef void(* UHardwareGpsXtraDownloadRequest) (void *context) |
Callback to request the client to download XTRA data. The client should download XTRA data and inject it by calling inject_xtra_data().
Definition at line 427 of file gps.h.
Enumerator |
---|
U_HARDWARE_GPS_NI_RESPONSE_ACCEPT |
|
U_HARDWARE_GPS_NI_RESPONSE_DENY |
|
U_HARDWARE_GPS_NI_RESPONSE_NORESP |
|
Definition at line 93 of file gps.h.
Enumerator |
---|
U_HARDWARE_GPS_NI_TYPE_VOICE |
|
U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL |
|
U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE |
|
Definition at line 100 of file gps.h.
Enumerator |
---|
U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN |
GPS requests data connection for AGPS.
|
U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN |
GPS releases the AGPS data connection.
|
U_HARDWARE_GPS_AGPS_DATA_CONNECTED |
AGPS data connection initiated
|
U_HARDWARE_GPS_AGPS_DATA_CONN_DONE |
AGPS data connection completed
|
U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED |
AGPS data connection failed
|
Definition at line 169 of file gps.h.
Notifies the chipset that an AGPS data connection has been closed.
- Parameters
-
self | The instance to be notified. |
Notifies the chipset that a data connection is availble.
- Parameters
-
self | The instance to be notified. |
apn | Name of the apn to be used for SUPL. |
Notifies the chipset that an AGPS data connection is not available.
- Parameters
-
self | The instance to be notified. |
Informs the GPS chipset about wifi ap's or radio cells to be used in AGPS calls.
- Parameters
-
self | The instance to inform. |
location | The reference location, that is a wifi ap or a radio cell. |
size_of_struct | The size of the reference location struct. |
Sets the hostname and port for the AGPS server.
- Parameters
-
self | The instance to be altered. |
type | Type of the server, one of U_HARDWARE_GPS_AGPS_TYPE_SUPL or U_HARDWARE_GPS_AGPS_TYPE_C2K. |
hostname | The hostname of the AGPS server. |
port | The post of the AGPS server. |
Requests the chipset to delete the aiding data specified in flags.
- Parameters
-
self | The instance to apply the change to. |
flags | Specifies the aiding data that should be deleted. |
Injects a new reference location into the GPS chipset.
- Parameters
-
self | The instance to apply the change to. |
location | New location to me injected. The structure must have the following details, any others are ignored:
- location: New coordinate, in [°].
- longitude: New coordinate, [°].
- accuracy: Accuracy estimate of the location, in [m].
|
Injects a new reference time into the GPS chipset.
- Parameters
-
time | NTP time, in milliseconds since Jan 1st 1970. |
time_reference | time from the internal clock at the moment that NTP time was taken. |
uncertainty | possible deviation in the time supplied (uncertainty) in milliseconds. |
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.
- Parameters
-
mode | One of the U_HARDWARE_GPS_POSITION_MODE_* values |
recurrence | One of the U_HARDWARE_GPS_POSITION_RECURRENCE_* values |
min_interval | represents the time between fixes in milliseconds. |
preferred_accuracy | The requested fix accuracy in meters. Can be zero. |
preferred_time | The requested time to first fix in milliseconds. Can be zero. |