Clock Event Device
include/time/clock_evdev.h View source View on GitHubStructs
Section titled “Structs”clock_evdev
Section titled “clock_evdev” struct clock_evdev (21 fields) source
§
char *name §
enum err (*set_next_event)(struct clock_evdev *, time_ns_t delta_ns) Guaranteed to be called at IRQL_HIGH_LEVEL
§
timestamp_t next_event §
enum clock_evdev_state state §
enum clock_evdev_flags flags §
enum clock_rating rating §
enum err (*change_state)(struct clock_evdev *, enum clock_evdev_state state) §
enum err (*resume_tick)(struct clock_evdev *) §
size_t min_delta_ticks §
size_t max_delta_ticks §
bool in_global_list §
void *private clock_evdev_group
Section titled “clock_evdev_group” struct clock_evdev_group (6 fields) source
The clock evdevs are meant to be sequentially added to this
§
char *name §
size_t clock_evdev_count This is not synchronized because this happens once at group initialization
§
struct clock_evdev *(*evdev_for_cpu)(struct clock_evdev_group *, cpu_id_t cpu) §
enum clock_evdev_group_flags flags clock_evdev_state
Section titled “clock_evdev_state” enum clock_evdev_state (4 variants) source
clock_evdev_flags
Section titled “clock_evdev_flags” enum clock_evdev_flags (5 variants) source
clock_evdev_group_flags
Section titled “clock_evdev_group_flags” enum clock_evdev_group_flags (2 variants) source
Functions
Section titled “Functions”clock_evdev_group_create
Section titled “clock_evdev_group_create”struct clock_evdev_group * clock_evdev_group_create(const char *fmt) source clock_evdev_create
Section titled “clock_evdev_create”struct clock_evdev * clock_evdev_create(const char *fmt) source clock_evdev_group_search_for
Section titled “clock_evdev_group_search_for”struct clock_evdev_group * clock_evdev_group_search_for(const char *name) source clock_evdev_register
Section titled “clock_evdev_register”void clock_evdev_register(struct clock_evdev *ced) source clock_evdev_group_register
Section titled “clock_evdev_group_register”void clock_evdev_group_register(struct clock_evdev_group *cedg) source clock_evdev_group_add
Section titled “clock_evdev_group_add”void clock_evdev_group_add(
struct clock_evdev_group *cedg,
struct clock_evdev *ced
) source clock_evdev_for_cpu
Section titled “clock_evdev_for_cpu”struct clock_evdev * clock_evdev_for_cpu(
struct clock_evdev_group *cedg,
cpu_id_t cpu
) source clock_evdev_group_unregister
Section titled “clock_evdev_group_unregister”void clock_evdev_group_unregister(struct clock_evdev_group *cedg) source