/** 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,floataccuracy); /**
* 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;