Skip to content

Commit cbb9b0b

Browse files
kelldatgross35
authored andcommitted
Make ifaddrs.ifa_ifu an union
1 parent 366c8eb commit cbb9b0b

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

src/fuchsia/mod.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ s! {
462462
pub ifa_flags: c_uint,
463463
pub ifa_addr: *mut crate::sockaddr,
464464
pub ifa_netmask: *mut crate::sockaddr,
465-
pub ifa_ifu: *mut crate::sockaddr, // FIXME(union) This should be a union
465+
pub ifa_ifu: __c_anonymous_ifaddrs_ifa_ifu,
466466
pub ifa_data: *mut c_void,
467467
}
468468

@@ -1043,6 +1043,11 @@ s_no_extra_traits! {
10431043
pub sival_int: c_int,
10441044
pub sival_ptr: *mut c_void,
10451045
}
1046+
1047+
pub union __c_anonymous_ifaddrs_ifa_ifu {
1048+
ifu_broadaddr: *mut sockaddr,
1049+
ifu_dstaddr: *mut sockaddr,
1050+
}
10461051
}
10471052

10481053
cfg_if! {
@@ -1317,6 +1322,18 @@ cfg_if! {
13171322
unimplemented!("traits")
13181323
}
13191324
}
1325+
1326+
impl PartialEq for __c_anonymous_ifaddrs_ifa_ifu {
1327+
fn eq(&self, _other: &__c_anonymous_ifaddrs_ifa_ifu) -> bool {
1328+
unimplemented!("traits")
1329+
}
1330+
}
1331+
impl Eq for __c_anonymous_ifaddrs_ifa_ifu {}
1332+
impl hash::Hash for __c_anonymous_ifaddrs_ifa_ifu {
1333+
fn hash<H: hash::Hasher>(&self, _state: &mut H) {
1334+
unimplemented!("traits")
1335+
}
1336+
}
13201337
}
13211338
}
13221339

src/unix/linux_like/mod.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ s! {
168168
pub ifa_flags: c_uint,
169169
pub ifa_addr: *mut crate::sockaddr,
170170
pub ifa_netmask: *mut crate::sockaddr,
171-
pub ifa_ifu: *mut crate::sockaddr, // FIXME(union) This should be a union
171+
pub ifa_ifu: __c_anonymous_ifaddrs_ifa_ifu,
172172
pub ifa_data: *mut c_void,
173173
}
174174

@@ -335,6 +335,11 @@ s_no_extra_traits! {
335335
pub sigev_notify: c_int,
336336
pub _sigev_un: __c_anonymous_sigev_un,
337337
}
338+
339+
pub union __c_anonymous_ifaddrs_ifa_ifu {
340+
ifu_broadaddr: *mut sockaddr,
341+
ifu_dstaddr: *mut sockaddr,
342+
}
338343
}
339344

340345
cfg_if! {
@@ -438,6 +443,18 @@ cfg_if! {
438443
self.domainname.hash(state);
439444
}
440445
}
446+
447+
impl PartialEq for __c_anonymous_ifaddrs_ifa_ifu {
448+
fn eq(&self, _other: &__c_anonymous_ifaddrs_ifa_ifu) -> bool {
449+
unimplemented!("traits")
450+
}
451+
}
452+
impl Eq for __c_anonymous_ifaddrs_ifa_ifu {}
453+
impl hash::Hash for __c_anonymous_ifaddrs_ifa_ifu {
454+
fn hash<H: hash::Hasher>(&self, _state: &mut H) {
455+
unimplemented!("traits")
456+
}
457+
}
441458
}
442459
}
443460

0 commit comments

Comments
 (0)