21#define NX_DEADLINE_NEVER UINT64_MAX
100 uint32_t frequency_hz);
Small vendor-independent result vocabulary.
nx_result_t
Operation result; success at submission means admission only.
State for extending one 32-bit free-running hardware counter.
An explicitly injected clock; its context outlives all borrowers.
nx_time_us_t(* read)(void *context)
nx_result_t nx_clock32_initialize(nx_clock32_t *clock, uint32_t counter, uint32_t frequency_hz)
Initialize counter extension and its clock domain.
bool nx_deadline_expired(nx_time_us_t deadline, nx_time_us_t now)
Test an absolute deadline against a clock snapshot.
nx_time_us_t nx_time_now_us(void)
Read the selected provider's monotonic clock.
nx_time_us_t nx_deadline_after(nx_time_us_t now, uint64_t duration_us)
Add a duration without wrapping the monotonic domain.
uint64_t nx_time_us_t
Microseconds in one boot/clock domain; no wall-clock semantics.
nx_result_t nx_clock32_observe(nx_clock32_t *clock, uint32_t counter, nx_time_us_t *time_us)
Extend a wrapping counter and convert to microseconds.