Skip to content

Commit 885148d

Browse files
committed
solarish: define IP_BOUND_IF and IPV6_BOUND_IF
# Description These socket options are currently defined only on macOS and friends, but they exist on illumos and Solaris as well. This commit defines these socket options on solarish operating systems. # Sources On Solaris, see the man page [`ip(7P)`]. I'd like to provide a link to the illumos manual pages, but apparently https://illumos.org/man seems to be impacted by today's AWS outage. The constants are defined in `/usr/include/netinet/in.h`: ```console eliza@atrium ~ $ uname -a SunOS atrium 5.11 helios-2.0.22827 i86pc i386 i86pc eliza@atrium ~ $ rg 'IP(V6)?_BOUND_IF' /usr/include /usr/include/netinet/in.h 978:#define IP_BOUND_IF 0x41 /* bind socket to an ifindex */ 1311:#define IPV6_BOUND_IF 0x41 /* bind to an ifindex */ ``` [`ip(7P)`]: https://docs.oracle.com/cd/E86824_01/html/E54777/ip-7p.html # Checklist - [x] Relevant tests in `libc-test/semver` have been updated - [x] No placeholder or unstable values like `*LAST` or `*MAX` are included (see [#3131](#3131)) - [x] Tested locally (`cd libc-test && cargo test --target mytarget`); especially relevant for platforms that may not be checked in CI
1 parent 268e1b3 commit 885148d

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

libc-test/semver/solarish.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
AIO_ALLDONE
22
AIO_CANCELED
33
AIO_NOTCANCELED
4+
IPV6_BOUND_IF
45
IPV6_DONTFRAG
56
IPV6_PKTINFO
67
IPV6_RECVTCLASS
78
IPV6_TCLASS
9+
IP_BOUND_IF
810
IP_DONTFRAG
911
IP_PKTINFO
1012
IP_TOS

src/unix/solarish/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,6 +1148,7 @@ pub const IPV6_DONTFRAG: c_int = 0x21;
11481148
pub const IPV6_SEC_OPT: c_int = 0x22;
11491149
pub const IPV6_TCLASS: c_int = 0x26;
11501150
pub const IPV6_V6ONLY: c_int = 0x27;
1151+
pub const IPV6_BOUND_IF: c_int = 0x41;
11511152

11521153
cfg_if! {
11531154
if #[cfg(target_pointer_width = "64")] {
@@ -1691,6 +1692,7 @@ pub const IP_ADD_SOURCE_MEMBERSHIP: c_int = 23;
16911692
pub const IP_DROP_SOURCE_MEMBERSHIP: c_int = 24;
16921693
pub const IP_BLOCK_SOURCE: c_int = 21;
16931694
pub const IP_UNBLOCK_SOURCE: c_int = 22;
1695+
pub const IP_BOUND_IF: c_int = 0x41;
16941696

16951697
// These TCP socket options are common between illumos and Solaris, while higher
16961698
// numbers have generally diverged:

0 commit comments

Comments
 (0)