Browse Source

Provide a us_to_timespec helper function.

Con Kolivas 12 years ago
parent
commit
1411afe011
2 changed files with 7 additions and 0 deletions
  1. 6 0
      util.c
  2. 1 0
      util.h

+ 6 - 0
util.c

@@ -908,6 +908,12 @@ void us_to_timeval(struct timeval *val, int64_t us)
 	val->tv_usec = us - (val->tv_sec * 1000000);
 	val->tv_usec = us - (val->tv_sec * 1000000);
 }
 }
 
 
+void us_to_timespec(struct timespec *spec, int64_t us)
+{
+	spec->tv_sec = us / 1000000;
+	spec->tv_nsec = (us - (spec->tv_sec * 1000000)) * 1000;
+}
+
 /* Returns the microseconds difference between end and start times as a double */
 /* Returns the microseconds difference between end and start times as a double */
 double us_tdiff(struct timeval *end, struct timeval *start)
 double us_tdiff(struct timeval *end, struct timeval *start)
 {
 {

+ 1 - 0
util.h

@@ -81,6 +81,7 @@ void copy_time(struct timeval *dest, const struct timeval *src);
 void timespec_to_val(struct timeval *val, const struct timespec *spec);
 void timespec_to_val(struct timeval *val, const struct timespec *spec);
 void timeval_to_spec(struct timespec *spec, const struct timeval *val);
 void timeval_to_spec(struct timespec *spec, const struct timeval *val);
 void us_to_timeval(struct timeval *val, int64_t us);
 void us_to_timeval(struct timeval *val, int64_t us);
+void us_to_timespec(struct timespec *spec, int64_t us);
 double us_tdiff(struct timeval *end, struct timeval *start);
 double us_tdiff(struct timeval *end, struct timeval *start);
 double tdiff(struct timeval *end, struct timeval *start);
 double tdiff(struct timeval *end, struct timeval *start);
 bool stratum_send(struct pool *pool, char *s, ssize_t len);
 bool stratum_send(struct pool *pool, char *s, ssize_t len);