X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_time.h;h=0081957dc514d8fdb9ba513132c726b639503d07;hb=b6502396fff51f422ddae66c17e89b7fddeed957;hp=0c477d8c7c413af0d618f60047c0799fff14b6d6;hpb=37376539adc2398591f306aee89a37dc4734f926;p=collectd.git diff --git a/src/utils_time.h b/src/utils_time.h index 0c477d8c..0081957d 100644 --- a/src/utils_time.h +++ b/src/utils_time.h @@ -43,8 +43,8 @@ #define CDTIME_T_TO_DOUBLE(t) (((double) (t)) / 1073741824.0) #define DOUBLE_TO_CDTIME_T(d) ((cdtime_t) ((d) * 1073741824.0)) +#define MS_TO_CDTIME_T(ms) ((cdtime_t) (((double) (ms)) * 1073741.824)) #define CDTIME_T_TO_MS(t) ((long) (((double) (t)) / 1073741.824)) - #define US_TO_CDTIME_T(us) ((cdtime_t) (((double) (us)) * 1073.741824)) #define CDTIME_T_TO_US(t) ((suseconds_t) (((double) (t)) / 1073.741824)) #define NS_TO_CDTIME_T(ns) ((cdtime_t) (((double) (ns)) * 1.073741824)) @@ -54,17 +54,23 @@ (tvp)->tv_sec = CDTIME_T_TO_TIME_T (cdt); \ (tvp)->tv_usec = CDTIME_T_TO_US ((cdt) % 1073741824); \ } while (0) -#define TIMEVAL_TO_CDTIME_T(tv) (TIME_T_TO_CDTIME_T ((tv).tv_sec) \ - + US_TO_CDTIME_T ((tv).tv_usec)) +#define TIMEVAL_TO_CDTIME_T(tv) (TIME_T_TO_CDTIME_T ((tv)->tv_sec) \ + + US_TO_CDTIME_T ((tv)->tv_usec)) #define CDTIME_T_TO_TIMESPEC(cdt,tsp) do { \ (tsp)->tv_sec = CDTIME_T_TO_TIME_T (cdt); \ (tsp)->tv_nsec = CDTIME_T_TO_NS ((cdt) % 1073741824); \ } while (0) -#define TIMESPEC_TO_CDTIME_T(ts) (TIME_T_TO_CDTIME_T ((ts).tv_sec) \ - + NS_TO_CDTIME_T ((ts).tv_nsec)) +#define TIMESPEC_TO_CDTIME_T(ts) (TIME_T_TO_CDTIME_T ((ts)->tv_sec) \ + + NS_TO_CDTIME_T ((ts)->tv_nsec)) cdtime_t cdtime (void); +/* format a cdtime_t value in ISO 8601 format: + * returns the number of characters written to the string (not including the + * terminating null byte or 0 on error; the function ensures that the string + * is null terminated */ +size_t cdtime_to_iso8601 (char *s, size_t max, cdtime_t t); + #endif /* UTILS_TIME_H */ /* vim: set sw=2 sts=2 et : */