github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/freebsd/ktimer.txt (about) 1 # Copyright 2020 syzkaller project authors. All rights reserved. 2 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 3 4 include <time.h> 5 include <signal.h> 6 7 resource timerid[int32] 8 9 type signalno int32[0:33] 10 11 ktimer_create(id flags[clock_id], evp ptr[in, sigevent], timerid ptr[out, timerid]) 12 ktimer_delete(timerid timerid) 13 ktimer_settime(timerid timerid, flags flags[timer_flags], value ptr[in, itimerspec], ovalue ptr[out, itimerspec]) 14 ktimer_gettime(timerid timerid, value ptr[out, itimerspec]) 15 ktimer_getoverrun(timerid timerid) 16 17 define SIGEVENT_SIZE sizeof(struct sigevent) 18 19 sigevent { 20 notify flags[sigev_notify, int32] 21 signo signalno 22 val sigval 23 u sigevent_u 24 } [size[SIGEVENT_SIZE]] 25 26 sigevent_u [ 27 tid pid 28 thr sigevent_thread 29 ke_flags flags[evflags, int16] 30 spare array[intptr, 8] 31 ] 32 33 sigevent_thread { 34 func ptr[in, text[target]] 35 attr buffer[in] 36 } 37 38 itimerspec { 39 interv timespec 40 value timespec 41 } 42 43 sigval [ 44 sival_int int32 45 sival_ptr intptr 46 sigval_int int32 47 sigval_ptr intptr 48 ] 49 50 sigev_notify = SIGEV_NONE, SIGEV_SIGNAL, SIGEV_THREAD, SIGEV_KEVENT, SIGEV_THREAD_ID