diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2014-08-22 16:14:39 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2014-08-22 16:15:43 -0400 |
commit | e6d622fabf16b0ca90b18c8b30bfcf95bd2bf3af (patch) | |
tree | f6df2c5d43d3b0a49c8264fdf965bd05140fc40c /gpsd.h-tail | |
parent | d1a9c349f3b868d52f015361ccf1cb2fad42e282 (diff) | |
download | gpsd-e6d622fabf16b0ca90b18c8b30bfcf95bd2bf3af.tar.gz |
Re-integrate Miroslav's support for large PPS offsets.
The factoring on this could use some cleanup.
All regression tests pass. PPS is live in both gpsd and gpsmon.
Diffstat (limited to 'gpsd.h-tail')
-rw-r--r-- | gpsd.h-tail | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail index 4b08a4ab..c01327a7 100644 --- a/gpsd.h-tail +++ b/gpsd.h-tail @@ -475,7 +475,10 @@ struct gps_device_t { int shmIndexPPS; # endif /* PPS_ENABLE */ #endif /* NTPSHM_ENABLE */ - volatile timestamp_t last_fixtime; /* so updates happen once */ + volatile struct { + timestamp_t real; + timestamp_t clock; + } last_fixtime; /* so updates happen once */ #ifdef PPS_ENABLE #if defined(HAVE_SYS_TIMEPPS_H) pps_handle_t kernelpps_handle; @@ -839,6 +842,7 @@ extern unsigned int ais_binary_encode(struct ais_t *ais, /*@out@*/unsigned char extern void ntpshm_context_init(struct gps_context_t *); extern void ntpshm_session_init(struct gps_device_t *); extern int ntpshm_put(struct gps_device_t *, int, struct timedrift_t *); +extern void ntpshm_latch(struct gps_device_t *device, struct timedrift_t *td); extern void ntpshm_link_deactivate(struct gps_device_t *); extern void ntpshm_link_activate(struct gps_device_t *); |