illumos: rust issues related to ifa_flags
The compilation of 1.24.3 fails on illumos with these ifa_flags
related issues:
error[E0412]: cannot find crate `c_int` in the list of imported crates
--> ../../gstreamer-1.24.3/libs/gst/helpers/ptp/ffi.rs:229:32
|
229 | pub const IFF_MULTICAST: ::c_int = 0x0800;
| ^^^^^ not found in the list of imported crates
|
help: consider importing one of these items
|
14 + use core::ffi::c_int;
|
14 + use crate::ffi::unix::clock_gettime::c_int;
|
14 + use std::ffi::c_int;
|
14 + use std::os::raw::c_int;
|
help: if you import `c_int`, refer to it directly
|
229 - pub const IFF_MULTICAST: ::c_int = 0x0800;
229 + pub const IFF_MULTICAST: c_int = 0x0800;
|
error[E0308]: mismatched types
--> ../../gstreamer-1.24.3/libs/gst/helpers/ptp/net.rs:119:24
|
119 | if flags & IFF_LOOPBACK as u32 != 0 {
| ^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
error[E0277]: no implementation for `u64 & u32`
--> ../../gstreamer-1.24.3/libs/gst/helpers/ptp/net.rs:119:22
|
119 | if flags & IFF_LOOPBACK as u32 != 0 {
| ^ no implementation for `u64 & u32`
|
= help: the trait `BitAnd<u32>` is not implemented for `u64`
= help: the following other types implement trait `BitAnd<Rhs>`:
<u64 as BitAnd>
<u64 as BitAnd<&u64>>
<&'a u64 as BitAnd<u64>>
<&u64 as BitAnd<&u64>>
error[E0308]: mismatched types
--> ../../gstreamer-1.24.3/libs/gst/helpers/ptp/net.rs:123:24
|
123 | if flags & IFF_UP as u32 == 0 {
| ^^^^^^^^^^^^^ expected `u64`, found `u32`
error[E0277]: no implementation for `u64 & u32`
--> ../../gstreamer-1.24.3/libs/gst/helpers/ptp/net.rs:123:22
|
123 | if flags & IFF_UP as u32 == 0 {
| ^ no implementation for `u64 & u32`
|
= help: the trait `BitAnd<u32>` is not implemented for `u64`
= help: the following other types implement trait `BitAnd<Rhs>`:
<u64 as BitAnd>
<u64 as BitAnd<&u64>>
<&'a u64 as BitAnd<u64>>
<&u64 as BitAnd<&u64>>
error: aborting due to 5 previous errors