/* libhw_generic/alarmclock.c - Device-independent storage * * Copyright (C) 2024-2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ #include lo_interface alarmclock bootclock = {}; void alarmclock_sleep_for_ns(lo_interface alarmclock clock, uint64_t delta_ns) { alarmclock_sleep_until_ns(clock, LO_CALL(clock, get_time_ns) + delta_ns); } void alarmclock_sleep_for_us(lo_interface alarmclock clock, uint64_t delta_us) { alarmclock_sleep_for_ns(clock, delta_us * (NS_PER_S/US_PER_S)); } void alarmclock_sleep_for_ms(lo_interface alarmclock clock, uint64_t delta_ms) { alarmclock_sleep_for_ns(clock, delta_ms * (NS_PER_S/MS_PER_S)); } void alarmclock_sleep_for_s(lo_interface alarmclock clock, uint64_t delta_s) { alarmclock_sleep_for_ns(clock, delta_s * NS_PER_S); }