aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authortigergao99 <tigergao1999@outlook.com>2020-11-30 10:33:57 -0500
committerMark Johnston <markjdb@gmail.com>2020-12-09 09:55:45 -0500
commit93a9e9646ea735ed4cf2916e08dde04d6b81acac (patch)
tree382679625b6a5b707aae7ffcf49467ee212ad868 /sys
parentf2db8fbaadda346c5a1d2cec6e65db61ffb13e20 (diff)
sys/freebsd: add ktimer related system calls
Diffstat (limited to 'sys')
-rw-r--r--sys/freebsd/ktimer.txt43
-rw-r--r--sys/freebsd/ktimer.txt.const13
2 files changed, 56 insertions, 0 deletions
diff --git a/sys/freebsd/ktimer.txt b/sys/freebsd/ktimer.txt
new file mode 100644
index 000000000..f77957cf6
--- /dev/null
+++ b/sys/freebsd/ktimer.txt
@@ -0,0 +1,43 @@
+# Copyright 2020 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <time.h>
+include <signal.h>
+
+resource timerid[int32]
+
+type signalno int32[0:33]
+
+ktimer_create(id flags[clock_id], evp ptr[in, sigevent], timerid ptr[out, timerid])
+ktimer_delete(timerid timerid)
+ktimer_settime(timerid timerid, flags flags[timer_flags], value ptr[in, itimerspec], ovalue ptr[out, itimerspec])
+ktimer_gettime(timerid timerid, value ptr[out, itimerspec])
+ktimer_getoverrun(timerid timerid)
+
+define SIGEVENT_SIZE sizeof(struct sigevent)
+
+sigevent {
+ notify flags[sigev_notify, int32]
+ signo signalno
+ val const[0, intptr]
+ u sigevent_u
+} [size[SIGEVENT_SIZE]]
+
+sigevent_u [
+ tid pid
+ thr sigevent_thread
+ ke_flags flags[evflags, int16]
+ spare array[int64, 8]
+]
+
+sigevent_thread {
+ func ptr[in, text[target]]
+ attr buffer[in]
+}
+
+itimerspec {
+ interv timespec
+ value timespec
+}
+
+sigev_notify = SIGEV_NONE, SIGEV_SIGNAL, SIGEV_THREAD, SIGEV_KEVENT, SIGEV_THREAD_ID
diff --git a/sys/freebsd/ktimer.txt.const b/sys/freebsd/ktimer.txt.const
new file mode 100644
index 000000000..99ae4f062
--- /dev/null
+++ b/sys/freebsd/ktimer.txt.const
@@ -0,0 +1,13 @@
+# Code generated by syz-sysgen. DO NOT EDIT.
+arches = 386, amd64
+SIGEVENT_SIZE = 80
+SIGEV_KEVENT = 3
+SIGEV_NONE = 0
+SIGEV_SIGNAL = 1
+SIGEV_THREAD = 2
+SIGEV_THREAD_ID = 4
+SYS_ktimer_create = 235
+SYS_ktimer_delete = 236
+SYS_ktimer_getoverrun = 239
+SYS_ktimer_gettime = 238
+SYS_ktimer_settime = 237