tunio/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_auto_cfg))]
3pub(crate) mod config;
4pub mod platform;
5pub mod traits;
6
7mod error;
8
9pub use config::*;
10pub use error::Error;
11
12cfg_if::cfg_if! {
13    if #[cfg(target_os = "windows")] {
14        pub type DefaultDriver = platform::wintun::Driver;
15        pub type DefaultInterface = platform::wintun::Interface;
16        #[cfg(feature = "async-tokio")]
17        pub type DefaultTokioInterface = platform::wintun::AsyncTokioInterface;
18    }else if #[cfg(target_os = "linux")] {
19        pub type DefaultDriver = platform::linux::Driver;
20        pub type DefaultInterface = platform::linux::Interface;
21        #[cfg(feature = "async-tokio")]
22        pub type DefaultTokioInterface = platform::linux::AsyncTokioInterface;
23    }else if #[cfg(target_os = "macos")] {
24        pub type DefaultDriver = platform::utun::Driver;
25        pub type DefaultInterface = platform::utun::Interface;
26    }
27}