1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# 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 sigval
u sigevent_u
} [size[SIGEVENT_SIZE]]
sigevent_u [
tid pid
thr sigevent_thread
ke_flags flags[evflags, int16]
spare array[intptr, 8]
]
sigevent_thread {
func ptr[in, text[target]]
attr buffer[in]
}
itimerspec {
interv timespec
value timespec
}
sigval [
sival_int int32
sival_ptr intptr
sigval_int int32
sigval_ptr intptr
]
sigev_notify = SIGEV_NONE, SIGEV_SIGNAL, SIGEV_THREAD, SIGEV_KEVENT, SIGEV_THREAD_ID
|