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}