freebsd-dev/contrib/libfido2/openbsd-compat/clock_gettime.c
Ed Maste 0afa8e065e Import libfido2 at 'contrib/libfido2/'
git-subtree-dir: contrib/libfido2
git-subtree-mainline: d586c978b9
git-subtree-split: a58dee945a
2021-10-06 21:29:18 -04:00

33 lines
644 B
C

/*
* Copyright (c) 2020 Yubico AB. All rights reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file.
*/
#include "openbsd-compat.h"
#if !defined(HAVE_CLOCK_GETTIME)
#if _WIN32
int
clock_gettime(clockid_t clock_id, struct timespec *tp)
{
ULONGLONG ms;
if (clock_id != CLOCK_MONOTONIC) {
errno = EINVAL;
return (-1);
}
ms = GetTickCount64();
tp->tv_sec = ms / 1000L;
tp->tv_nsec = (ms % 1000L) * 1000000L;
return (0);
}
#else
#error "please provide an implementation of clock_gettime() for your platform"
#endif /* _WIN32 */
#endif /* !defined(HAVE_CLOCK_GETTIME) */