aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-10-15 11:32:04 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-10-15 11:32:04 +0200
commitd27370673dcb6d068f80d31a5c257ef422a27c90 (patch)
treecf7d961788845928ee6ef1dba4441ae6b732ec8c /src
parent8766b03694ae21029a4e15d6993a67d2f73cfe50 (diff)
use pointers for strings
Diffstat (limited to 'src')
-rw-r--r--src/tunnel.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/tunnel.rs b/src/tunnel.rs
index 27da8eb..779bca9 100644
--- a/src/tunnel.rs
+++ b/src/tunnel.rs
@@ -1,6 +1,6 @@
use crate::{Error, Result};
-use std::ffi::{c_int, CString};
+use std::ffi::{c_char, c_int, CString};
use std::io;
use std::net::{Ipv4Addr, Ipv6Addr};
@@ -29,7 +29,7 @@ impl Sit {
vihl.set_ihl(5);
let p = IpTunnelParm4 {
- name: CString::new(&*name)?,
+ name: CString::new(&*name)?.as_ptr(),
link: unsafe { libc::if_nametoindex(CString::new(&*master)?.as_ptr()) },
i_flags: 0,
o_flags: 0,
@@ -54,7 +54,7 @@ impl Sit {
}
let ifr = IfReq4 {
- name: CString::new("sit0")?,
+ name: CString::new("sit0")?.as_ptr(),
ifru_data: &p,
};
@@ -96,7 +96,7 @@ impl Drop for IpIp6 {
impl IpIp6 {
pub fn new(name: String, master: String, laddr: Ipv6Addr, raddr: Ipv6Addr) -> Result<Self> {
let p = IpTunnelParm6 {
- name: CString::new(&*name)?,
+ name: CString::new(&*name)?.as_ptr(),
link: unsafe { libc::if_nametoindex(CString::new(&*master)?.as_ptr()) },
i_flags: 0,
o_flags: 0,
@@ -113,7 +113,7 @@ impl IpIp6 {
}
let ifr = IfReq6 {
- name: CString::new("ip6tnl0")?,
+ name: CString::new("ip6tnl0")?.as_ptr(),
ifru_data: &p,
};
@@ -142,7 +142,7 @@ impl IpIp6 {
fn delete_tunnel(name: &str) -> Result<()> {
let p = IpTunnelParm4 {
- name: CString::new(name)?,
+ name: CString::new(name)?.as_ptr(),
link: 0,
i_flags: 0,
o_flags: 0,
@@ -163,7 +163,7 @@ fn delete_tunnel(name: &str) -> Result<()> {
};
let ifr = IfReq4 {
- name: CString::new(name)?,
+ name: CString::new(name)?.as_ptr(),
ifru_data: &p,
};
@@ -212,7 +212,7 @@ struct IpHdr4 {
#[derive(Debug)]
#[repr(C)]
struct IpTunnelParm4 {
- name: CString,
+ name: *const c_char,
link: u32,
i_flags: u16,
o_flags: u16,
@@ -224,7 +224,7 @@ struct IpTunnelParm4 {
#[derive(Debug)]
#[repr(C)]
struct IfReq4 {
- name: CString,
+ name: *const c_char,
ifru_data: *const IpTunnelParm4,
}
@@ -238,7 +238,7 @@ struct IpHdr6 {
#[derive(Debug)]
#[repr(C)]
struct IpTunnelParm6 {
- name: CString,
+ name: *const c_char,
link: u32,
i_flags: u16,
o_flags: u16,
@@ -250,6 +250,6 @@ struct IpTunnelParm6 {
#[derive(Debug)]
#[repr(C)]
struct IfReq6 {
- name: CString,
+ name: *const c_char,
ifru_data: *const IpTunnelParm6,
}