[PATCH 5/8] util: Add msec variants for time-related functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Lucas De Marchi <lucas.de.marchi@xxxxxxxxx>
---
 shared/util.c | 16 ++++++++++++++++
 shared/util.h |  4 ++++
 2 files changed, 20 insertions(+)

diff --git a/shared/util.c b/shared/util.c
index aeb171f..d4452eb 100644
--- a/shared/util.c
+++ b/shared/util.c
@@ -466,6 +466,12 @@ unsigned long long ts_usec(const struct timespec *ts)
 	       (unsigned long long) ts->tv_nsec / NSEC_PER_USEC;
 }
 
+unsigned long long ts_msec(const struct timespec *ts)
+{
+	return (unsigned long long) ts->tv_sec * MSEC_PER_SEC +
+	       (unsigned long long) ts->tv_nsec / NSEC_PER_MSEC;
+}
+
 unsigned long long now_usec(void)
 {
 	struct timespec ts;
@@ -476,6 +482,16 @@ unsigned long long now_usec(void)
 	return ts_usec(&ts);
 }
 
+unsigned long long now_msec(void)
+{
+	struct timespec ts;
+
+	if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0)
+		return 0;
+
+	return ts_msec(&ts);
+}
+
 unsigned long long stat_mstamp(const struct stat *st)
 {
 #ifdef HAVE_STRUCT_STAT_ST_MTIM
diff --git a/shared/util.h b/shared/util.h
index 734a523..bedafa3 100644
--- a/shared/util.h
+++ b/shared/util.h
@@ -48,9 +48,13 @@ unsigned long long stat_mstamp(const struct stat *st);
  * ************************************************************************ */
 #define USEC_PER_SEC	1000000ULL
 #define USEC_PER_MSEC	1000ULL
+#define MSEC_PER_SEC	1000ULL
+#define NSEC_PER_MSEC	1000000ULL
 
 unsigned long long ts_usec(const struct timespec *ts);
+unsigned long long ts_msec(const struct timespec *ts);
 unsigned long long now_usec(void);
+unsigned long long now_msec(void);
 
 /* endianess and alignments                                                 */
 /* ************************************************************************ */
-- 
2.36.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux