| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Add FreeBSD `get[pw|gr]ent_r`, forgotten in #934
Sorry, accidentally forgot this when submitting #934..
|
|/
|
|
| |
Sorry, accidentally forgot this when submitting #934..
|
|\
| |
| |
| |
| |
| |
| |
| | |
Add passwd/group APIs needed for nix-rust/nix#864
Hope I did this right. I only added platforms I could personally test. . .
cc: @gnzlbg
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use pre-ino64 FreeBSD symbols to resolve binary compatibility.
This follows the same method as other platforms like OSX and NetBSD.
This will fix rustup and building from git (once libc is updated for bootstrap)
on FreeBSD12 post-ino64 in https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a.
It also avoids having to hotpatch the stage0 compiler, and HOME/.cargo
libc files on FreeBSD12 to build rust.
The only real pitfall is that this will prevent interaction with inodes that
have an ino_t above the 32-bit limit due to truncation. On the other hand
Rust won't work at all on 12 without doing this currently. In general
it should not be a problem for users and if they need 64-bit ino_t they
can use a patched libc, rather than the current state of affairs in
requiring a patched libc to use Rust on 12.
A better, or complementary, approach would be something like proposed in
https://github.com/rust-lang/rfcs/pull/2048 to allow targetting a specific
version of FreeBSD. This would allow Rust to default to this compatibility
mode by targetting FreeBSD10 and still allow targetting FreeBSD12 for 64-bit
ino_t.
The symbol versions used were taken from the old version in
https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a#diff-61a32fcfb7ecd4517665fed591813c57
and
https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a#diff-7f67ccf8b5f44ff2f54eaab0207abb8d.
The scope of functions versioned here differs from other platforms as
not all structs were modified that were on others, such as DIR for
`opendir`, `telldir`, etc. Only functions using dirent, stat, glob_t,
and dev_t need the changes.
Fixes https://github.com/rust-lang/rust/issues/42681
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This follows the same method as other platforms like OSX and NetBSD.
This will fix rustup and building from git (once libc is updated for bootstrap)
on FreeBSD12 post-ino64 in https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a.
It also avoids having to hotpatch the stage0 compiler, and HOME/.cargo
libc files on FreeBSD12 to build rust.
The only real pitfall is that this will prevent interaction with inodes that
have an ino_t above the 32-bit limit due to truncation. On the other hand
Rust won't work at all on 12 without doing this currently. In general
it should not be a problem for users and if they need 64-bit ino_t they
can use a patched libc, rather than the current state of affairs in
requiring a patched libc to use Rust on 12.
A better, or complementary, approach would be something like proposed in
https://github.com/rust-lang/rfcs/pull/2048 to allow targetting a specific
version of FreeBSD. This would allow Rust to default to this compatibility
mode by targetting FreeBSD10 and still allow targetting FreeBSD12 for 64-bit
ino_t.
The symbol versions used were taken from the old version in
https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a#diff-61a32fcfb7ecd4517665fed591813c57
and
https://github.com/freebsd/freebsd/commit/f713b08c027de35b0b8ed9990eabc32e100bee7a#diff-7f67ccf8b5f44ff2f54eaab0207abb8d.
The scope of functions versioned here differs from other platforms as
not all structs were modified that were on others, such as DIR for
`opendir`, `telldir`, etc. Only functions using dirent, stat, glob_t,
and dev_t need the changes.
Fixes https://github.com/rust-lang/rust/issues/42681
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Link against kevent@FBSD_1.0 to fix ABI compat with FreeBSD12.
struct kevent was modified in FreeBSD12. The @FBSD_1.0 symbol supports the old
structure ABI still.
This allows the `mio` crate tests to now pass on FreeBSD12.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
struct kevent was modified in FreeBSD12. The @FBSD_1.0 symbol supports the old
structure ABI still.
This allows the `mio` crate tests to now pass on FreeBSD12.
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add Solaris constants needed by net2
The added constants are
IPV6_UNICAST_HOPS,
IPV6_MULTICAST_IF,
IPV6_MULTICAST_HOPS,
IP_MULTICAST_IF.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The added constants are
IPV6_UNICAST_HOPS,
IPV6_MULTICAST_IF,
IPV6_MULTICAST_HOPS,
IP_MULTICAST_IF.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Add IPV6_UNICAST_HOPS to fuchsia module
Recent change #925 added constants for IPV6 multicast, but seems to have inadvertently left off IPV6_UNICAST_HOPS from the fuchsia module.
Fixes #932
|
|/
|
|
|
|
|
| |
Recent change #925 added constants for IPV6 multicast, but seems
to have inadvertently left off IPV6_UNICAST_HOPS from fuchsia.
Fixes #932
|
|\
| |
| |
| | |
Add posix_spawn bindings for FreeBSD
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Fix --no-default-features builds
Closes #928 #929 #684
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bump to 0.2.37
This includes:
- more multicast fields
- netfilter/nftables fields
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Add netfilter/nftables fields
Adding a few missing `NF_` constants to more complete the story around that header. Then most importantly add a lot of `NFT_` constants needed in my nftables library. Some were added back in #911, but as the library grew I realized I needed more constants.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Was able to move some of them up one level so they are valid on more
platforms with less duplication
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
add IPV6_MULTICAST_IF and IPV6_MULTICAST_HOPS
These were missing from the net2 crate. Adding them here so that the higher functions can be added to net2 later. They are necessary for declaring the interface for ipv6 multicast packets (route), and limits on the number of hops an ipv6 packet can travel
Linux reference: https://github.com/torvalds/linux/blob/master/include/uapi/linux/in6.h#L168-L170
macOS reference: https://github.com/apple/darwin-xnu/blob/master/bsd/netinet6/in6.h#L538-L540
|
| | | |
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add ETH_* constants on Android
Adding ETH_* constants that were found here on Linux but not on Android.
Source Reference is [linux/if_ether.h](https://android.googlesource.com/platform/bionic/+/master/libc/kernel/uapi/linux/if_ether.h) on Google OpenSource.
Thank-you.
/cc nix-rust/nix#865
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| | |
Add netlink structs to all notbsd platforms
Adding the remaining structs from `<linux/netlink.h>`. Sadly very duplicated, but that's how it ended up when added to all "notbsd" platforms except musl. If there is a better way to structure it to reduce duplication I'm all ears!
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prefer hexadecimal representation of O_TMPFILE on linux-sparc64
While working on the libc bindings for sparc-linux, I stumbled across this typo in the O_TMPFILE definition on linux-sparc64.
Compare with:
> https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/sparc/bits/fcntl.h;hb=16efad5171ac1ac2c8728405f2703045f08c494b#l42
> https://sources.debian.org/src/glibc/2.26-6/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h/#L42
CC @jrtc27
|
|/ |
|