1use rkyv::{Archive, Deserialize, Serialize};
2
3use crate::{Capability, GuestUint};
4
5#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
7#[rkyv(bytecheck())]
8pub struct SessionCreate {
9 pub session_id: GuestUint,
11 pub pubkey: [u8; 32],
13}
14
15#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
17#[rkyv(bytecheck())]
18pub struct SessionEntitlement {
19 pub session_id: GuestUint,
21 pub target_id: GuestUint,
23 pub capability: Capability,
25}
26
27#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
29#[rkyv(bytecheck())]
30pub struct SessionResource {
31 pub session_id: GuestUint,
33 pub target_id: GuestUint,
35 pub capability: Capability,
37 pub resource_id: crate::GuestResourceId,
39}
40
41#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
43#[rkyv(bytecheck())]
44pub struct SessionRemove {
45 pub session_id: GuestUint,
47 pub target_id: GuestUint,
49}