API Reference Manual 1.51.0
Loading...
Searching...
No Matches
api/spec/std_types.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) 2021 ARM Limited
4 * Copyright (c) 2021-2024 Nokia
5 */
6
14#ifndef ODP_API_SPEC_STD_TYPES_H_
15#define ODP_API_SPEC_STD_TYPES_H_
16#include <odp/visibility_begin.h>
17/* uint64_t, uint32_t, etc */
18#include <stdint.h>
19#include <odp/api/align.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
46typedef uint32_t odp_percent_t;
47
49typedef uint16_t odp_una_u16_t ODP_ALIGNED(1);
50
52typedef uint32_t odp_una_u32_t ODP_ALIGNED(1);
53
55typedef uint64_t odp_una_u64_t ODP_ALIGNED(1);
56
65typedef struct ODP_ALIGNED(16) odp_u128_s {
67 union {
68 #ifdef __SIZEOF_INT128__
70 __uint128_t u128;
71 #endif
73 uint64_t u64[2];
75 uint32_t u32[4];
77 uint16_t u16[8];
79 uint8_t u8[16];
80 };
82
91typedef struct odp_fract_u64_t {
93 uint64_t integer;
94
96 uint64_t numer;
97
100 uint64_t denom;
101
103
126
128typedef union odp_feature_t {
130 uint32_t all_feat;
131
133 struct {
135 uint32_t cls:1;
136
138 uint32_t compress:1;
139
141 uint32_t crypto:1;
142
144 uint32_t dma:1;
145
147 uint32_t ipsec:1;
148
150 uint32_t ml:1;
151
153 uint32_t schedule:1;
154
156 uint32_t stash:1;
157
159 uint32_t time:1;
160
162 uint32_t timer:1;
163
165 uint32_t tm:1;
167
169
174#ifdef __cplusplus
175}
176#endif
177
178#include <odp/visibility_end.h>
179#endif
ODP alignments.
#define ODP_ALIGNED(x)
Defines type/struct/variable alignment in bytes.
uint64_t odp_una_u64_t
Unaligned uint64_t type.
odp_support_t
ODP support.
uint32_t odp_percent_t
Percentage type.
struct odp_u128_s odp_u128_t
128-bit unsigned integer structure
uint16_t odp_una_u16_t
Unaligned uint16_t type.
uint32_t odp_una_u32_t
Unaligned uint32_t type.
@ ODP_SUPPORT_PREFERRED
Feature is supported and preferred.
@ ODP_SUPPORT_YES
Feature is supported.
@ ODP_SUPPORT_NO
Feature is not supported.
Unsigned 64 bit fractional number.
uint64_t integer
Integer part.
uint64_t denom
Denominator of the fraction part.
uint64_t numer
Numerator of the fraction part.
128-bit unsigned integer structure
Definition of ODP features.
uint32_t tm
Traffic Manager APIs, e.g., odp_tm_xxx()
uint32_t stash
Stash APIs, e.g., odp_stash_xxx()
uint32_t crypto
Crypto APIs, e.g., odp_crypto_xxx()
uint32_t ipsec
IPsec APIs, e.g., odp_ipsec_xxx()
uint32_t all_feat
All features.
uint32_t dma
DMA APIs, e.g., odp_dma_xxx()
uint32_t timer
Timer APIs, e.g., odp_timer_xxx(), odp_timeout_xxx()
uint32_t cls
Classifier APIs, e.g., odp_cls_xxx(), odp_cos_xxx()
uint32_t ml
Machine Learning APIs, e.g., odp_ml_xxx()
struct odp_feature_t::@174 feat
Individual feature bits.
uint32_t time
Time APIs, e.g., odp_time_xxx()
uint32_t schedule
Scheduler APIs, e.g., odp_schedule_xxx()
uint32_t compress
Compression APIs, e.g., odp_comp_xxx()