From f0c1b32120563e6a9a770a458b397f0021b9e639 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 13 Dec 2020 12:53:43 +0100 Subject: [PATCH] util/time: add timespec_from_nsec --- include/util/time.h | 5 +++++ util/time.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/include/util/time.h b/include/util/time.h index 6b35ef5f..287698de 100644 --- a/include/util/time.h +++ b/include/util/time.h @@ -13,6 +13,11 @@ uint32_t get_current_time_msec(void); */ int64_t timespec_to_msec(const struct timespec *a); +/** + * Convert nanoseconds to a timespec. + */ +void timespec_from_nsec(struct timespec *r, int64_t nsec); + /** * Subtracts timespec `b` from timespec `a`, and stores the difference in `r`. */ diff --git a/util/time.c b/util/time.c index aed577de..e1bc2b5c 100644 --- a/util/time.c +++ b/util/time.c @@ -10,6 +10,11 @@ int64_t timespec_to_msec(const struct timespec *a) { return (int64_t)a->tv_sec * 1000 + a->tv_nsec / 1000000; } +void timespec_from_nsec(struct timespec *r, int64_t nsec) { + r->tv_sec = nsec / NSEC_PER_SEC; + r->tv_nsec = nsec % NSEC_PER_SEC; +} + uint32_t get_current_time_msec(void) { struct timespec now; clock_gettime(CLOCK_MONOTONIC, &now);