API Reference Manual  1.45.0
api/spec/stash_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2020-2023 Nokia
3  */
4 
11 #ifndef ODP_API_SPEC_STASH_TYPES_H_
12 #define ODP_API_SPEC_STASH_TYPES_H_
13 #include <odp/visibility_begin.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 #include <odp/api/std_types.h>
20 
43 typedef enum odp_stash_type_t {
52 
66 
68 
72 typedef enum odp_stash_op_mode_t {
80 
88 
96 
98 
104 typedef union odp_stash_stats_opt_t {
106  struct {
108  uint64_t count : 1;
109 
111  uint64_t cache_count : 1;
112 
113  } bit;
114 
119  uint64_t all;
120 
122 
126 typedef struct odp_stash_stats_t {
133  uint64_t count;
134 
139  uint64_t cache_count;
140 
142 
146 typedef struct odp_stash_capability_t {
149 
155  uint32_t max_stashes;
156 
163  uint64_t max_num_obj;
164 
169  struct {
171  uint64_t u8;
172 
174  uint64_t u16;
175 
177  uint64_t u32;
178 
180  uint64_t u64;
181 
183  uint64_t u128;
184 
186  uint64_t max_obj_size;
188 
193  uint32_t max_obj_size;
194 
196  uint32_t max_cache_size;
197 
202  uint32_t max_get_batch;
203 
208  uint32_t max_put_batch;
209 
212 
214 
218 typedef struct odp_stash_param_t {
226 
235 
244 
251  uint64_t num_obj;
252 
259  uint32_t obj_size;
260 
281  uint32_t cache_size;
282 
291 
300 
302 
307 #ifdef __cplusplus
308 }
309 #endif
310 
311 #include <odp/visibility_end.h>
312 #endif
Standard C language types and definitions for ODP.
odp_stash_type_t
Stash types.
union odp_stash_stats_opt_t odp_stash_stats_opt_t
Stash statistics counters options.
struct odp_stash_param_t odp_stash_param_t
Stash parameters.
odp_stash_op_mode_t
Stash operation mode.
struct odp_stash_capability_t odp_stash_capability_t
Stash capabilities (per stash type)
struct odp_stash_stats_t odp_stash_stats_t
Stash statistics counters.
@ ODP_STASH_TYPE_DEFAULT
The default stash type.
@ ODP_STASH_TYPE_FIFO
Stash type FIFO.
@ ODP_STASH_OP_MT
Multi-thread safe operation.
@ ODP_STASH_OP_LOCAL
Thread local operation.
@ ODP_STASH_OP_ST
Single thread operation.
int odp_bool_t
Use odp boolean type to have it well-defined and known size, regardless which compiler is used as thi...
Stash capabilities (per stash type)
uint64_t u16
Maximum number of 2 byte object handles.
uint32_t max_stashes_any_type
Maximum number of stashes of any type.
uint32_t max_get_batch
Maximum number of object handles in batch get operations.
uint32_t max_obj_size
Maximum object handle size in bytes.
uint64_t u128
Maximum number of 16 byte object handles.
uint32_t max_put_batch
Maximum number of object handles in batch put operations.
uint64_t max_obj_size
Maximum number of 'max_obj_size' object handles.
struct odp_stash_capability_t::@142 max_num
Maximum number of object handles per stash for each object size.
uint32_t max_stashes
Maximum number of stashes of this type.
uint64_t u64
Maximum number of 8 byte object handles.
odp_stash_stats_opt_t stats
Supported statistics counters.
uint32_t max_cache_size
Maximum size of thread local cache.
uint64_t u32
Maximum number of 4 byte object handles.
uint64_t max_num_obj
Maximum common number of object handles per stash for any object size.
uint64_t u8
Maximum number of 1 byte object handles.
Stash parameters.
uint32_t cache_size
Maximum number of object handles cached locally per thread.
odp_stash_op_mode_t get_mode
Get operation mode.
odp_bool_t strict_size
Strict size.
uint32_t obj_size
Object handle size in bytes.
odp_stash_type_t type
Stash type.
odp_stash_op_mode_t put_mode
Put operation mode.
odp_stash_stats_opt_t stats
Configure statistics counters.
uint64_t num_obj
Number of object handles.
Stash statistics counters.
uint64_t count
Object count in the stash.
uint64_t cache_count
Object count in thread local caches of the stash.
Stash statistics counters options.
uint64_t count
See odp_stash_stats_t::count.
uint64_t cache_count
See odp_stash_stats_t::cache_count.
struct odp_stash_stats_opt_t::@141 bit
Option flags.
uint64_t all
All bits of the bit field structure.