tunio 0.3.0

Crate for creating and managing TUN/TAP interfaces with async support. Works best with netconfig crate.
Documentation
#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
pub(crate) mod config;
pub mod platform;
pub mod traits;

mod error;

pub use config::*;
pub use error::Error;

cfg_if::cfg_if! {
    if #[cfg(target_os = "windows")] {
        pub type DefaultDriver = platform::wintun::Driver;
        pub type DefaultInterface = platform::wintun::Interface;
        #[cfg(feature = "async-tokio")]
        pub type DefaultTokioInterface = platform::wintun::AsyncTokioInterface;
    }else if #[cfg(target_os = "linux")] {
        pub type DefaultDriver = platform::linux::Driver;
        pub type DefaultInterface = platform::linux::Interface;
        #[cfg(feature = "async-tokio")]
        pub type DefaultTokioInterface = platform::linux::AsyncTokioInterface;
    }else if #[cfg(target_os = "macos")] {
        pub type DefaultDriver = platform::utun::Driver;
        pub type DefaultInterface = platform::utun::Interface;
    }
}