]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
bab0aae9 TG |
2 | #define TIMER_RETRY 1 |
3 | ||
4 | struct k_clock { | |
30802945 TG |
5 | int (*clock_getres)(const clockid_t which_clock, |
6 | struct timespec64 *tp); | |
7 | int (*clock_set)(const clockid_t which_clock, | |
8 | const struct timespec64 *tp); | |
9c71a2e8 | 9 | /* Returns the clock value in the current time namespace. */ |
819a95fe AV |
10 | int (*clock_get_timespec)(const clockid_t which_clock, |
11 | struct timespec64 *tp); | |
9c71a2e8 AV |
12 | /* Returns the clock value in the root time namespace. */ |
13 | ktime_t (*clock_get_ktime)(const clockid_t which_clock); | |
ead25417 | 14 | int (*clock_adj)(const clockid_t which_clock, struct __kernel_timex *tx); |
30802945 TG |
15 | int (*timer_create)(struct k_itimer *timer); |
16 | int (*nsleep)(const clockid_t which_clock, int flags, | |
938e7cf2 | 17 | const struct timespec64 *); |
30802945 TG |
18 | int (*timer_set)(struct k_itimer *timr, int flags, |
19 | struct itimerspec64 *new_setting, | |
20 | struct itimerspec64 *old_setting); | |
21 | int (*timer_del)(struct k_itimer *timr); | |
22 | void (*timer_get)(struct k_itimer *timr, | |
23 | struct itimerspec64 *cur_setting); | |
24 | void (*timer_rearm)(struct k_itimer *timr); | |
6fec64e1 | 25 | s64 (*timer_forward)(struct k_itimer *timr, ktime_t now); |
63841b2a | 26 | ktime_t (*timer_remaining)(struct k_itimer *timr, ktime_t now); |
525b8ed9 TG |
27 | int (*timer_try_to_cancel)(struct k_itimer *timr); |
28 | void (*timer_arm)(struct k_itimer *timr, ktime_t expires, | |
29 | bool absolute, bool sigev_none); | |
ec8f954a | 30 | void (*timer_wait_running)(struct k_itimer *timr); |
bab0aae9 TG |
31 | }; |
32 | ||
33 | extern const struct k_clock clock_posix_cpu; | |
34 | extern const struct k_clock clock_posix_dynamic; | |
35 | extern const struct k_clock clock_process; | |
36 | extern const struct k_clock clock_thread; | |
37 | extern const struct k_clock alarm_clock; | |
38 | ||
39 | int posix_timer_event(struct k_itimer *timr, int si_private); | |
f2c45807 TG |
40 | |
41 | void common_timer_get(struct k_itimer *timr, struct itimerspec64 *cur_setting); | |
42 | int common_timer_set(struct k_itimer *timr, int flags, | |
43 | struct itimerspec64 *new_setting, | |
44 | struct itimerspec64 *old_setting); | |
45 | int common_timer_del(struct k_itimer *timer); |