Deprecate fixed width integer type aliases
cc @emilio - I think it makes sense to ensure that the latest released version of bindgen works properly with this change. That is, that even when asked to use C types from, e.g., `libc::`, it does not use aliases for the fixed-width integer C types (e.g. `libc::int64_t`) but uses Rust primitive types instead (e.g. `u64`).
Closes#1304 .
Correct datatype for various termios constants
This was a part of #625, but I moved it to a separate PR as it's a breaking change and those are currently blocked for Tier 1 platforms.
[breaking change] Cleanup linux and update MUSL
* Update MUSL kernel headers to 4.4.2 (non-breaking)
* [breaking] `MADV_SOFT_OFFLINE` is not defined on MIPS
* [breaking] `sendmmsg`/`recvmmsg` take an `unsigned int` flag on MUSL
* [breaking] `pthread_t` is a pointer on MUSL
* `rlimit` resources should use a type alias on GNU (non-breaking)
* Deprecate `SIGNUNUSED` (should use SIGSYS instead)
Manually implement extra traits for `mq_attr` and `sockaddr_nl`
Avoid including padding fields in extra trait implementations as these fields aren't guaranteed to be 0 or some other sensible value.
Closes#1302
`nl_pad` field does not contain any actual data, so using it for
comparison or hashing doesn't make sense. Instead manually implement
extra traits ignoring this field.
The `pad` or `__reserved` fields are not always 0 on some platforms,
so when used in the `PartialEq` implementation being used, fails some
comparisons. This commit manually implements the extra traits to
correct this behavior.
Deprecate mach APIs: users should use the `mach` crate instead.
See #981, the mach APIs have breaking changes from MacOSX SDK release to release, and that's pretty much what the users are seeing here. We are currently not exposing that many `mach` APIs in `libc`, so this PR deprecates them, forwarding users to use the `mach` crate instead, which provides the mach user-space APIs, is tested against multiple SDK versions, handles removed/deprecated/breaking API changes/etc. Doing all of that in `libc` feels overkill.
Closes#981 .