diff options
Diffstat (limited to 'libhw/host_bootclock.c')
-rw-r--r-- | libhw/host_bootclock.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libhw/host_bootclock.c b/libhw/host_bootclock.c new file mode 100644 index 0000000..ca9565c --- /dev/null +++ b/libhw/host_bootclock.c @@ -0,0 +1,20 @@ +/* libhw/host_bootclock.c - <libhw/generic/bootclock.h> implementation for POSIX hosts + * + * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +#include <assert.h> +#include <time.h> /* for clock_gettime(), CLOCK_MONOTONIC, struct timespec */ + +#include <libhw/generic/bootclock.h> + +uint64_t bootclock_get_ns(void) { + struct timespec ts; + int r; + + r = clock_gettime(CLOCK_MONOTONIC, &ts); + assert(r == 0); + + return (((uint64_t)ts.tv_sec) * NS_PER_S) + (uint64_t)ts.tv_nsec; +} |