dope-sys 0.37.0

Typed operating-system call contracts
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{memory::buffer::canary, probe};

#[derive(Debug)]
pub enum Checked<P, O, E, I, L, C, F> {
    Wait(probe::Cause<P, O, E>),
    MissingBuffer(P),
    Buffer {
        probe: P,
        failure: canary::Failure<I, L, C, F>,
    },
    Terminated(P),
}

impl<P, O, E, I, L, C, F> From<probe::Cause<P, O, E>> for Checked<P, O, E, I, L, C, F> {
    fn from(cause: probe::Cause<P, O, E>) -> Self {
        Self::Wait(cause)
    }
}