#include <time.h>
#include <stdbool.h>
+#include <common/macros.h>
#define MSEC_PER_SEC 1000ULL
#define NSEC_PER_SEC 1000000000ULL
#define USEC_PER_MINUTE (USEC_PER_SEC * SEC_PER_MINUTE)
#define USEC_PER_HOURS (USEC_PER_MINUTE * MINUTE_PER_HOUR)
+LTTNG_HIDDEN
bool locale_supports_utf8(void);
#define NSEC_UNIT "ns"
#define MIN_UNIT "m"
#define HR_UNIT "h"
+#define ISO8601_FORMAT "%Y%m%dT%H%M%S%z"
+#define ISO8601_LEN 26
+
/*
* timespec_to_ms: Convert timespec to milliseconds.
*
* Returns 0 on success, else -1 on error. errno is set to EOVERFLOW if
* input would overflow the output in milliseconds.
*/
+LTTNG_HIDDEN
int timespec_to_ms(struct timespec ts, unsigned long *ms);
/*
* timespec_abs_diff: Absolute difference between timespec.
*/
+LTTNG_HIDDEN
struct timespec timespec_abs_diff(struct timespec ts_a, struct timespec ts_b);
+/*
+ * Format time_t to ISO8601 compatible format.
+ */
+LTTNG_HIDDEN
+int time_t_to_ISO8601(char *s, size_t s_size, time_t time);
+
#endif /* LTTNG_TIME_H */