aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/util/time.h5
-rw-r--r--util/time.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/include/util/time.h b/include/util/time.h
index 890fe55f..09a1f68e 100644
--- a/include/util/time.h
+++ b/include/util/time.h
@@ -14,6 +14,11 @@ int64_t get_current_time_msec(void);
int64_t timespec_to_msec(const struct timespec *a);
/**
+ * Convert a timespec to nanoseconds.
+ */
+int64_t timespec_to_nsec(const struct timespec *a);
+
+/**
* Convert nanoseconds to a timespec.
*/
void timespec_from_nsec(struct timespec *r, int64_t nsec);
diff --git a/util/time.c b/util/time.c
index c561d23a..78faac56 100644
--- a/util/time.c
+++ b/util/time.c
@@ -10,6 +10,10 @@ int64_t timespec_to_msec(const struct timespec *a) {
return (int64_t)a->tv_sec * 1000 + a->tv_nsec / 1000000;
}
+int64_t timespec_to_nsec(const struct timespec *a) {
+ return (int64_t)a->tv_sec * NSEC_PER_SEC + a->tv_nsec;
+}
+
void timespec_from_nsec(struct timespec *r, int64_t nsec) {
r->tv_sec = nsec / NSEC_PER_SEC;
r->tv_nsec = nsec % NSEC_PER_SEC;