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

@ -1,5 +1,6 @@
use crate::buffer::ByteBuffer;
use alloc::vec::Vec;
use mammoth::cap::Capability;
use mammoth::syscall;
use mammoth::zion::z_cap_t;
use mammoth::zion::ZError;
@ -36,7 +37,7 @@ pub trait YunqServer {
}
}
fn endpoint_cap(&self) -> z_cap_t;
fn endpoint_cap(&self) -> &Capability;
fn handle_request(
&self,
method_number: u64,