1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 10:25:37 +03:00

time-util: introduce triple_timestamp_from_boottime()

This commit is contained in:
Yu Watanabe 2023-09-05 02:14:01 +09:00
parent 5fde4d37d4
commit 7cd0755198
2 changed files with 20 additions and 0 deletions

View File

@ -156,6 +156,25 @@ triple_timestamp* triple_timestamp_from_realtime(triple_timestamp *ts, usec_t u)
return ts;
}
triple_timestamp* triple_timestamp_from_boottime(triple_timestamp *ts, usec_t u) {
usec_t nowb;
assert(ts);
if (u == USEC_INFINITY) {
ts->realtime = ts->monotonic = ts->boottime = u;
return ts;
}
nowb = now(CLOCK_BOOTTIME);
ts->boottime = u;
ts->monotonic = map_clock_usec_internal(u, nowb, now(CLOCK_MONOTONIC));
ts->realtime = map_clock_usec_internal(u, nowb, now(CLOCK_REALTIME));
return ts;
}
dual_timestamp* dual_timestamp_from_monotonic(dual_timestamp *ts, usec_t u) {
assert(ts);

View File

@ -86,6 +86,7 @@ dual_timestamp* dual_timestamp_from_boottime(dual_timestamp *ts, usec_t u);
triple_timestamp* triple_timestamp_get(triple_timestamp *ts);
triple_timestamp* triple_timestamp_from_realtime(triple_timestamp *ts, usec_t u);
triple_timestamp* triple_timestamp_from_boottime(triple_timestamp *ts, usec_t u);
#define DUAL_TIMESTAMP_HAS_CLOCK(clock) \
IN_SET(clock, CLOCK_REALTIME, CLOCK_REALTIME_ALARM, CLOCK_MONOTONIC)