summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 14:22:14 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-11-22 15:16:54 +0000
commit5166c453faa029b3a960cc27b56b399d3b9e37fd (patch)
tree269d8c520b7602554c7e5769cc278b0a8efaffda /talpid-core/src
parentfe5ee8de5d9fa75c511e1706b447fe8e8ec13972 (diff)
downloadmullvadvpn-5166c453faa029b3a960cc27b56b399d3b9e37fd.tar.xz
mullvadvpn-5166c453faa029b3a960cc27b56b399d3b9e37fd.zip
Create `InetNetwork` conversion helper type
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/tunnel/tun_provider/mod.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/talpid-core/src/tunnel/tun_provider/mod.rs b/talpid-core/src/tunnel/tun_provider/mod.rs
index 16c9c3f17c..68b688aa74 100644
--- a/talpid-core/src/tunnel/tun_provider/mod.rs
+++ b/talpid-core/src/tunnel/tun_provider/mod.rs
@@ -1,5 +1,7 @@
use cfg_if::cfg_if;
use ipnetwork::IpNetwork;
+#[cfg(target_os = "android")]
+use jnix::IntoJava;
use std::net::IpAddr;
#[cfg(unix)]
use std::os::unix::io::AsRawFd;
@@ -84,3 +86,21 @@ pub struct TunConfig {
/// Maximum Transmission Unit in the tunnel.
pub mtu: u16,
}
+
+#[cfg(target_os = "android")]
+#[derive(IntoJava)]
+#[jnix(package = "net.mullvad.talpid.tun_provider")]
+struct InetNetwork {
+ address: IpAddr,
+ prefix: i16,
+}
+
+#[cfg(target_os = "android")]
+impl From<IpNetwork> for InetNetwork {
+ fn from(ip_network: IpNetwork) -> Self {
+ InetNetwork {
+ address: ip_network.ip(),
+ prefix: ip_network.prefix() as i16,
+ }
+ }
+}