content: [package]
  name = "tun"
  version = "0.8.4"
  edition = "2024"
  authors = ["meh. <meh@schizofreni.co>", "@ssrlive"]
  license = "WTFPL"
  description = "TUN device creation and handling."
  repository = "https://github.com/meh/rust-tun"
  keywords = ["tun", "network", "tunnel", "bindings"]
  # rust-version = "1.85"
  
  [package.metadata.docs.rs]
  all-features = true
  
  [lib]
  crate-type = ["staticlib", "lib"]
  
  [features]
  # default = ["async", "verify_binary_signature"]
  async = [
      "tokio",
      "futures-core",
      "futures",
      "tokio-util",
      "wintun-bindings/async",
  ]
  verify_binary_signature = ["wintun-bindings/verify_binary_signature"]
  
  [dependencies]
  bytes = { version = "1" }
  cfg-if = "1"
  futures-core = { version = "0.3", optional = true }
  libc = { version = "0.2", features = ["extra_traits"] }
  log = "0.4"
  thiserror = "2"
  tokio = { version = "1", features = [
      "net",
      "macros",
      "io-util",
  ], optional = true }
  tokio-util = { version = "0.7", features = ["codec"], optional = true }
  
  [target.'cfg(any(target_os = "macos", target_os = "freebsd"))'.dependencies]
  ipnet = "2"
  
  [target.'cfg(target_os = "windows")'.dependencies]
  futures = { version = "0.3", optional = true }
  windows-sys = { version = "0.61", features = [
      "Win32_Foundation",
      "Win32_Networking_WinSock",
      "Win32_NetworkManagement_Ndis",
      "Win32_NetworkManagement_IpHelper",
      "Win32_Security",
      "Win32_Security_WinTrust",
      "Win32_Security_Cryptography",
      "Win32_System_Threading",
      "Win32_UI_WindowsAndMessaging",
      "Win32_System_LibraryLoader",
  ] }
  wintun-bindings = { version = "^0.7.7", features = [
      "panic_on_unsent_packets",
      "async",
      "enable_inner_logging",
      "winreg",
  ] }
  
  [target.'cfg(unix)'.dependencies]
  nix = { version = "0.30", features = ["ioctl"] }
  
  [dev-dependencies]
  ctrlc2 = { version = "3.6.5", features = ["async", "termination"] }
  env_logger = "0.11"
  futures = "0.3"
  packet = "0.1"
  serde_json = "1"
  tokio = { version = "1", features = ["rt-multi-thread"] }
  tokio-util = { version = "0.7", features = [] }
  
  [target.'cfg(unix)'.dev-dependencies]
  futures = "0.3"
  nix = { version = "0.30", features = ["ioctl"] }
  
  [[example]]
  name = "read-async"
  required-features = ["async"]
  
  [[example]]
  name = "read-async-codec"
  required-features = ["async"]
  
  [[example]]
  name = "ping-tun"
  required-features = ["async"]
  
  [[example]]
  name = "split-async"
  required-features = ["async"]
  