/** 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;