]> wimlib.net Git - wimlib/blobdiff - src/timestamp.h
Include sys/time.h in timestamp.h
[wimlib] / src / timestamp.h
index 9c82c23e2081dab9d8f3212bfd6c8e5ba1286a92..6b54954d96bf0aff384fbdd47ac4fb1fb5c5a58a 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "util.h"
 #include <sys/types.h>
+#include <sys/time.h>
 
 #define intervals_per_second (1000000000ULL / 100ULL)
 #define intervals_per_microsecond (10)
@@ -36,6 +37,13 @@ static inline u64 timeval_to_wim_timestamp(const struct timeval *tv)
               + (u64)tv->tv_usec * intervals_per_microsecond;
 }
 
+static inline void wim_timestamp_to_timeval(u64 timestamp, struct timeval *tv)
+{
+       tv->tv_sec = (timestamp - intervals_1601_to_1970) / intervals_per_second;
+       tv->tv_usec = ((timestamp - intervals_1601_to_1970) /
+                       intervals_per_microsecond) % 1000000;
+}
+
 static inline u64 timespec_to_wim_timestamp(const struct timespec *ts)
 {
        return intervals_1601_to_1970
@@ -43,6 +51,7 @@ static inline u64 timespec_to_wim_timestamp(const struct timespec *ts)
               + (u64)ts->tv_nsec / nanoseconds_per_interval;
 }
 
+
 extern u64 get_wim_timestamp();
 
 #endif