return timespec_load(&ts);
}
+/// UNNEEDED by elogind
+#if 0
nsec_t now_nsec(clockid_t clock_id) {
struct timespec ts;
return timespec_load_nsec(&ts);
}
+#endif // 0
dual_timestamp* dual_timestamp_get(dual_timestamp *ts) {
assert(ts);
return ts;
}
-#endif // 0
dual_timestamp* dual_timestamp_from_boottime_or_monotonic(dual_timestamp *ts, usec_t u) {
int64_t delta;
return ts;
}
-
+#endif // 0
usec_t timespec_load(const struct timespec *ts) {
assert(ts);
return 0;
}
+#endif // 0
bool timezone_is_valid(const char *name) {
bool slash = false;
return true;
}
-#endif // 0
clockid_t clock_boottime_or_monotonic(void) {
static clockid_t clock = -1;
#define DUAL_TIMESTAMP_NULL ((struct dual_timestamp) { 0ULL, 0ULL })
usec_t now(clockid_t clock);
+// UNNEEDED nsec_t now_nsec(clockid_t clock);
dual_timestamp* dual_timestamp_get(dual_timestamp *ts);
dual_timestamp* dual_timestamp_from_realtime(dual_timestamp *ts, usec_t u);
// UNNEEDED dual_timestamp* dual_timestamp_from_monotonic(dual_timestamp *ts, usec_t u);
-dual_timestamp* dual_timestamp_from_boottime_or_monotonic(dual_timestamp *ts, usec_t u);
+// UNNEEDED dual_timestamp* dual_timestamp_from_boottime_or_monotonic(dual_timestamp *ts, usec_t u);
static inline bool dual_timestamp_is_set(dual_timestamp *ts) {
return ((ts->realtime > 0 && ts->realtime != USEC_INFINITY) ||
// UNNEEDED bool ntp_synced(void);
// UNNEEDED int get_timezones(char ***l);
-// UNNEEDED bool timezone_is_valid(const char *name);
+bool timezone_is_valid(const char *name);
clockid_t clock_boottime_or_monotonic(void);