Skip to content

Commit 3aeb292

Browse files
committed
Make ifaddrs.ifa_ifu an union
1 parent 434d034 commit 3aeb292

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_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_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_ifa_ifu {
1327+
fn eq(&self, other: &__c_anonymous_ifa_ifu) -> bool {
1328+
unimplemented!("traits")
1329+
}
1330+
}
1331+
impl Eq for __c_anonymous_ifa_ifu {}
1332+
impl hash::Hash for __c_anonymous_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_ifa_ifu,
172172
pub ifa_data: *mut c_void,
173173
}
174174

@@ -331,6 +331,11 @@ s_no_extra_traits! {
331331
pub sigev_notify: c_int,
332332
pub _sigev_un: __c_anonymous_sigev_un,
333333
}
334+
335+
pub union __c_anonymous_ifa_ifu {
336+
ifu_broadaddr: *mut sockaddr,
337+
ifu_dstaddr: *mut sockaddr,
338+
}
334339
}
335340

336341
cfg_if! {
@@ -434,6 +439,18 @@ cfg_if! {
434439
self.domainname.hash(state);
435440
}
436441
}
442+
443+
impl PartialEq for __c_anonymous_ifa_ifu {
444+
fn eq(&self, other: &__c_anonymous_ifa_ifu) -> bool {
445+
unimplemented!("traits")
446+
}
447+
}
448+
impl Eq for __c_anonymous_ifa_ifu {}
449+
impl hash::Hash for __c_anonymous_ifa_ifu {
450+
fn hash<H: hash::Hasher>(&self, state: &mut H) {
451+
unimplemented!("traits")
452+
}
453+
}
437454
}
438455
}
439456

0 commit comments

Comments
 (0)