6#ifndef NEXUS_COMPONENTS_LOG_H
7#define NEXUS_COMPONENTS_LOG_H
76 const void* bytes,
size_t length,
nx_result_t nx_log_flush(nx_log_t *logger, nx_time_us_t deadline)
Flush an explicit sink without creating a background worker.
nx_result_t nx_log_stop(nx_log_t *logger)
Reject new writes and test whether the sink has exited.
nx_log_level_t
Structured severity, with filtering before touching a sink.
nx_result_t nx_log_init(nx_log_t *logger, nx_log_sink_port_t sink, nx_log_level_t minimum)
Initialize an unused logger before exposing it to tasks.
nx_result_t nx_log_write(nx_log_t *logger, nx_log_level_t level, const void *bytes, size_t length, nx_time_us_t deadline)
Write caller bytes, with no implicit allocation/formatting.
nx_result_t
Operation result; success at submission means admission only.
Synchronous caller-injected sink.
nx_result_t(* write)(void *, nx_log_level_t, const void *, size_t, nx_time_us_t deadline)
nx_result_t(* flush)(void *, nx_time_us_t deadline)
Logger storage belongs to its caller; shared immutable port is copied.
Absolute monotonic microsecond deadlines and wrap extension.
uint64_t nx_time_us_t
Microseconds in one boot/clock domain; no wall-clock semantics.