+#endif // 0
+
+#define xstrftime(buf, fmt, tm) \
+ assert_message_se(strftime(buf, ELEMENTSOF(buf), fmt, tm) > 0, \
+ "xstrftime: " #buf "[] must be big enough")
+
+#if 0 /// UNNEEDED by elogind
+int get_timezone(char **timezone);
+
+time_t mktime_or_timegm(struct tm *tm, bool utc);
+#endif // 0
+struct tm *localtime_or_gmtime_r(const time_t *t, struct tm *tm, bool utc);
+
+#if 0 /// UNNEEDED by elogind
+unsigned long usec_to_jiffies(usec_t usec);
+#endif // 0
+
+static inline usec_t usec_add(usec_t a, usec_t b) {
+ usec_t c;