diff options
Diffstat (limited to 'src/platform/tun.rs')
-rw-r--r-- | src/platform/tun.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/platform/tun.rs b/src/platform/tun.rs new file mode 100644 index 0000000..45fd591 --- /dev/null +++ b/src/platform/tun.rs @@ -0,0 +1,10 @@ +use std::sync::atomic::AtomicUsize; +use std::sync::Arc; + +pub trait Tun: Send + Sync { + type Error; + + fn new(mtu: Arc<AtomicUsize>) -> Self; + fn read(&self, dst: &mut [u8]) -> Result<usize, Self::Error>; + fn write(&self, src: &[u8]) -> Result<(), Self::Error>; +} |