37#ifndef EM_HOOK_TYPES_H_
38#define EM_HOOK_TYPES_H_
50#define API_HOOKS_MAX_TBL_SIZE 255
57#define DISPATCH_CALLBACK_ENTER 4
58#define DISPATCH_CALLBACK_EXIT 5
61#define TO_ACTIVE_HOOK 7
62#define WHILE_IDLE_HOOK 8
64typedef void (*void_hook_t)(void);
75 void_hook_t void_hook;
88COMPILE_TIME_ASSERT(
sizeof(
hook_tbl_t) == ENV_CACHE_LINE_SIZE,
89 HOOK_ALIGNMENT_ERROR);
105COMPILE_TIME_ASSERT(
sizeof(
hook_storage_t) % ENV_CACHE_LINE_SIZE == 0,
106 HOOK_STORAGE_ALIGNMENT_ERROR);
108COMPILE_TIME_ASSERT(
sizeof(
hook_storage_t) / ENV_CACHE_LINE_SIZE ==
109 API_HOOKS_MAX_TBL_SIZE + 1, HOOK_STORAGE_SIZE_ERROR);
void(* em_dispatch_enter_func_t)(em_eo_t eo, void **eo_ctx, em_event_t events[], int num, em_queue_t *queue, void **q_ctx)
void(* em_dispatch_exit_func_t)(em_eo_t eo)
void(* em_idle_hook_while_idle_t)(void)
void(* em_idle_hook_to_active_t)(void)
void(* em_api_hook_send_t)(const em_event_t events[], int num, em_queue_t queue, em_event_group_t event_group)
void(* em_idle_hook_to_idle_t)(uint64_t to_idle_delay_ns)
void(* em_api_hook_alloc_t)(const em_event_t events[], int num_act, int num_req, uint32_t size, em_event_type_t type, em_pool_t pool)
void(* em_api_hook_free_t)(const em_event_t events[], int num)