diff options
author | Simon Ser <contact@emersion.fr> | 2020-12-13 12:53:43 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-12-18 10:37:08 +0100 |
commit | f0c1b32120563e6a9a770a458b397f0021b9e639 (patch) | |
tree | b3ea26527a9db967ce7503d122fdab588f7f76d9 | |
parent | 94fda895accd2538aa61ba4a0aad610750d797d1 (diff) |
util/time: add timespec_from_nsec
-rw-r--r-- | include/util/time.h | 5 | ||||
-rw-r--r-- | util/time.c | 5 |
2 files changed, 10 insertions, 0 deletions
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 @@ -14,6 +14,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`. */ void timespec_sub(struct timespec *r, const struct timespec *a, 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); |