/** * @file DebugLog.h * @author apio (cloudapio.eu) * @brief Debug logging for platform-agnostic functions. * * @copyright Copyright (c) 2022-2023, the Luna authors. * */ #pragma once #include #include /** * @brief The actual debug log implementation. This must be provided by the platform or user. * * In the kernel, the implementation is located in src/Log.cpp. * For POSIX systems, libluna provides an implementation in src/ImplPOSIX.cpp. * * The printed message must be followed by an implicit newline. * * @param format The format string (in the style of printf). * @param ap The variadic argument list. */ extern void debug_log_impl(const char* format, va_list ap); /** * @brief Log a formatted message. * * @param format The format string (in the style of printf). * @param ... The format arguments. */ void dbgln(const char* format, ...) _format(1, 2);