API Reference Manual  1.45.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 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include <odp/api/timer_types.h>
21 #include <odp/api/event_types.h>
22 #include <odp/api/pool_types.h>
23 #include <odp/api/queue_types.h>
24 
43 
64  odp_timer_res_capability_t *res_capa);
65 
96 
105 
135 
147 
165 int odp_timer_pool_start_multi(odp_timer_pool_t timer_pool[], int num);
166 
176 
185 uint64_t odp_timer_tick_to_ns(odp_timer_pool_t timer_pool, uint64_t ticks);
186 
195 uint64_t odp_timer_ns_to_tick(odp_timer_pool_t timer_pool, uint64_t ns);
196 
217 
237 int odp_timer_sample_ticks(odp_timer_pool_t timer_pool[], uint64_t tick[], uint64_t clk_count[],
238  int num);
239 
250  odp_timer_pool_info_t *info);
251 
273 odp_timer_t odp_timer_alloc(odp_timer_pool_t timer_pool, odp_queue_t queue, const void *user_ptr);
274 
293 
317 int odp_timer_start(odp_timer_t timer, const odp_timer_start_t *start_param);
318 
341 int odp_timer_restart(odp_timer_t timer, const odp_timer_start_t *start_param);
342 
376 
403 
420 
442 
451 
461 void odp_timeout_from_event_multi(odp_timeout_t tmo[], const odp_event_t ev[], int num);
462 
471 
485 
494 
511 
522 
535 
547 
561 
570 
580 
590 
600 
610 
623 
636 
649 
654 #ifdef __cplusplus
655 }
656 #endif
657 
658 #include <odp/visibility_end.h>
659 #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.
void odp_timer_pool_start(void)
Start a timer pool.
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_timeout_fresh(odp_timeout_t tmo)
Check for fresh timeout.
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.
#define ODP_DEPRECATE(x)
Macro to deprecate API definitions.
Periodic timer capability.
Periodic timer start parameters.
ODP timer pool information and configuration.
Timer pool parameters.
Timer resolution capability.
Timer start parameters.