diff options
author | bors <bors@rust-lang.org> | 2019-10-16 10:56:10 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2019-10-16 10:56:10 +0000 |
commit | 5daf8361e8f1ba59b3ee478c2fd20caf45faf9b6 (patch) | |
tree | 43f7d9e5eaf6fb195095f9169156005020b2d628 | |
parent | 7b31ef34ede6860ce2a4cfeeef01b02f8120a607 (diff) | |
parent | 01992c085ee7c787420b64026f29b1f40b170470 (diff) | |
download | rust-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.rs | 4 | ||||
-rw-r--r-- | src/unix/uclibc/mod.rs | 16 |
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; |