acadia/rust/lib/yellowstone/src/lib.rs
Drew Galbraith 7e68c1b641 Add a rust user-space Capability struct.
This is a thin wrapper around a capability ptr that releases the
capability when it is done and prevents copying/cloning it.

To get a copy a caller must explicitly use duplicate.
2024-08-17 17:15:33 -07:00

19 lines
454 B
Rust

#![no_std]
use core::include;
include!(concat!(env!("OUT_DIR"), "/yunq.rs"));
use mammoth::init::INIT_ENDPOINT;
static mut YELLOWSTONE_INIT: Option<YellowstoneClient> = None;
pub fn from_init_endpoint() -> &'static mut YellowstoneClient {
unsafe {
if let None = YELLOWSTONE_INIT {
YELLOWSTONE_INIT = Some(YellowstoneClient::new(Capability::take(INIT_ENDPOINT)));
}
YELLOWSTONE_INIT.as_mut().unwrap()
}
}