diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2014-12-02 09:01:21 +0000 |
---|---|---|
committer | <> | 2014-12-04 16:11:25 +0000 |
commit | bdab5265fcbf3f472545073a23f8999749a9f2b9 (patch) | |
tree | c6018dd03dea906f8f1fb5f105f05b71a7dc250a /libntp/buftvtots.c | |
download | ntp-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.c | 38 |
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 */ |