use rkyv::{Archive, Deserialize, Serialize};
use crate::{Capability, GuestUint};
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SessionCreate {
pub session_id: GuestUint,
pub pubkey: [u8; 32],
}
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SessionEntitlement {
pub session_id: GuestUint,
pub target_id: GuestUint,
pub capability: Capability,
}
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SessionResource {
pub session_id: GuestUint,
pub target_id: GuestUint,
pub capability: Capability,
pub resource_id: crate::GuestResourceId,
}
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SessionRemove {
pub session_id: GuestUint,
pub target_id: GuestUint,
}