#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
pub use crate::bindings::root::mu::LogLevel_Critical as CLogLevel_Critical;
pub use crate::bindings::root::mu::LogLevel_Debug as CLogLevel_Debug;
pub use crate::bindings::root::mu::LogLevel_Error as CLogLevel_Error;
pub use crate::bindings::root::mu::LogLevel_Info as CLogLevel_Info;
pub use crate::bindings::root::mu::LogLevel_None as CLogLevel_None;
pub use crate::bindings::root::mu::LogLevel_Trace as CLogLevel_Trace;
pub use crate::bindings::root::mu::LogLevel_Warn as CLogLevel_Warn;
pub use crate::bindings::root::{logPrintfSingleStringRB, logPrintfWithLevelSingleStringRB};
pub use LogLevel as CLogLevel;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum LogLevel {
Trace = CLogLevel_Trace as isize,
Debug = CLogLevel_Debug as isize,
Info = CLogLevel_Info as isize,
Warn = CLogLevel_Warn as isize,
Error = CLogLevel_Error as isize,
Critical = CLogLevel_Critical as isize,
None = CLogLevel_None as isize,
}
impl From<LogLevel> for i32 {
fn from(level: LogLevel) -> Self {
level as i32
}
}
#[macro_export]
macro_rules! log_print {
($($arg:tt)*) => {{
let mut output = alloc::format!($($arg)*);
output.push('\0');
unsafe { $crate::logger::logPrintfSingleStringRB(output.as_ptr() as *const u8) }
}};
}
#[macro_export]
macro_rules! log_print_with_level {
($level:expr, $($arg:tt)*) => {{
let mut output = alloc::format!($($arg)*);
output.push('\0');
unsafe { $crate::logger::logPrintfWithLevelSingleStringRB($level as i32, output.as_ptr() as *const u8) }
}};
}