22 #define OXR_WARN_ONCE(log, ...) \ 24 static bool _once = false; \ 27 oxr_warn(log, __VA_ARGS__); \ 74 XRT_PRINTF_FORMAT(3, 4);
void oxr_slog(struct oxr_sink_logger *slog, const char *fmt,...)
Log string to sink logger.
Definition: oxr_logger.c:149
void oxr_warn_slog(struct oxr_logger *log, struct oxr_sink_logger *slog)
Flush sink as a warning message, frees all internal data.
Definition: oxr_logger.c:187
const char * api_func_name
Definition: oxr_logger.h:39
void void XrResult oxr_error(struct oxr_logger *logger, XrResult result, const char *fmt,...) XRT_PRINTF_FORMAT(3
Output an error and return the result code.
void oxr_slog_abort(struct oxr_sink_logger *slog)
Abort logging, frees all internal data.
Definition: oxr_logger.c:174
Logger struct that lives on the stack, one for each call client call.
Definition: oxr_logger.h:36
XrResult oxr_error_slog(struct oxr_logger *log, XrResult res, struct oxr_sink_logger *slog)
Flush sink as a error message, frees all internal data.
Definition: oxr_logger.c:194
Allocate on the stack, make sure to zero initialize.
Definition: oxr_logger.h:87
size_t store_size
Definition: oxr_logger.h:90
void oxr_log(struct oxr_logger *logger, const char *fmt,...) XRT_PRINTF_FORMAT(2
size_t length
Definition: oxr_logger.h:91
void oxr_log_set_instance(struct oxr_logger *logger, struct oxr_instance *inst)
Definition: oxr_logger.c:41
struct oxr_instance * inst
Definition: oxr_logger.h:38
void void oxr_warn(struct oxr_logger *logger, const char *fmt,...) XRT_PRINTF_FORMAT(2
char * store
Definition: oxr_logger.h:89
Main object that ties everything together.
Definition: oxr_objects.h:899
void oxr_log_init(struct oxr_logger *logger, const char *api_func_name)
Definition: oxr_logger.c:30
#define XRT_PRINTF_FORMAT(fmt, list)
Definition: xrt_compiler.h:40
void oxr_log_slog(struct oxr_logger *log, struct oxr_sink_logger *slog)
Flush sink as a log message, frees all internal data.
Definition: oxr_logger.c:180