summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gpsd.h-tail38
-rw-r--r--ppsthread.h45
2 files changed, 46 insertions, 37 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail
index 2d9f48d5..09e4064a 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -24,22 +24,6 @@
#define _POSIX_THREAD_SAFE_FUNCTIONS
#endif
-/* use RFC 2782 PPS API */
-/* this needs linux >= 2.6.34 and
- * CONFIG_PPS=y
- * CONFIG_PPS_DEBUG=y [optional to kernel log pulses]
- * CONFIG_PPS_CLIENT_LDISC=y
- */
-#ifndef S_SPLINT_S
-#if defined(HAVE_SYS_TIMEPPS_H)
-// include unistd.h here as it is missing on older pps-tools releases.
-// 'close' is not defined otherwise.
-#include <unistd.h>
-#include <sys/time.h>
-#include <sys/timepps.h>
-#endif /* S_SPLINT_S */
-#endif
-
#ifdef _WIN32
typedef unsigned int speed_t;
#endif
@@ -459,19 +443,7 @@ struct ntrip_stream_t
};
#ifdef PPS_ENABLE
-struct pps_thread_t {
- timestamp_t fixin_real;
- struct timespec fixin_clock; /* system clock time when last fix received */
-#if defined(HAVE_SYS_TIMEPPS_H)
- pps_handle_t kernelpps_handle;
-#endif /* defined(HAVE_SYS_TIMEPPS_H) */
- int chronyfd; /* for talking to chrony */
- /*@null@*/ char *(*report_hook)(struct gps_device_t *,
- struct timedelta_t *);
- /*@null@*/ void (*wrap_hook)(struct gps_device_t *);
- struct timedelta_t ppsout_last;
- int ppsout_count;
-};
+#include "ppsthread.h"
#endif /* PPS_ENABLE */
struct gps_device_t {
@@ -973,14 +945,6 @@ extern void pps_early_init(struct gps_context_t *);
extern void timespec_str(const struct timespec *, /*@out@*/char *, int);
#define TIMESPEC_LEN 22 /* required length of a timespec buffer */
-#ifdef PPS_ENABLE
-extern void pps_thread_stash_fixtime(struct gps_device_t *,
- timestamp_t, struct timespec);
-#endif /* PPS_ENABLE */
-extern void pps_thread_activate(struct gps_device_t *);
-extern void pps_thread_deactivate(struct gps_device_t *);
-extern int pps_thread_lastpps(struct gps_device_t *, struct timedelta_t *);
-
extern void errout_reset(struct gpsd_errout_t *errout);
extern void gpsd_acquire_reporting_lock(void);
diff --git a/ppsthread.h b/ppsthread.h
new file mode 100644
index 00000000..2a37c052
--- /dev/null
+++ b/ppsthread.h
@@ -0,0 +1,45 @@
+/*
+ * This file is Copyright (c) 2015 by the GPSD project
+ * BSD terms apply: see the file COPYING in the distribution root for details.
+ */
+
+#ifndef PPSTHREAD_H
+#define PPSTHREAD_H
+
+/* use RFC 2782 PPS API */
+/* this needs linux >= 2.6.34 and
+ * CONFIG_PPS=y
+ * CONFIG_PPS_DEBUG=y [optional to kernel log pulses]
+ * CONFIG_PPS_CLIENT_LDISC=y
+ */
+#ifndef S_SPLINT_S
+#if defined(HAVE_SYS_TIMEPPS_H)
+// include unistd.h here as it is missing on older pps-tools releases.
+// 'close' is not defined otherwise.
+#include <unistd.h>
+#include <sys/time.h>
+#include <sys/timepps.h>
+#endif
+#endif /* S_SPLINT_S */
+
+struct pps_thread_t {
+ timestamp_t fixin_real;
+ struct timespec fixin_clock; /* system clock time when last fix received */
+#if defined(HAVE_SYS_TIMEPPS_H)
+ pps_handle_t kernelpps_handle;
+#endif /* defined(HAVE_SYS_TIMEPPS_H) */
+ int chronyfd; /* for talking to chrony */
+ /*@null@*/ char *(*report_hook)(struct gps_device_t *,
+ struct timedelta_t *);
+ /*@null@*/ void (*wrap_hook)(struct gps_device_t *);
+ struct timedelta_t ppsout_last;
+ int ppsout_count;
+};
+
+extern void pps_thread_activate(struct gps_device_t *);
+extern void pps_thread_deactivate(struct gps_device_t *);
+extern void pps_thread_stash_fixtime(struct gps_device_t *,
+ timestamp_t, struct timespec);
+extern int pps_thread_lastpps(struct gps_device_t *, struct timedelta_t *);
+
+#endif /* PPSTHREAD_H */