33 lines
644 B
C
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) */
|