summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-04-20 14:49:14 +0000
committerbors <bors@rust-lang.org>2022-04-20 14:49:14 +0000
commit40d529fdff03c58f64d08b54c7b730c4b2fa2f98 (patch)
tree91a5f3c4ccf64778f2a824ca5e2292529e4cd6a4
parent01b49024c26378a78e48358645a119595518e707 (diff)
parent6c130c9e5fdcbdb20cfd67775fe6d69f57f4d646 (diff)
downloadrust-libc-40d529fdff03c58f64d08b54c7b730c4b2fa2f98.tar.gz
Auto merge of #2762 - m-ou-se:netbsd-futex-consts, r=Amanieu
Add NetBSD's FUTEX_* constants. This adds the FUTEX_* constants from NetBSD's [src/sys/sys/futex.h](http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/sys/futex.h).
-rw-r--r--libc-test/semver/netbsd.txt22
-rw-r--r--src/unix/bsd/netbsdlike/netbsd/mod.rs23
2 files changed, 45 insertions, 0 deletions
diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt
index 67a5faa073..2bfd056da8 100644
--- a/libc-test/semver/netbsd.txt
+++ b/libc-test/semver/netbsd.txt
@@ -346,6 +346,28 @@ FIONWRITE
FIOSETOWN
FLUSHO
FOPEN_MAX
+FUTEX_WAIT
+FUTEX_WAKE
+FUTEX_FD
+FUTEX_REQUEUE
+FUTEX_CMP_REQUEUE
+FUTEX_WAKE_OP
+FUTEX_LOCK_PI
+FUTEX_UNLOCK_PI
+FUTEX_TRYLOCK_PI
+FUTEX_WAIT_BITSET
+FUTEX_WAKE_BITSET
+FUTEX_WAIT_REQUEUE_PI
+FUTEX_CMP_REQUEUE_PI
+FUTEX_PRIVATE_FLAG
+FUTEX_CLOCK_REALTIME
+FUTEX_CMD_MASK
+FUTEX_WAITERS
+FUTEX_OWNER_DIED
+FUTEX_SYNCOBJ_1
+FUTEX_SYNCOBJ_0
+FUTEX_TID_MASK
+FUTEX_BITSET_MATCH_ANY
F_CLOSEM
F_GETNOSIGPIPE
F_GETOWN
diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs
index 84f17f1f13..10c73baae6 100644
--- a/src/unix/bsd/netbsdlike/netbsd/mod.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs
@@ -1302,6 +1302,29 @@ pub const F_SETNOSIGPIPE: ::c_int = 14;
pub const F_MAXFD: ::c_int = 11;
pub const F_GETPATH: ::c_int = 15;
+pub const FUTEX_WAIT: ::c_int = 0;
+pub const FUTEX_WAKE: ::c_int = 1;
+pub const FUTEX_FD: ::c_int = 2;
+pub const FUTEX_REQUEUE: ::c_int = 3;
+pub const FUTEX_CMP_REQUEUE: ::c_int = 4;
+pub const FUTEX_WAKE_OP: ::c_int = 5;
+pub const FUTEX_LOCK_PI: ::c_int = 6;
+pub const FUTEX_UNLOCK_PI: ::c_int = 7;
+pub const FUTEX_TRYLOCK_PI: ::c_int = 8;
+pub const FUTEX_WAIT_BITSET: ::c_int = 9;
+pub const FUTEX_WAKE_BITSET: ::c_int = 10;
+pub const FUTEX_WAIT_REQUEUE_PI: ::c_int = 11;
+pub const FUTEX_CMP_REQUEUE_PI: ::c_int = 12;
+pub const FUTEX_PRIVATE_FLAG: ::c_int = 1 << 7;
+pub const FUTEX_CLOCK_REALTIME: ::c_int = 1 << 8;
+pub const FUTEX_CMD_MASK: ::c_int = !(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME);
+pub const FUTEX_WAITERS: u32 = 1 << 31;
+pub const FUTEX_OWNER_DIED: u32 = 1 << 30;
+pub const FUTEX_SYNCOBJ_1: u32 = 1 << 29;
+pub const FUTEX_SYNCOBJ_0: u32 = 1 << 28;
+pub const FUTEX_TID_MASK: u32 = (1 << 28) - 1;
+pub const FUTEX_BITSET_MATCH_ANY: u32 = !0;
+
pub const IP_RECVDSTADDR: ::c_int = 7;
pub const IP_SENDSRCADDR: ::c_int = IP_RECVDSTADDR;
pub const IP_RECVIF: ::c_int = 20;