Skip to main content

dope_sys/ring/map/
failure.rs

1use std::num::NonZero;
2
3/// Exact unmap failure; the native cleanup state retains mapping ownership.
4#[derive(Debug, Eq, PartialEq)]
5pub struct Failure<E> {
6    address: *mut libc::c_void,
7    len: NonZero<usize>,
8    code: E,
9}
10
11impl<E> Failure<E> {
12    pub const fn new(address: *mut libc::c_void, len: NonZero<usize>, code: E) -> Self {
13        Self { address, len, code }
14    }
15
16    pub fn into_parts(self) -> (*mut libc::c_void, NonZero<usize>, E) {
17        (self.address, self.len, self.code)
18    }
19}