summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-10-16 10:56:10 +0000
committerbors <bors@rust-lang.org>2019-10-16 10:56:10 +0000
commit5daf8361e8f1ba59b3ee478c2fd20caf45faf9b6 (patch)
tree43f7d9e5eaf6fb195095f9169156005020b2d628
parent7b31ef34ede6860ce2a4cfeeef01b02f8120a607 (diff)
parent01992c085ee7c787420b64026f29b1f40b170470 (diff)
downloadrust-libc-5daf8361e8f1ba59b3ee478c2fd20caf45faf9b6.tar.gz
Auto merge of #1551 - senden9:fixes/uclibc_net_const, r=gnzlbg
Add networking and futex constants for uclibc I needed this variables to run some rust program that uses `net2` on a embedded Linux platform. This platform has as MIPS 74Kc CPU and uses uclibc. "Proof" that this variables are the same under all uclibc targets: <details> <summary>IP constants</summary> ``` ➜ uClibc git:(master) git remote -v origin git@github.com:kraj/uClibc.git (fetch) origin git@github.com:kraj/uClibc.git (push) ➜ uClibc git:(master) git describe --tags v0.9.33-984-gca1c74d67 ➜ uClibc git:(master) rg -t h -i "define IPV6_MULTICAST_HOPS" libc/sysdeps/linux/common/bits/in.h 142:#define IPV6_MULTICAST_HOPS 18 ➜ uClibc git:(master) rg -t h -i "define IP_MULTICAST_IF" libc/sysdeps/linux/common/bits/in.h 35:#define IP_MULTICAST_IF 32 /* in_addr; set/get IP multicast i/f */ ➜ uClibc git:(master) rg -t h -i "define IPV6_MULTICAST_IF" libc/sysdeps/linux/common/bits/in.h 141:#define IPV6_MULTICAST_IF 17 ➜ uClibc git:(master) rg -t h -i "define IPV6_UNICAST_HOPS" libc/sysdeps/linux/common/bits/in.h 140:#define IPV6_UNICAST_HOPS 16 ``` </details> <details> <summary>FUTEX_WAIT</summary> ``` ➜ uClibc git:(master) rg -t h -i "define FUTEX_WAIT\W" libpthread/nptl/sysdeps/unix/sysv/linux/mips/lowlevellock.h 29:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 31:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.h 29:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.h 29:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h 28:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 32:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 47:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 29:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 46:#define FUTEX_WAIT 0 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 29:#define FUTEX_WAIT 0 ``` </details> </details> <details> <summary>FUTEX_PRIVATE_FLAG</summary> ``` ➜ uClibc git:(master) rg -t h -i "define FUTEX_PRIVATE_FLAG\W" libpthread/nptl/sysdeps/unix/sysv/linux/mips/lowlevellock.h 40:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 42:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 43:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 38:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.h 40:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h 39:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 40:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.h 40:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 57:#define FUTEX_PRIVATE_FLAG 128 libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 58:#define FUTEX_PRIVATE_FLAG 128 ``` </details> <details> <summary>FUTEX_WAKE</summary> ``` ➜ uClibc git:(master) rg -t h -i "define FUTEX_WAKE\W" libpthread/nptl/sysdeps/unix/sysv/linux/mips/lowlevellock.h 30:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.h 30:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/arm/lowlevellock.h 29:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 33:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 32:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 30:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 30:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.h 30:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 47:#define FUTEX_WAKE 1 libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 48:#define FUTEX_WAKE 1 ``` </details>
-rw-r--r--src/unix/uclibc/arm/mod.rs4
-rw-r--r--src/unix/uclibc/mod.rs16
2 files changed, 16 insertions, 4 deletions
diff --git a/src/unix/uclibc/arm/mod.rs b/src/unix/uclibc/arm/mod.rs
index 41dd7100df..613a11fbab 100644
--- a/src/unix/uclibc/arm/mod.rs
+++ b/src/unix/uclibc/arm/mod.rs
@@ -408,10 +408,6 @@ pub const F_SETLKW: ::c_int = 0x7;
pub const HUPCL: ::tcflag_t = 0x400;
pub const ICANON: ::tcflag_t = 0x2;
pub const IEXTEN: ::tcflag_t = 0x8000;
-pub const IPV6_MULTICAST_HOPS: ::c_int = 0x12;
-pub const IPV6_MULTICAST_IF: ::c_int = 0x11;
-pub const IPV6_UNICAST_HOPS: ::c_int = 0x10;
-pub const IP_MULTICAST_IF: ::c_int = 0x20;
pub const ISIG: ::tcflag_t = 0x1;
pub const IUTF8: ::tcflag_t = 0x4000;
pub const IXOFF: ::tcflag_t = 0x1000;
diff --git a/src/unix/uclibc/mod.rs b/src/unix/uclibc/mod.rs
index 986b05ca0b..c479f40016 100644
--- a/src/unix/uclibc/mod.rs
+++ b/src/unix/uclibc/mod.rs
@@ -891,6 +891,22 @@ pub const TCP_INFO: ::c_int = 11;
pub const TCP_QUICKACK: ::c_int = 12;
pub const TCP_CONGESTION: ::c_int = 13;
+// Source:
+// https://github.com/kraj/uClibc/blob/ca1c74d67dd115d059a875150e10b8560a9c35a8
+// /libc/sysdeps/linux/common/bits/in.h
+// Same for all architectures
+pub const IPV6_MULTICAST_HOPS: ::c_int = 18;
+pub const IP_MULTICAST_IF: ::c_int = 32;
+pub const IPV6_MULTICAST_IF: ::c_int = 17;
+pub const IPV6_UNICAST_HOPS: ::c_int = 16;
+
+// Source:
+// https://github.com/kraj/uClibc/tree/ca1c74d67dd115d059a875150e10b8560a9c35a8
+// Same for all architectures
+pub const FUTEX_WAIT: ::c_int = 0;
+pub const FUTEX_PRIVATE_FLAG: ::c_int = 128;
+pub const FUTEX_WAKE: ::c_int = 1;
+
pub const IPV6_MULTICAST_LOOP: ::c_int = 19;
pub const IPV6_V6ONLY: ::c_int = 26;