summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-09-25 16:47:30 +0000
committerbors <bors@rust-lang.org>2021-09-25 16:47:30 +0000
commit80d5bbaedcf0bd7ae887286bb992944f320301ff (patch)
tree694c2bdcf820793c9a50695a3dd871339cac0d5f
parent372a8c6fcbf7819aa21084c26a5a9d38060c9813 (diff)
parent0d00164c815d650fde178e941952e5efa5baf7d8 (diff)
downloadrust-libc-80d5bbaedcf0bd7ae887286bb992944f320301ff.tar.gz
Auto merge of #2418 - devnexen:netbsd_timer_api, r=Amanieu
netbsd aff timer api
-rw-r--r--libc-test/semver/netbsd.txt7
-rw-r--r--src/unix/bsd/netbsdlike/netbsd/mod.rs21
2 files changed, 28 insertions, 0 deletions
diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt
index fbb6277565..3e1604ff41 100644
--- a/libc-test/semver/netbsd.txt
+++ b/libc-test/semver/netbsd.txt
@@ -1209,6 +1209,7 @@ in6_pktinfo
in_pktinfo
initgroups
ipc_perm
+itimerspec
kevent
key_t
killpg
@@ -1380,6 +1381,12 @@ syscall
sysctl
sysctlbyname
telldir
+timer_create
+timer_delete
+timer_getoverrun
+timer_gettime
+timer_settime
+timer_t
timex
truncate
ttyname_r
diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs
index 5946dbeaa8..e4a4a30289 100644
--- a/src/unix/bsd/netbsdlike/netbsd/mod.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs
@@ -13,6 +13,7 @@ pub type shmatt_t = ::c_uint;
pub type cpuid_t = u64;
pub type cpuset_t = _cpuset;
pub type pthread_spin_t = ::c_uchar;
+pub type timer_t = ::c_int;
// elf.h
@@ -120,6 +121,11 @@ s! {
pub mq_curmsgs: ::c_long,
}
+ pub struct itimerspec {
+ pub it_interval: ::timespec,
+ pub it_value: ::timespec,
+ }
+
pub struct sigset_t {
__bits: [u32; 4],
}
@@ -2256,6 +2262,21 @@ extern "C" {
) -> ::size_t;
pub fn iconv_close(cd: iconv_t) -> ::c_int;
+ pub fn timer_create(
+ clockid: ::clockid_t,
+ sevp: *mut ::sigevent,
+ timerid: *mut ::timer_t,
+ ) -> ::c_int;
+ pub fn timer_delete(timerid: ::timer_t) -> ::c_int;
+ pub fn timer_getoverrun(timerid: ::timer_t) -> ::c_int;
+ pub fn timer_gettime(timerid: ::timer_t, curr_value: *mut ::itimerspec) -> ::c_int;
+ pub fn timer_settime(
+ timerid: ::timer_t,
+ flags: ::c_int,
+ new_value: *const ::itimerspec,
+ old_value: *mut ::itimerspec,
+ ) -> ::c_int;
+
// Added in `NetBSD` 7.0
pub fn explicit_memset(b: *mut ::c_void, c: ::c_int, len: ::size_t);
pub fn consttime_memequal(a: *const ::c_void, b: *const ::c_void, len: ::size_t) -> ::c_int;