1use thiserror::Error as ThisError;
2
3#[derive(Debug, ThisError)]
4pub enum Error {
5 #[error("IO Error")]
6 Io(#[from] std::io::Error),
7 #[error("Null pointer when dealing with ffi")]
8 Ffi(#[from] std::ffi::NulError),
9 #[error("Nul Error when dealing with ffi")]
10 FfiNul(#[from] std::ffi::FromBytesWithNulError),
11 #[error("Utf8 conversion error")]
12 Utf8(#[from] std::str::Utf8Error),
13 #[error("Time conversion error")]
14 Time(#[from] std::time::SystemTimeError),
15 #[error("Null ptr returned")]
16 NullPtr,
17 #[error("Libpcap failed populate header")]
18 CreatePacketHeader,
19 #[error("Libpcap encountered an error: {0}")]
20 LibPcapError(String),
21 #[error("Failed to create live capture for interface {iface}: {error}")]
22 LiveCapture { iface: String, error: String },
23 #[error("Failed to create file capture for file {file}: {error}")]
24 FileCapture { file: String, error: String },
25 #[error("{0}")]
26 Custom(String),
27}
28
29unsafe impl Sync for Error {}
30unsafe impl Send for Error {}