| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Bump to 0.2.82
Allow developers to start using ip_mreqn in Fuchsia.
|
| |
| |
| | |
Allow developers to start using ip_mreqn in Fuchsia.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Define basic Linux SocketCAN constants and types
Add definitions from `linux/can.h`, which is a "base" header for remainder of SocketCAN functionality.
CAN bus (ISO-11898) is a communication standard used in automotive, automation and industrial solutions. Linux provides a socket-like interface to access raw CAN and protocols based on CAN, such as ISO-TP(ISO-15765) or SAE-J1939.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add definitions from `linux/can.h`, which is a "base" header for remainder
of SocketCAN functionality.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | | |
Skip CI for some MIPS targets
This failure (https://github.com/rust-lang/libc/pull/1936#issuecomment-712102905) happens again: https://github.com/rust-lang/libc/runs/1659882216
|
|/ / |
|
|\ \
| | |
| | |
| | | |
Add more IFLA_ values
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
Make test suite pass on macOS on aarch64
While working on #2007 I tried to run `cargo test` in `libc-test`, which failed, because the definition of `__darwin_mcontext64` was incomplete (see #1990). This adds definitions for the exception state and the floating point state as well.
`libc-test` still does not pass, because I use the type `[u128; 32]` for the `__v` field of `__darwin_arm_neon_state64` (in C it is `__uint128_t __v[32]`. `ctest2` does not translate `u128` to `__uint128_t` and the generated C code does not compile. Any ideas for working around this?
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Add EPOLLEXCLUSIVE && EPOLLWAKEUP
|
| |/ / |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
aio functions do not require librt on FreeBSD
On FreeBSD, the aio_ functions require librt _only_ if they use
SIGEV_THREAD completion notification. However, due to Rust's originally
poor support for C unions, libc doesn't even expose some of the fields of
struct sigevent that SIGEV_THREAD requires. Accordingly, there is no
need to link librt to programs using aio via libc.
This change partially reverts 8c23f77704d4749f5f137c92a048e22fea9d385e
from PR #1630 .
While I'm here, fix the linkage of lio_listio on DragonflyBSD. It
_does_ require librt.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On FreeBSD, the aio_ functions require librt _only_ if they use
SIGEV_THREAD completion notification. However, due to Rust's originally
poor support for C unions, libc doesn't even expose some of the fields of
struct sigevent that SIGEV_THREAD requires. Accordingly, there is no
need to link librt to programs using aio via libc.
This change partially reverts 8c23f77704d4749f5f137c92a048e22fea9d385e
from PR #1630 .
While I'm here, fix the linkage of lio_listio on DragonflyBSD. It
_does_ require librt.
|
|\ \
| | |
| | |
| | | |
Add SO_DOMAIN constants to FreeBSD
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Define IP_FREEBIND for Fuchsia
https://cs.opensource.google/fuchsia/fuchsia/+/master:zircon/third_party/ulib/musl/include/netinet/in.h;l=196;drc=bdf60afa9193c8a9190ee6bb6b5a0a11ad8876b6
|
| |/
| |
| |
| | |
https://cs.opensource.google/fuchsia/fuchsia/+/master:zircon/third_party/ulib/musl/include/netinet/in.h;l=196;drc=bdf60afa9193c8a9190ee6bb6b5a0a11ad8876b6
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Define IFNAMSIZ for Fuchsia
https://cs.opensource.google/fuchsia/fuchsia/+/master:zircon/third_party/ulib/musl/include/net/if.h;l=72;drc=bdf60afa9193c8a9190ee6bb6b5a0a11ad8876b6
|
| |/
| |
| |
| | |
https://cs.opensource.google/fuchsia/fuchsia/+/master:zircon/third_party/ulib/musl/include/net/if.h;l=72;drc=bdf60afa9193c8a9190ee6bb6b5a0a11ad8876b6
|
|\ \
| |/
|/|
| |
| |
| | |
Fix symbols names on macOS aarch64
libSystem on macOS Big Sur on aarch64 exports these symbols without the `$suffix`es. See also: https://github.com/GuillaumeGomez/sysinfo/issues/372
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Define CLD_ constants for more targets
This is an extension of #1860 to support more targets. The values for these constants should be correct, but I'm not familiar with most of the targets, so they should be verified.
These files should define the constants too, but the targets are closed source, so I don't know their values:
- [src/unix/solarish/mod.rs](https://github.com/rust-lang/libc/blob/master/src/unix/solarish/mod.rs)
- [src/vxworks/mod.rs](https://github.com/rust-lang/libc/blob/master/src/vxworks/mod.rs)
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Add ip_mreqn for Fuchsia
Adds the ip_mreqn struct for the Fuchsia platform, as defined by ip(7).
Enables joining an IPv4 multicast group by NIC ID rather than by its
assigned IPv4 address.
|
|/
|
|
|
|
| |
Adds the ip_mreqn struct for the Fuchsia platform, as defined by ip(7).
Enables joining an IPv4 multicast group by NIC ID rather than by its
assigned IPv4 address.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Declare statfs MAGIC constants as c_uint on s390x
Hi, I work in container development on Linux on Z at IBM.
On s390x (IBM Z) in GNU/Linux, a statfs `f_type` is 4 bytes wide, contrary to 8 bytes on most architectures.
This is already implemented in libc:
```sh
$ grep -r f_type src/unix/linux_like/linux/gnu/b64 | uniq
src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs: pub f_type: ::__fsword_t,
src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs: pub f_type: ::__fsword_t,
src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs: pub f_type: ::__fsword_t,
src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs: pub f_type: ::c_long,
src/unix/linux_like/linux/gnu/b64/mips64/mod.rs: pub f_type: ::c_long,
src/unix/linux_like/linux/gnu/b64/s390x.rs: pub f_type: ::c_uint, # s390x is uint
src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs: pub f_type: ::__fsword_t,
```
However, the `*_MAGIC` constants (such as `EXT4_SUPER_MAGIC`) in `src/unix/linux_like/linux/gnu/mod.rs` are defined as `c_long`, when they should be `c_uint` on s390x.
This ends up biting me [here](https://github.com/kata-containers/cgroups-rs/blob/master/src/hierarchies.rs#L231).
Thus, I suggest the attached change to only define these constants for architectures other than s390x and instead define them as uint for s390x.
This is safe since none of the constants are any wider than 32bit.
Please let me know if you think this could be done more elegantly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, statfs MAGIC constants like EXT4_SUPER_MAGIC were defined as c_long
for linux-gnu, whereas a statfs f_type is a c_uint on s390x. This commit
exempts these definitions from s390x and instead defines these constants as
c_uint on s390x. This is safe as none of these constants are wider than 32bit.
Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Populate mcontext_t on aarch64-linux-musl
It is used by wasmtime.
Should address https://github.com/bytecodealliance/wasmtime/issues/2133
|
|/
|
|
| |
It is used by wasmtime.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Make si_status method more compatible
Now that [this PR](https://github.com/rust-lang/libc/pull/1858/files) has been merged, `siginfo_t::si_status` is a method for some targets and a field on others. This PR adds the method on targets that already expose the field, which lets the method be used without target detection.
I think this change is backward compatible, but it would be better if someone else could confirm that. The struct would now have a method and a field with the same name on some targets. If that's incompatible, another method could be added that accesses the field or calls the method depending on the target, but this is cleaner.
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Android: make statfs64.f_fsid public
This has been the case since the initial commit
a36da11fb9cfcafcee6cb263bf1dc2c84371730a. But there is no reason to hide
this struct member specifically.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The visibility has been not public since the initial commit[1]. But there
is no reason to hide this struct member specifically.
The type has also been "__fsid_t" in Android's bionic[2], so fix that as
well. This makes it consistent with statfs.f_fsid nicely.
[1] a36da11fb9cfcafcee6cb263bf1dc2c84371730a
[2] https://cs.android.com/search?q=file:bionic%2Flibc%20f_fsid
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Document the policy about breaking change
Closes #1948
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Fix `thread_state64` on `aarch64-apple-darwin`
Fixes #1977
|