gps.h
Go to the documentation of this file.
/*
* Copyright © 2013 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com>
* Authored by: Thomas Voß <thomas.voss@canonical.com>
*/
#ifndef UBUNTU_HARDWARE_GPS_H_
#define UBUNTU_HARDWARE_GPS_H_
#include <ubuntu/visibility.h>
#include <stdint.h>
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
#define U_HARDWARE_GPS_MAX_SVS 32
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
};
#define U_HARDWARE_GPS_CAPABILITY_SCHEDULING 0x0000001
#define U_HARDWARE_GPS_CAPABILITY_MSB 0x0000002
#define U_HARDWARE_GPS_CAPABILITY_MSA 0x0000004
#define U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT 0x0000008
#define U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010
typedef uint32_t UHardwareGpsNiNotifyFlags;
#define U_HARDWARE_GPS_NI_NEED_NOTIFY 0x0001
#define U_HARDWARE_GPS_NI_NEED_VERIFY 0x0002
#define U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE 0x0004
typedef int UHardwareGpsUserResponseType;
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
};
#define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN 256
#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN 2048
typedef int UHardwareGpsNiEncodingType;
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
};
typedef uint16_t UHardwareGpsAidingData;
#define U_HARDWARE_GPS_DELETE_EPHEMERIS 0x0001
#define U_HARDWARE_GPS_DELETE_ALMANAC 0x0002
#define U_HARDWARE_GPS_DELETE_POSITION 0x0004
#define U_HARDWARE_GPS_DELETE_TIME 0x0008
#define U_HARDWARE_GPS_DELETE_IONO 0x0010
#define U_HARDWARE_GPS_DELETE_UTC 0x0020
#define U_HARDWARE_GPS_DELETE_HEALTH 0x0040
#define U_HARDWARE_GPS_DELETE_SVDIR 0x0080
#define U_HARDWARE_GPS_DELETE_SVSTEER 0x0100
#define U_HARDWARE_GPS_DELETE_SADATA 0x0200
#define U_HARDWARE_GPS_DELETE_RTI 0x0400
#define U_HARDWARE_GPS_DELETE_CELLDB_INFO 0x8000
#define U_HARDWARE_GPS_DELETE_ALL 0xFFFF
typedef uint16_t UHardwareGpsAGpsType;
#define U_HARDWARE_GPS_AGPS_TYPE_SUPL 1
#define U_HARDWARE_GPS_AGPS_TYPE_C2K 2
#define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_GSM_CELLID 1
#define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_UMTS_CELLID 2
#define U_HARDWARE_GPS_AGPS_REG_LOCATION_TYPE_MAC 3
#define U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG 0x0001
#define U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE 0x0002
#define U_HARDWARE_GPS_LOCATION_HAS_SPEED 0x0004
#define U_HARDWARE_GPS_LOCATION_HAS_BEARING 0x0008
#define U_HARDWARE_GPS_LOCATION_HAS_ACCURACY 0x0010
typedef struct UHardwareGps_* UHardwareGps;
typedef struct
{
size_t size;
uint16_t flags;
double latitude;
double longitude;
double altitude;
float speed;
float bearing;
float accuracy;
int64_t timestamp;
} UHardwareGpsLocation;
typedef struct {
size_t size;
int prn;
float snr;
float elevation;
float azimuth;
} UHardwareGpsSvInfo;
typedef struct {
size_t size;
int num_svs;
UHardwareGpsSvInfo sv_list[U_HARDWARE_GPS_MAX_SVS];
uint32_t ephemeris_mask;
uint32_t almanac_mask;
uint32_t used_in_fix_mask;
} UHardwareGpsSvStatus;
typedef struct {
size_t size;
uint16_t type;
uint16_t status;
uint32_t ipaddr;
} UHardwareGpsAGpsStatus;
typedef struct
{
uint16_t type;
uint16_t mcc;
uint16_t mnc;
uint16_t lac;
uint32_t cid;
} UHardwareGpsAGpsRefLocationCellID;
typedef struct
{
uint8_t mac[6];
} UHardwareGpsAGpsRefLocationMac;
typedef struct
{
uint16_t type;
union {
UHardwareGpsAGpsRefLocationCellID cellID;
UHardwareGpsAGpsRefLocationMac mac;
} u;
} UHardwareGpsAGpsRefLocation;
typedef struct {
size_t size;
int notification_id;
uint32_t ni_type;
UHardwareGpsNiNotifyFlags notify_flags;
int timeout;
UHardwareGpsUserResponseType default_response;
char requestor_id[U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN];
char text[U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN];
UHardwareGpsNiEncodingType requestor_id_encoding;
UHardwareGpsNiEncodingType text_encoding;
char extras[U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN];
} UHardwareGpsNiNotification;
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);
typedef struct
{
UHardwareGpsLocationCallback location_cb;
UHardwareGpsStatusCallback status_cb;
UHardwareGpsSvStatusCallback sv_status_cb;
UHardwareGpsNmeaCallback nmea_cb;
UHardwareGpsSetCapabilities set_capabilities_cb;
UHardwareGpsRequestUtcTime request_utc_time_cb;
UHardwareGpsXtraDownloadRequest xtra_download_request_cb;
UHardwareGpsAGpsStatusCallback agps_status_cb;
UHardwareGpsNiNotifyCallback gps_ni_notify_cb;
UHardwareGpsAGpsRilRequestSetId request_setid_cb;
UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb;
void* context;
} UHardwareGpsParams;
/*
You must create only one instance per process/application.
*/
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);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_inject_location(
UHardwareGps self,
UHardwareGpsLocation location);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_agps_set_reference_location(
UHardwareGps self,
UHardwareGpsAGpsRefLocation *location,
size_t size_of_struct);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_agps_notify_connection_is_open(
UHardwareGps self,
const char *apn);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_agps_notify_connection_is_closed(
UHardwareGps self);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_agps_notify_connection_not_available(
UHardwareGps self);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_agps_set_server_for_type(
UHardwareGps self,
UHardwareGpsAGpsType type,
const char* hostname,
uint16_t port);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_delete_aiding_data(
UHardwareGps self,
UHardwareGpsAidingData flags);
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);
UBUNTU_DLL_PUBLIC void
u_hardware_gps_inject_xtra_data(
UHardwareGps self,
char* data,
int length);
#ifdef __cplusplus
}
#endif
#endif // UBUNTU_HARDWARE_GPS_H_
U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED
Definition: gps.h:180
U_HARDWARE_GPS_POSITION_MODE_MS_BASED
Definition: gps.h:152
UHardwareGpsParams
Definition: gps.h:440
UHardwareGpsAGpsRefLocation::type
uint16_t type
Definition: gps.h:347
UHardwareGpsStatusCallback
void(* UHardwareGpsStatusCallback)(uint16_t status, void *context)
Definition: gps.h:420
UHardwareGpsAGpsRilRequestRefLoc
void(* UHardwareGpsAGpsRilRequestRefLoc)(uint32_t flags, void *context)
Definition: gps.h:438
UHardwareGpsNiNotification::default_response
UHardwareGpsUserResponseType default_response
Definition: gps.h:388
UHardwareGpsSetCapabilities
void(* UHardwareGpsSetCapabilities)(uint32_t capabilities, void *context)
Definition: gps.h:423
U_HARDWARE_GPS_POSITION_MODE_STANDALONE
Definition: gps.h:150
U_HARDWARE_GPS_MAX_SVS
#define U_HARDWARE_GPS_MAX_SVS
Definition: gps.h:37
UHardwareGpsXtraDownloadRequest
void(* UHardwareGpsXtraDownloadRequest)(void *context)
Definition: gps.h:427
U_HARDWARE_GPS_STATUS_ENGINE_ON
Definition: gps.h:52
u_hardware_gps_agps_set_server_for_type
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.
UHardwareGpsSvInfo::elevation
float elevation
Definition: gps.h:265
u_hardware_gps_stop
UBUNTU_DLL_PUBLIC bool u_hardware_gps_stop(UHardwareGps self)
UHardwareGpsParams::sv_status_cb
UHardwareGpsSvStatusCallback sv_status_cb
Definition: gps.h:445
UHardwareGpsLocationCallback
void(* UHardwareGpsLocationCallback)(UHardwareGpsLocation *location, void *context)
Definition: gps.h:419
UHardwareGpsSvStatus::size
size_t size
Definition: gps.h:276
UHardwareGpsSvStatus
Definition: gps.h:274
UHardwareGpsParams::request_utc_time_cb
UHardwareGpsRequestUtcTime request_utc_time_cb
Definition: gps.h:448
UHardwareGpsSvInfo
Definition: gps.h:257
UHardwareGpsAGpsStatusCallback
void(* UHardwareGpsAGpsStatusCallback)(UHardwareGpsAGpsStatus *status, void *context)
Definition: gps.h:430
U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL
Definition: gps.h:103
UHardwareGpsSvStatus::almanac_mask
uint32_t almanac_mask
Definition: gps.h:292
UHardwareGpsLocation::longitude
double longitude
Definition: gps.h:240
U_HARDWARE_GPS_ENC_UNKNOWN
Definition: gps.h:130
u_hardware_gps_set_position_mode
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.
UHardwareGpsAGpsType
uint16_t UHardwareGpsAGpsType
Definition: gps.h:202
U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN
#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN
Definition: gps.h:112
UHardwareGpsNiNotification::size
size_t size
Definition: gps.h:360
UHardwareGpsAGpsRefLocationMac
Describes a wifi ID as understood by the GPS chipset.
Definition: gps.h:333
UHardwareGpsParams::gps_ni_notify_cb
UHardwareGpsNiNotifyCallback gps_ni_notify_cb
Definition: gps.h:454
UHardwareGpsParams::nmea_cb
UHardwareGpsNmeaCallback nmea_cb
Definition: gps.h:446
UHardwareGpsAGpsStatus::type
uint16_t type
Definition: gps.h:309
UHardwareGpsParams::context
void * context
Definition: gps.h:459
U_HARDWARE_GPS_ENC_SUPL_UTF8
Definition: gps.h:128
UHardwareGpsSvStatus::ephemeris_mask
uint32_t ephemeris_mask
Definition: gps.h:287
UHardwareGpsSvStatus::num_svs
int num_svs
Definition: gps.h:279
U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN
#define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN
Definition: gps.h:111
UHardwareGpsAGpsRefLocation
Describes a reference location, either a radio cell or a wifi.
Definition: gps.h:340
UHardwareGpsParams::set_capabilities_cb
UHardwareGpsSetCapabilities set_capabilities_cb
Definition: gps.h:447
U_HARDWARE_GPS_STATUS_ENGINE_OFF
Definition: gps.h:54
UHardwareGpsLocation::size
size_t size
Definition: gps.h:234
UHardwareGpsSvInfo::snr
float snr
Definition: gps.h:263
u_hardware_gps_new
UBUNTU_DLL_PUBLIC UHardwareGps u_hardware_gps_new(UHardwareGpsParams *params)
UHardwareGpsAGpsStatus
Definition: gps.h:305
UHardwareGpsNiNotifyCallback
void(* UHardwareGpsNiNotifyCallback)(UHardwareGpsNiNotification *notification, void *context)
Definition: gps.h:433
UHardwareGpsLocation::speed
float speed
Definition: gps.h:244
U_HARDWARE_GPS_STATUS_SESSION_END
Definition: gps.h:50
UHardwareGpsNiNotifyFlags
uint32_t UHardwareGpsNiNotifyFlags
Definition: gps.h:78
UHardwareGpsAGpsStatus::ipaddr
uint32_t ipaddr
Definition: gps.h:311
UHardwareGpsNiEncodingType
int UHardwareGpsNiEncodingType
Definition: gps.h:118
U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC
Definition: gps.h:164
U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN
Definition: gps.h:174
UHardwareGpsAGpsRefLocationCellID::mnc
uint16_t mnc
Definition: gps.h:325
U_HARDWARE_GPS_AGPS_DATA_CONN_DONE
Definition: gps.h:178
u_hardware_gps_inject_xtra_data
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_xtra_data(UHardwareGps self, char *data, int length)
UHardwareGpsAGpsRilRequestSetId
void(* UHardwareGpsAGpsRilRequestSetId)(uint32_t flags, void *context)
Definition: gps.h:436
u_hardware_gps_agps_notify_connection_not_available
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.
UHardwareGpsNmeaCallback
void(* UHardwareGpsNmeaCallback)(int64_t timestamp, const char *nmea, int length, void *context)
Definition: gps.h:422
UHardwareGpsAGpsRefLocation::cellID
UHardwareGpsAGpsRefLocationCellID cellID
Definition: gps.h:349
UHardwareGpsNiNotification::requestor_id_encoding
UHardwareGpsNiEncodingType requestor_id_encoding
Definition: gps.h:403
UHardwareGpsAGpsRefLocationCellID::cid
uint32_t cid
Definition: gps.h:329
u_hardware_gps_delete_aiding_data
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.
visibility.h
UHardwareGpsSvInfo::size
size_t size
Definition: gps.h:259
UHardwareGpsSvInfo::prn
int prn
Definition: gps.h:261
u_hardware_gps_start
UBUNTU_DLL_PUBLIC bool u_hardware_gps_start(UHardwareGps self)
UHardwareGpsParams::request_refloc_cb
UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb
Definition: gps.h:457
UHardwareGpsUserResponseType
int UHardwareGpsUserResponseType
Definition: gps.h:91
u_hardware_gps_inject_time
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.
UHardwareGpsNiNotification::text_encoding
UHardwareGpsNiEncodingType text_encoding
Definition: gps.h:408
UHardwareGpsAidingData
uint16_t UHardwareGpsAidingData
Definition: gps.h:185
UHardwareGpsNiNotification::notification_id
int notification_id
Definition: gps.h:366
U_HARDWARE_GPS_AGPS_DATA_CONNECTED
Definition: gps.h:176
U_HARDWARE_GPS_ENC_SUPL_UCS2
Definition: gps.h:129
u_hardware_gps_inject_location
UBUNTU_DLL_PUBLIC void u_hardware_gps_inject_location(UHardwareGps self, UHardwareGpsLocation location)
Injects a new reference location into the GPS chipset.
u_hardware_gps_agps_notify_connection_is_closed
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_AGPS_TYPE_SUPL
#define U_HARDWARE_GPS_AGPS_TYPE_SUPL
Definition: gps.h:203
U_HARDWARE_GPS_NI_TYPE_VOICE
Definition: gps.h:102
UHardwareGpsSvStatusCallback
void(* UHardwareGpsSvStatusCallback)(UHardwareGpsSvStatus *sv_info, void *context)
Definition: gps.h:421
UHardwareGpsRequestUtcTime
void(* UHardwareGpsRequestUtcTime)(void *context)
Definition: gps.h:424
UHardwareGpsNiNotification::notify_flags
UHardwareGpsNiNotifyFlags notify_flags
Definition: gps.h:377
UHardwareGpsParams::location_cb
UHardwareGpsLocationCallback location_cb
Definition: gps.h:443
UHardwareGpsNiNotification
Definition: gps.h:358
UHardwareGpsSvStatus::used_in_fix_mask
uint32_t used_in_fix_mask
Definition: gps.h:298
UHardwareGpsParams::agps_status_cb
UHardwareGpsAGpsStatusCallback agps_status_cb
Definition: gps.h:452
UHardwareGpsAGpsRefLocationCellID::lac
uint16_t lac
Definition: gps.h:327
UHardwareGpsLocation::bearing
float bearing
Definition: gps.h:246
UHardwareGpsNiNotification::timeout
int timeout
Definition: gps.h:383
UHardwareGpsLocation::timestamp
int64_t timestamp
Definition: gps.h:250
U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE
Definition: gps.h:104
UHardwareGpsAGpsStatus::status
uint16_t status
Definition: gps.h:310
U_HARDWARE_GPS_POSITION_MODE_MS_ASSISTED
Definition: gps.h:154
u_hardware_gps_agps_notify_connection_is_open
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.
U_HARDWARE_GPS_STATUS_SESSION_BEGIN
Definition: gps.h:48
UBUNTU_DLL_PUBLIC
#define UBUNTU_DLL_PUBLIC
Definition: visibility.h:26
UHardwareGpsAGpsStatus::size
size_t size
Definition: gps.h:307
UHardwareGpsParams::status_cb
UHardwareGpsStatusCallback status_cb
Definition: gps.h:444
UHardwareGpsParams::xtra_download_request_cb
UHardwareGpsXtraDownloadRequest xtra_download_request_cb
Definition: gps.h:450
UHardwareGpsAGpsRefLocation::mac
UHardwareGpsAGpsRefLocationMac mac
Definition: gps.h:350
U_HARDWARE_GPS_ENC_NONE
Definition: gps.h:126
UHardwareGpsAGpsRefLocationCellID
Describes a cell ID as understood by the GPS chipset.
Definition: gps.h:315
U_HARDWARE_GPS_ENC_SUPL_GSM_DEFAULT
Definition: gps.h:127
u_hardware_gps_agps_set_reference_location
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.
u_hardware_gps_delete
UBUNTU_DLL_PUBLIC void u_hardware_gps_delete(UHardwareGps handle)
UHardwareGpsLocation::flags
uint16_t flags
Definition: gps.h:236
UHardwareGpsLocation::altitude
double altitude
Definition: gps.h:242
UHardwareGps
struct UHardwareGps_ * UHardwareGps
Definition: gps.h:225
UHardwareGpsNiNotification::ni_type
uint32_t ni_type
Definition: gps.h:372
UHardwareGpsSvInfo::azimuth
float azimuth
Definition: gps.h:267
UHardwareGpsLocation
Definition: gps.h:231
UHardwareGpsAGpsRefLocationCellID::type
uint16_t type
Definition: gps.h:321
U_HARDWARE_GPS_POSITION_RECURRENCE_SINGLE
Definition: gps.h:166
U_HARDWARE_GPS_NI_RESPONSE_DENY
Definition: gps.h:96
UHardwareGpsLocation::accuracy
float accuracy
Definition: gps.h:248
UHardwareGpsLocation::latitude
double latitude
Definition: gps.h:238
U_HARDWARE_GPS_NI_RESPONSE_NORESP
Definition: gps.h:97
U_HARDWARE_GPS_AGPS_TYPE_C2K
#define U_HARDWARE_GPS_AGPS_TYPE_C2K
Definition: gps.h:204
UHardwareGpsAGpsRefLocationCellID::mcc
uint16_t mcc
Definition: gps.h:323
U_HARDWARE_GPS_STATUS_NONE
Definition: gps.h:46
UHardwareGpsParams::request_setid_cb
UHardwareGpsAGpsRilRequestSetId request_setid_cb
Definition: gps.h:456
U_HARDWARE_GPS_NI_RESPONSE_ACCEPT
Definition: gps.h:95
U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN
Definition: gps.h:172