Skip to content

Commit 73d06ad

Browse files
committed
Merge pull request #9 from polachok/various-fixes
Various fixes
2 parents 46d7f2b + b35d334 commit 73d06ad

2 files changed

Lines changed: 6 additions & 8 deletions

File tree

src/netmap.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use libc::{c_int, c_uint, c_ulong, c_char, timeval, ssize_t};
1+
use libc::{c_int, c_uint, c_ulong, c_char, timeval, ssize_t, IF_NAMESIZE};
22

3-
pub const IF_NAMESIZE: usize = 16;
43
pub const IFNAMSIZ: usize = IF_NAMESIZE;
54

65
pub const NETMAP_API: c_int = 11;
@@ -47,6 +46,7 @@ pub struct netmap_ring {
4746

4847
pub ts: timeval,
4948

49+
_padding: [u8; 72],
5050
pub sem: [u8; 128], // FIXME __attribute__((__aligned__(NM_CACHE_ALIGN)))
5151

5252
pub slot: [netmap_slot; 0], // FIXME Check struct size/field alignment
@@ -79,8 +79,6 @@ pub struct netmap_if {
7979

8080
pub const NI_PRIV_MEM: c_int = 0x1;
8181

82-
pub const SIZEOF_NR_NAME: usize = IFNAMSIZ;
83-
8482
#[repr(C)]
8583
#[derive(Clone, Copy)]
8684
pub struct nmreq {
@@ -142,9 +140,9 @@ pub const NIOCGINFO: c_ulong = 3225184657;
142140
#[cfg(target_os = "linux")]
143141
pub const NIOCREGIF: c_ulong = 3225184658;
144142
#[cfg(target_os = "linux")]
145-
pub const NIOTXSYNC: c_uint = 27028;
143+
pub const NIOCTXSYNC: c_uint = 27028;
146144
#[cfg(target_os = "linux")]
147-
pub const NIORXSYNC: c_uint = 27029;
145+
pub const NIOCRXSYNC: c_uint = 27029;
148146
#[cfg(target_os = "linux")]
149147
pub const NIOCCONFIG: c_ulong = 3239078294;
150148

src/netmap_user.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ pub unsafe fn NETMAP_IF<U>(_base: *mut U, _ofs: isize) -> *mut netmap_if {
2424
// FIXME It's possible the pointer arithmetic here uses the wrong integer types.
2525
#[inline(always)]
2626
pub unsafe fn NETMAP_TXRING(nifp: *mut netmap_if, index: isize) -> *mut netmap_ring {
27-
let ptr = (&mut (*nifp).ring_ofs as *mut [isize; 0]) as *mut c_void;
27+
let ptr = (&mut (*nifp).ring_ofs as *mut [isize; 0]) as *mut isize;
2828
_NETMAP_OFFSET(nifp, *(ptr.offset(index) as *mut isize))
2929
}
3030

3131
#[inline(always)]
3232
pub unsafe fn NETMAP_RXRING(nifp: *mut netmap_if, index: isize) -> *mut netmap_ring {
33-
let ptr = (&mut (*nifp).ring_ofs as *mut [isize; 0]) as *mut c_void;
33+
let ptr = (&mut (*nifp).ring_ofs as *mut [isize; 0]) as *mut isize;
3434
_NETMAP_OFFSET(nifp, *(ptr.offset(index + (*nifp).ni_tx_rings as isize + 1) as *mut isize))
3535
}
3636

0 commit comments

Comments
 (0)