use core::ffi::{c_char, c_int};
#[doc(hidden)]
pub const _LOG_ERR: c_int = 3;
#[doc(hidden)]
pub const _LOG_WARNING: c_int = 4;
#[doc(hidden)]
pub const _LOG_INFO: c_int = 6;
#[doc(hidden)]
pub const _LOG_DEBUG: c_int = 7;
unsafe extern "C" {
fn syslog(priority: c_int, fmt: *const c_char, ...);
}
#[doc(hidden)]
pub fn _log_str(priority: c_int, msg: &str) {
let mut buf = [0u8; 256];
let n = msg.len().min(buf.len() - 1);
buf[..n].copy_from_slice(&msg.as_bytes()[..n]);
buf[n] = 0;
let fmt = b"%s\n\0".as_ptr() as *const c_char;
unsafe {
syslog(priority, fmt, buf.as_ptr());
}
}
#[macro_export]
#[doc(hidden)]
macro_rules! __mirui_nuttx_error {
($($arg:tt)*) => {{
let msg = ::alloc::format!($($arg)*);
$crate::surface::nuttx::log::_log_str($crate::surface::nuttx::log::_LOG_ERR, &msg);
}};
}
#[macro_export]
#[doc(hidden)]
macro_rules! __mirui_nuttx_warn {
($($arg:tt)*) => {{
let msg = ::alloc::format!($($arg)*);
$crate::surface::nuttx::log::_log_str($crate::surface::nuttx::log::_LOG_WARNING, &msg);
}};
}
#[macro_export]
#[doc(hidden)]
macro_rules! __mirui_nuttx_info {
($($arg:tt)*) => {{
let msg = ::alloc::format!($($arg)*);
$crate::surface::nuttx::log::_log_str($crate::surface::nuttx::log::_LOG_INFO, &msg);
}};
}
#[macro_export]
#[doc(hidden)]
macro_rules! __mirui_nuttx_debug {
($($arg:tt)*) => {{
let msg = ::alloc::format!($($arg)*);
$crate::surface::nuttx::log::_log_str($crate::surface::nuttx::log::_LOG_DEBUG, &msg);
}};
}
#[allow(unused_imports)]
pub(super) use crate::{
__mirui_nuttx_debug as debug, __mirui_nuttx_error as error, __mirui_nuttx_info as info,
__mirui_nuttx_warn as warn,
};