From 73ad77f20a136b74a4ae381c8b97acf248d3c8fe Mon Sep 17 00:00:00 2001 From: Björn Jacke Date: Mon, 30 Aug 2010 17:56:37 +0200 Subject: lib/util: add nsec_time_diff to calulate diffs from timespecs --- lib/util/time.c | 9 +++++++++ lib/util/time.h | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/lib/util/time.c b/lib/util/time.c index 5557346b9b..5ecf93cb77 100644 --- a/lib/util/time.c +++ b/lib/util/time.c @@ -409,6 +409,15 @@ _PUBLIC_ int64_t usec_time_diff(const struct timeval *tv1, const struct timeval return (sec_diff * 1000000) + (int64_t)(tv1->tv_usec - tv2->tv_usec); } +/** + return (tp1 - tp2) in microseconds +*/ +_PUBLIC_ int64_t nsec_time_diff(const struct timespec *tp1, const struct timespec *tp2) +{ + int64_t sec_diff = tp1->tv_sec - tp2->tv_sec; + return (sec_diff * 1000000000) + (int64_t)(tp1->tv_nsec - tp2->tv_nsec); +} + /** return a zero timeval diff --git a/lib/util/time.h b/lib/util/time.h index 90890cdbc8..720a262b29 100644 --- a/lib/util/time.h +++ b/lib/util/time.h @@ -148,6 +148,11 @@ _PUBLIC_ NTTIME nttime_from_string(const char *s); */ _PUBLIC_ int64_t usec_time_diff(const struct timeval *tv1, const struct timeval *tv2); +/** + return (tp1 - tp2) in nanoseconds +*/ +_PUBLIC_ int64_t nsec_time_diff(const struct timespec *tp1, const struct timespec *tp2); + /** return a zero timeval */ -- cgit