summaryrefslogtreecommitdiff
path: root/libntp/buftvtots.c
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-12-02 09:01:21 +0000
committer <>2014-12-04 16:11:25 +0000
commitbdab5265fcbf3f472545073a23f8999749a9f2b9 (patch)
treec6018dd03dea906f8f1fb5f105f05b71a7dc250a /libntp/buftvtots.c
downloadntp-dev-4.2.7p482.tar.gz
Imported from /home/lorry/working-area/delta_ntp/ntp-dev-4.2.7p482.tar.gz.ntp-dev-4.2.7p482
Diffstat (limited to 'libntp/buftvtots.c')
-rw-r--r--libntp/buftvtots.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libntp/buftvtots.c b/libntp/buftvtots.c
new file mode 100644
index 0000000..a77e9f7
--- /dev/null
+++ b/libntp/buftvtots.c
@@ -0,0 +1,38 @@
+/*
+ * buftvtots - pull a Unix-format (struct timeval) time stamp out of
+ * an octet stream and convert it to a l_fp time stamp.
+ * This is useful when using the clock line discipline.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "ntp_fp.h"
+#include "ntp_string.h"
+#include "timevalops.h"
+
+#ifndef SYS_WINNT
+int
+buftvtots(
+ const char *bufp,
+ l_fp *ts
+ )
+{
+ struct timeval tv;
+
+ /*
+ * copy to adhere to alignment restrictions
+ */
+ memcpy(&tv, bufp, sizeof(tv));
+
+ /*
+ * and use it
+ */
+ if (tv.tv_usec > MICROSECONDS - 1)
+ return FALSE;
+
+ *ts = tval_stamp_to_lfp(tv);
+
+ return TRUE;
+}
+#endif /* !SYS_WINNT */