use crate::*;
#[cfg(feature = "api-platform-protocol")]
mod protocol;
#[cfg(feature = "api-platform-update")]
mod update;
pub(crate) fn new() -> Item {
let docs = docs! {
};
let name = "platform".into();
let items = vec![
#[cfg(feature = "api-platform-protocol")]
protocol::new(),
#[cfg(feature = "api-platform-update")]
update::new(),
#[cfg(feature = "api-platform")]
item! {
fn serial "ps" {
ptr: *mut *mut u8,
} -> usize
},
#[cfg(feature = "api-platform")]
item! {
fn running_side "pb" {
} -> bool
},
#[cfg(feature = "api-platform")]
item! {
fn version "pv" {
running: u32,
ptr: *mut *mut u8,
} -> usize
},
#[cfg(feature = "api-platform")]
item! {
fn reboot "pr" {} -> !
},
];
Item::Mod(Mod { docs, name, items })
}