Repository navigation
Conversation
Only a handful of `IPPROTO_*` values were bound, and many common IPv4 and IPv6 socket options were missing. Add the remaining `IPPROTO_*` values, the `IP_RECV*`, `IP_NEXTHOP` and `IPV6_*` socket options, the RFC 3678 `MCAST_*` options, `IPV6_PREFER_SRC_*`, and the `IPTOS_*`, `IPOPT_*` and limit constants from `<netinet/ip.h>`. Types follow the other platforms (`c_int` for socket options and protocol numbers, `u8` for header field values). `IPPROTO_MH`, `IPPROTO_HIP` and `IPPROTO_SHIM6` go in the illumos module since I could not confirm that Solaris defines them; everything else is long-standing OpenSolaris API and goes in the shared module. netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L154-L186 netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L913-L937 netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1013-L1014 netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1126-L1127 netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1229-L1293 netinet/ip.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/ip.h#L34-L177
Collaborator
Member
|
Rewrite commit messages and PR descriptions by hand, then you may unmark as a draft. See https://forge.rust-lang.org/policies/llm-usage.html#-banned. |
tgross35
marked this pull request as draft
November 5, 2026 22:51
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Only a handful of
IPPROTO_*values were bound, and many common IPv4and IPv6 socket options were missing. Add the remaining
IPPROTO_*values, the
IP_RECV*,IP_NEXTHOPandIPV6_*socket options, theRFC 3678
MCAST_*options,IPV6_PREFER_SRC_*, and theIPTOS_*,IPOPT_*and limit constants from<netinet/ip.h>.Types follow the other platforms (
c_intfor socket options andprotocol numbers,
u8for header field values).IPPROTO_MH,IPPROTO_HIPandIPPROTO_SHIM6go in the illumos modulesince I could not confirm that Solaris defines them; everything else is
long-standing OpenSolaris API and goes in the shared module.
netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L154-L186
netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L913-L937
netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1013-L1014
netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1126-L1127
netinet/in.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/in.h#L1229-L1293
netinet/ip.h: https://github.com/illumos/illumos-gate/blob/b56614870515295c253babb2b10fffdd3c60fdbe/usr/src/uts/common/netinet/ip.h#L34-L177
Testing
cargo checkforx86_64-unknown-illumos,aarch64-unknown-illumos,x86_64-pc-solarisandsparcv9-sun-solaris(with-Dwarnings).libc-test/semverlists compiles forillumos and Solaris; new constant values were cross-checked
mechanically against the illumos-gate headers.
ci/style.pychecks (rustfmt, sorted/unique semver lists, style test).CC=clang cargo test -p libc-teston OmniOS r151060 (x86_64): passes@rustbot label stable-nominated
🤖 Generated with Claude Code
https://claude.ai/code/session_01PUjq5rfL3s7TbKS3PeAE5K