API Reference Manual  1.49.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-2023 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 
96 
105 
135 
153 int odp_timer_pool_start_multi(odp_timer_pool_t timer_pool[], int num);
154 
164 
173 uint64_t odp_timer_tick_to_ns(odp_timer_pool_t timer_pool, uint64_t ticks);
174 
183 uint64_t odp_timer_ns_to_tick(odp_timer_pool_t timer_pool, uint64_t ns);
184 
205 
225 int odp_timer_sample_ticks(odp_timer_pool_t timer_pool[], uint64_t tick[], uint64_t clk_count[],
226  int num);
227 
238  odp_timer_pool_info_t *info);
239 
261 odp_timer_t odp_timer_alloc(odp_timer_pool_t timer_pool, odp_queue_t queue, const void *user_ptr);
262 
281 
305 int odp_timer_start(odp_timer_t timer, const odp_timer_start_t *start_param);
306 
329 int odp_timer_restart(odp_timer_t timer, const odp_timer_start_t *start_param);
330 
364 
391 
408 
430 
439 
449 void odp_timeout_from_event_multi(odp_timeout_t tmo[], const odp_event_t ev[], int num);
450 
459 
468 
485 
496 
509 
521 
535 
544 
554 
564 
574 
584 
597 
610 
623 
628 #ifdef __cplusplus
629 }
630 #endif
631 
632 #include <odp/visibility_end.h>
633 #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.
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 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 a 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.
int odp_timer_cancel(odp_timer_t timer, odp_event_t *tmo_ev)
Cancel a 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 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 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.
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 start parameters.
ODP timer pool information and configuration.
Timer pool parameters.
Timer resolution capability.
Timer start parameters.