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.
This commit is contained in:
Drew Galbraith 2024-08-17 17:15:33 -07:00
parent 19a8ab41d4
commit 7e68c1b641
18 changed files with 215 additions and 152 deletions

View file

@ -9,7 +9,6 @@ use mammoth::define_entry;
use mammoth::thread;
use mammoth::zion::z_err_t;
use yellowstone::GetEndpointRequest;
use yellowstone::YellowstoneClient;
define_entry!();
@ -17,10 +16,9 @@ define_entry!();
pub extern "C" fn main() -> z_err_t {
debug!("Testing!");
let mut yellowstone;
unsafe {
yellowstone = YellowstoneClient::new(mammoth::init::INIT_ENDPOINT);
}
let yellowstone = yellowstone::from_init_endpoint();
debug!("Get endpoint");
let endpoint = yellowstone
.get_endpoint(&GetEndpointRequest {