API Reference Manual  1.50.0
api/spec/timer.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2013-2018 Linaro Limited
3  * Copyright (c) 2019-2026 Nokia
4  */
5 
12 #ifndef ODP_API_SPEC_TIMER_H_
13 #define ODP_API_SPEC_TIMER_H_
14 #include <odp/visibility_begin.h>
15 
16 #include <odp/api/timer_types.h>
17 #include <odp/api/event_types.h>
18 #include <odp/api/pool_types.h>
19 #include <odp/api/queue_types.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
43 
64  odp_timer_res_capability_t *res_capa);
65 
101 
110 
145 
163 int odp_timer_pool_start_multi(odp_timer_pool_t timer_pool[], int num);
164 
174 
183 uint64_t odp_timer_tick_to_ns(odp_timer_pool_t timer_pool, uint64_t ticks);
184 
193 uint64_t odp_timer_ns_to_tick(odp_timer_pool_t timer_pool, uint64_t ns);
194 
215 
235 int odp_timer_sample_ticks(odp_timer_pool_t timer_pool[], uint64_t tick[], uint64_t clk_count[],
236  int num);
237 
248  odp_timer_pool_info_t *info);
249 
270 odp_timer_t odp_timer_alloc(odp_timer_pool_t timer_pool, odp_queue_t queue, const void *user_ptr);
271 
290 
319 int odp_timer_start(odp_timer_t timer, const odp_timer_start_t *start_param);
320 
346 int odp_timer_restart(odp_timer_t timer, const odp_timer_start_t *start_param);
347 
356 
372  const odp_timer_periodic_param_t *params);
373 
412 
449 
466 
488 
497 
507 void odp_timeout_from_event_multi(odp_timeout_t tmo[], const odp_event_t ev[], int num);
508 
517 
526 
543 
554 
567 
577 
589 
603 
612 
622 
632 
642 
652 
665 
678 
691 
696 #ifdef __cplusplus
697 }
698 #endif
699 
700 #include <odp/visibility_end.h>
701 #endif
ODP event API type definitions.
ODP pool.
ODP queue.
ODP timer service.
void odp_timeout_free(odp_timeout_t tmo)
Timeout free.
uint64_t odp_timer_tick_to_ns(odp_timer_pool_t timer_pool, uint64_t ticks)
Convert timer ticks to nanoseconds.
int odp_timer_pool_start_multi(odp_timer_pool_t timer_pool[], int num)
Start timer pools.
odp_timer_t odp_timer_periodic_alloc(odp_timer_pool_t timer_pool, const odp_timer_periodic_param_t *params)
Allocate a periodic timer.
void odp_timer_pool_print(odp_timer_pool_t timer_pool)
Print timer pool debug information.
void odp_timer_print(odp_timer_t timer)
Print timer debug information.
odp_timeout_t odp_timeout_alloc(odp_pool_t pool)
Timeout alloc.
uint64_t odp_timeout_tick(odp_timeout_t tmo)
Timeout expiration tick.
int odp_timer_free(odp_timer_t timer)
Free a timer.
int odp_timer_restart(odp_timer_t timer, const odp_timer_start_t *start_param)
Restart a single shot timer.
int odp_timer_periodic_start(odp_timer_t timer, const odp_timer_periodic_start_t *start_param)
Start a periodic timer.
odp_timeout_t odp_timeout_from_event(odp_event_t ev)
Get timeout handle from an ODP_EVENT_TIMEOUT type event.
int odp_timer_periodic_capability(odp_timer_clk_src_t clk_src, odp_timer_periodic_capability_t *capa)
Periodic timer capability.
odp_timer_pool_t odp_timer_pool_create(const char *name, const odp_timer_pool_param_t *params)
Create a timer pool.
odp_timer_t odp_timeout_timer(odp_timeout_t tmo)
Return timer handle for the timeout.
int odp_timer_sample_ticks(odp_timer_pool_t timer_pool[], uint64_t tick[], uint64_t clk_count[], int num)
Sample tick values of timer pools.
void odp_timer_periodic_param_init(odp_timer_periodic_param_t *param)
Initialize periodic timer parameters.
int odp_timer_cancel(odp_timer_t timer, odp_event_t *tmo_ev)
Cancel a single shot timer.
uint64_t odp_timer_current_tick(odp_timer_pool_t timer_pool)
Current tick value.
int odp_timer_capability(odp_timer_clk_src_t clk_src, odp_timer_capability_t *capa)
Query timer capabilities per clock source.
void * odp_timeout_user_area(odp_timeout_t tmo)
Timeout user area.
uint64_t odp_timer_ns_to_tick(odp_timer_pool_t timer_pool, uint64_t ns)
Convert nanoseconds to timer ticks.
int odp_timer_periodic_ack(odp_timer_t timer, odp_event_t tmo_ev)
Acknowledge timeout from a periodic timer.
uint64_t odp_timeout_to_u64(odp_timeout_t tmo)
Get printable value for an odp_timeout_t.
odp_timer_clk_src_t
Clock sources for timer pools.
int odp_timer_start(odp_timer_t timer, const odp_timer_start_t *start_param)
Start a single shot timer.
void odp_timeout_from_event_multi(odp_timeout_t tmo[], const odp_event_t ev[], int num)
Convert multiple timeout events to timeout handles.
int odp_timer_res_capability(odp_timer_clk_src_t clk_src, odp_timer_res_capability_t *res_capa)
Timer resolution capability.
int odp_timer_periodic_cancel(odp_timer_t timer)
Cancel a periodic timer.
void odp_timeout_print(odp_timeout_t tmo)
Print timeout debug information.
odp_event_t odp_timeout_to_event(odp_timeout_t tmo)
Convert timeout handle to event handle.
int odp_timer_pool_info(odp_timer_pool_t timer_pool, odp_timer_pool_info_t *info)
Query timer pool configuration and current state.
int odp_timeout_alloc_multi(odp_pool_t pool, odp_timeout_t tmo[], int num)
Allocate multiple timeouts.
odp_timer_t odp_timer_alloc(odp_timer_pool_t timer_pool, odp_queue_t queue, const void *user_ptr)
Allocate a single shot timer.
uint64_t odp_timer_pool_to_u64(odp_timer_pool_t timer_pool)
Get printable value for an odp_timer_pool_t.
void odp_timeout_free_multi(odp_timeout_t tmo[], int num)
Free multiple timeouts.
int odp_timeout_is_periodic(odp_timeout_t tmo)
Check if timeout is from a periodic timer.
uint64_t odp_timer_to_u64(odp_timer_t timer)
Get printable value for an odp_timer_t.
void odp_timer_pool_param_init(odp_timer_pool_param_t *param)
Initialize timer pool parameters.
void odp_timer_pool_destroy(odp_timer_pool_t timer_pool)
Destroy a timer pool.
void * odp_timeout_user_ptr(odp_timeout_t tmo)
Return user pointer for the timeout.
Periodic timer capability.
Periodic timer parameters.
Periodic timer start parameters.
ODP timer pool information and configuration.
Timer pool parameters.
Timer resolution capability.
Timer start parameters.