1/*	$NetBSD: buftvtots.c,v 1.5 2020/05/25 20:47:24 christos Exp $	*/
2
3/*
4 * buftvtots - pull a Unix-format (struct timeval) time stamp out of
5 *	       an octet stream and convert it to a l_fp time stamp.
6 *	       This is useful when using the clock line discipline.
7 */
8
9#ifdef HAVE_CONFIG_H
10#include "config.h"
11#endif
12#include "ntp_fp.h"
13#include "ntp_string.h"
14#include "timevalops.h"
15
16#ifndef SYS_WINNT
17int
18buftvtots(
19	const char *bufp,
20	l_fp *ts
21	)
22{
23	struct timeval tv;
24
25	/*
26	 * copy to adhere to alignment restrictions
27	 */
28	memcpy(&tv, bufp, sizeof(tv));
29
30	/*
31	 * and use it
32	 */
33	if (tv.tv_usec > MICROSECONDS - 1)
34		return FALSE;
35
36	*ts = tval_stamp_to_lfp(tv);
37
38	return TRUE;
39}
40#endif	/* !SYS_WINNT */
41