Skip to content

Commit 5daf836

Browse files
committed
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 [email protected]:kraj/uClibc.git (fetch) origin [email protected]: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>
2 parents 7b31ef3 + 01992c0 commit 5daf836

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/unix/uclibc/arm/mod.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -408,10 +408,6 @@ pub const F_SETLKW: ::c_int = 0x7;
408408
pub const HUPCL: ::tcflag_t = 0x400;
409409
pub const ICANON: ::tcflag_t = 0x2;
410410
pub const IEXTEN: ::tcflag_t = 0x8000;
411-
pub const IPV6_MULTICAST_HOPS: ::c_int = 0x12;
412-
pub const IPV6_MULTICAST_IF: ::c_int = 0x11;
413-
pub const IPV6_UNICAST_HOPS: ::c_int = 0x10;
414-
pub const IP_MULTICAST_IF: ::c_int = 0x20;
415411
pub const ISIG: ::tcflag_t = 0x1;
416412
pub const IUTF8: ::tcflag_t = 0x4000;
417413
pub const IXOFF: ::tcflag_t = 0x1000;

src/unix/uclibc/mod.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,22 @@ pub const TCP_INFO: ::c_int = 11;
891891
pub const TCP_QUICKACK: ::c_int = 12;
892892
pub const TCP_CONGESTION: ::c_int = 13;
893893

894+
// Source:
895+
// https://github.com/kraj/uClibc/blob/ca1c74d67dd115d059a875150e10b8560a9c35a8
896+
// /libc/sysdeps/linux/common/bits/in.h
897+
// Same for all architectures
898+
pub const IPV6_MULTICAST_HOPS: ::c_int = 18;
899+
pub const IP_MULTICAST_IF: ::c_int = 32;
900+
pub const IPV6_MULTICAST_IF: ::c_int = 17;
901+
pub const IPV6_UNICAST_HOPS: ::c_int = 16;
902+
903+
// Source:
904+
// https://github.com/kraj/uClibc/tree/ca1c74d67dd115d059a875150e10b8560a9c35a8
905+
// Same for all architectures
906+
pub const FUTEX_WAIT: ::c_int = 0;
907+
pub const FUTEX_PRIVATE_FLAG: ::c_int = 128;
908+
pub const FUTEX_WAKE: ::c_int = 1;
909+
894910
pub const IPV6_MULTICAST_LOOP: ::c_int = 19;
895911
pub const IPV6_V6ONLY: ::c_int = 26;
896912

0 commit comments

Comments
 (0)