summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Saunders <ben.e.saunders@gmail.com>2019-02-08 12:30:11 -0800
committerBenjamin Saunders <ben.e.saunders@gmail.com>2019-02-08 12:50:25 -0800
commitb59eb6b423a0f4b9cfcdcc9e9d58e4812eddc72e (patch)
treea9fc9e80eead1fc58b2e20d7c91af403a07a5086
parentff97bdb074782fc5bbcae88c405d408672726f3d (diff)
downloadrust-libc-b59eb6b423a0f4b9cfcdcc9e9d58e4812eddc72e.tar.gz
Expose IPV6_FLOW* on Linux
-rw-r--r--libc-test/build.rs13
-rw-r--r--src/unix/notbsd/mod.rs6
2 files changed, 18 insertions, 1 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index e0bd795bb0..52304697ff 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -695,7 +695,18 @@ fn do_ctest() {
"AF_MAX" | "PF_MAX" => true,
// These are not in a glibc release yet, only in kernel headers.
- "AF_XDP" | "PF_XDP" | "SOL_XDP" if linux => true,
+ "AF_XDP"
+ | "PF_XDP"
+ | "SOL_XDP"
+ | "IPV6_FLOWINFO"
+ | "IPV6_FLOWLABEL_MGR"
+ | "IPV6_FLOWINFO_SEND"
+ | "IPV6_FLOWINFO_FLOWLABEL"
+ | "IPV6_FLOWINFO_PRIORITY"
+ if linux =>
+ {
+ true
+ }
// Present on historical versions of iOS, but now removed in more
// recent SDKs
diff --git a/src/unix/notbsd/mod.rs b/src/unix/notbsd/mod.rs
index baabd6e84d..d37750646f 100644
--- a/src/unix/notbsd/mod.rs
+++ b/src/unix/notbsd/mod.rs
@@ -774,6 +774,7 @@ pub const IP_RECVTOS: ::c_int = 13;
pub const IP_ADD_MEMBERSHIP: ::c_int = 35;
pub const IP_DROP_MEMBERSHIP: ::c_int = 36;
pub const IP_TRANSPARENT: ::c_int = 19;
+pub const IPV6_FLOWINFO: ::c_int = 11;
pub const IPV6_UNICAST_HOPS: ::c_int = 16;
pub const IPV6_MULTICAST_IF: ::c_int = 17;
pub const IPV6_MULTICAST_HOPS: ::c_int = 18;
@@ -781,11 +782,16 @@ pub const IPV6_MULTICAST_LOOP: ::c_int = 19;
pub const IPV6_ADD_MEMBERSHIP: ::c_int = 20;
pub const IPV6_DROP_MEMBERSHIP: ::c_int = 21;
pub const IPV6_V6ONLY: ::c_int = 26;
+pub const IPV6_FLOWLABEL_MGR: ::c_int = 32;
+pub const IPV6_FLOWINFO_SEND: ::c_int = 33;
pub const IPV6_RECVPKTINFO: ::c_int = 49;
pub const IPV6_PKTINFO: ::c_int = 50;
pub const IPV6_RECVTCLASS: ::c_int = 66;
pub const IPV6_TCLASS: ::c_int = 67;
+pub const IPV6_FLOWINFO_FLOWLABEL: ::c_int = 0x000fffff;
+pub const IPV6_FLOWINFO_PRIORITY: ::c_int = 0x0ff00000;
+
pub const TCP_NODELAY: ::c_int = 1;
pub const TCP_MAXSEG: ::c_int = 2;
pub const TCP_CORK: ::c_int = 3;