1 /* SPDX-License-Identifier: GPL-2.0 */
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
);
9 /* Returns the clock value in the current time namespace. */
10 int (*clock_get_timespec
)(const clockid_t which_clock
,
11 struct timespec64
*tp
);
12 /* Returns the clock value in the root time namespace. */
13 ktime_t (*clock_get_ktime
)(const clockid_t which_clock
);
14 int (*clock_adj
)(const clockid_t which_clock
, struct __kernel_timex
*tx
);
15 int (*timer_create
)(struct k_itimer
*timer
);
16 int (*nsleep
)(const clockid_t which_clock
, int flags
,
17 const struct timespec64
*);
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
);
25 s64 (*timer_forward
)(struct k_itimer
*timr
, ktime_t now
);
26 ktime_t (*timer_remaining
)(struct k_itimer
*timr
, ktime_t now
);
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
);
30 void (*timer_wait_running
)(struct k_itimer
*timr
);
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
;
39 int posix_timer_event(struct k_itimer
*timr
, int si_private
);
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
);