/** Represents the standard GPS interface. */ typedefstruct{ /**
* Opens the interface and provides the callback routines
* to the implemenation of this interface.
*/ int(*
init)(
GpsCallbacks*
callbacks ); /** Starts navigating. */ int(*
start)(void); /** Stops navigating. */ int(*
stop)(void); /** Closes the interface. */ void(*
cleanup)(void); /** Injects the current time. */ int(*
inject_time)(
GpsUtcTime time,int64_t
timeReference, int
uncertainty); /** Injects current location from another location provider
* (typically cell ID).
* latitude and longitude are measured in degrees
* expected accuracy is measured in meters
*/ int(*
inject_location)(double
latitude,double
longitude,float
accuracy); /**
* Specifies that the next call to start will not use the
* information defined in the flags. GPS_DELETE_ALL is passed for
* a cold start.
*/ void(*
delete_aiding_data)(
GpsAidingData flags); /**
* fix_frequency represents the time between fixes in seconds.
* Set fix_frequency to zero for a single-shot fix.
*/ int(*
set_position_mode)(
GpsPositionMode mode,int
fix_frequency); /** Get a pointer to extension information. */ constvoid*(*
get_extension)(constchar*
name); }
GpsInterface;