diff options
Diffstat (limited to 'platform/linux-generic/include-abi')
56 files changed, 1727 insertions, 0 deletions
diff --git a/platform/linux-generic/include-abi/odp/api/abi/align.h b/platform/linux-generic/include-abi/odp/api/abi/align.h new file mode 100644 index 000000000..7fa343078 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/align.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/align.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/atomic.h b/platform/linux-generic/include-abi/odp/api/abi/atomic.h new file mode 100644 index 000000000..4f481f913 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/atomic.h @@ -0,0 +1,96 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP atomic operations + */ + +#ifndef ODP_API_ABI_ATOMIC_H_ +#define ODP_API_ABI_ATOMIC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/align.h> + +/** + * @internal + * Atomic 32-bit unsigned integer + */ +typedef struct ODP_ALIGNED(sizeof(uint32_t)) odp_atomic_u32_s { + uint32_t v; /**< Actual storage for the atomic variable */ +} odp_atomic_u32_t; + +#if __GCC_ATOMIC_LLONG_LOCK_FREE >= 2 + +/** + * @internal + * Atomic 64-bit unsigned integer + */ +typedef struct ODP_ALIGNED(sizeof(uint64_t)) odp_atomic_u64_s { + uint64_t v; /**< Actual storage for the atomic variable */ +} odp_atomic_u64_t; + +#else + +#define ODP_ATOMIC_U64_LOCK 1 + +/** + * @internal + * Atomic 64-bit unsigned integer + */ +typedef struct ODP_ALIGNED(sizeof(uint64_t)) odp_atomic_u64_s { + uint64_t v; /**< Actual storage for the atomic variable */ + /* Some architectures do not support lock-free operations on 64-bit + * data types. We use a spin lock to ensure atomicity. */ + char lock; /**< Spin lock (if needed) used to ensure atomic access */ +} odp_atomic_u64_t; + +#endif + +#if defined(__SIZEOF_INT128__) || defined(_ODP_LOCK_FREE_128BIT_ATOMICS) + +/** + * @internal + * Atomic 128-bit unsigned integer + */ +typedef struct ODP_ALIGNED(sizeof(odp_u128_t)) odp_atomic_u128_s { + odp_u128_t v; /**< Actual storage for the atomic variable */ +} odp_atomic_u128_t; + +#else + +/** + * @internal + * Atomic 128-bit unsigned integer + */ +typedef struct ODP_ALIGNED(sizeof(odp_u128_t)) odp_atomic_u128_s { + odp_u128_t v; /**< Actual storage for the atomic variable */ + /* Some architectures do not support lock-free operations on 128-bit + * data types. We use a spin lock to ensure atomicity. */ + char lock; /**< Spin lock (if needed) used to ensure atomic access */ +} odp_atomic_u128_t; + +#endif + +/** @addtogroup odp_atomic + * @{ + */ + +#include <odp/api/plat/atomic_inlines.h> + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/barrier.h b/platform/linux-generic/include-abi/odp/api/abi/barrier.h new file mode 100644 index 000000000..cff12c577 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/barrier.h @@ -0,0 +1,38 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP barrier + */ + +#ifndef ODP_ABI_BARRIER_H_ +#define ODP_ABI_BARRIER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/atomic.h> + +/** + * @internal + * ODP thread synchronization barrier + */ +struct odp_barrier_s { + uint32_t count; /**< Thread count */ + odp_atomic_u32_t bar; /**< Barrier counter */ +}; + +typedef struct odp_barrier_s odp_barrier_t; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/buffer.h b/platform/linux-generic/include-abi/odp/api/abi/buffer.h new file mode 100644 index 000000000..a6309fe39 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/buffer.h @@ -0,0 +1,28 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP buffer + */ + +#ifndef ODP_API_ABI_BUFFER_H_ +#define ODP_API_ABI_BUFFER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined API functions */ +#include <odp/api/plat/buffer_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/buffer_types.h b/platform/linux-generic/include-abi/odp/api/abi/buffer_types.h new file mode 100644 index 000000000..63067268c --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/buffer_types.h @@ -0,0 +1,40 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP buffer types + */ + +#ifndef ODP_API_ABI_BUFFER_TYPES_H_ +#define ODP_API_ABI_BUFFER_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_buffer + * @{ + */ + +typedef ODP_HANDLE_T(odp_buffer_t); + +#define ODP_BUFFER_INVALID _odp_cast_scalar(odp_buffer_t, 0) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/byteorder.h b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h new file mode 100644 index 000000000..c0b5ebe0c --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h @@ -0,0 +1,88 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP byteorder + */ + +#ifndef ODP_API_ABI_BYTEORDER_H_ +#define ODP_API_ABI_BYTEORDER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> + +#ifndef __BYTE_ORDER__ +#error __BYTE_ORDER__ not defined! +#endif + +#ifndef __ORDER_BIG_ENDIAN__ +#error __ORDER_BIG_ENDIAN__ not defined! +#endif + +#ifndef __ORDER_LITTLE_ENDIAN__ +#error __ORDER_LITTLE_ENDIAN__ not defined! +#endif + +/* for use with type checkers such as sparse */ +#ifdef __CHECKER__ +/** @internal bitwise attribute */ +#define __odp_bitwise __attribute__((bitwise)) +/** @internal force attribute */ +#define __odp_force __attribute__((force)) +#else +/** @internal bitwise attribute */ +#define __odp_bitwise +/** @internal force attribute */ +#define __odp_force +#endif + +/** @addtogroup odp_compiler_optim + * @{ + */ +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + #define ODP_LITTLE_ENDIAN 1 + #define ODP_BIG_ENDIAN 0 + #define ODP_BYTE_ORDER ODP_LITTLE_ENDIAN + #define ODP_LITTLE_ENDIAN_BITFIELD 1 + #define ODP_BIG_ENDIAN_BITFIELD 0 + #define ODP_BITFIELD_ORDER ODP_LITTLE_ENDIAN_BITFIELD +#else + #define ODP_LITTLE_ENDIAN 0 + #define ODP_BIG_ENDIAN 1 + #define ODP_BYTE_ORDER ODP_BIG_ENDIAN + #define ODP_LITTLE_ENDIAN_BITFIELD 0 + #define ODP_BIG_ENDIAN_BITFIELD 1 + #define ODP_BITFIELD_ORDER ODP_BIG_ENDIAN_BITFIELD +#endif + +typedef uint16_t __odp_bitwise odp_u16le_t; +typedef uint16_t __odp_bitwise odp_u16be_t; + +typedef uint32_t __odp_bitwise odp_u32le_t; +typedef uint32_t __odp_bitwise odp_u32be_t; + +typedef uint64_t __odp_bitwise odp_u64le_t; +typedef uint64_t __odp_bitwise odp_u64be_t; + +typedef uint16_t __odp_bitwise odp_u16sum_t; +typedef uint32_t __odp_bitwise odp_u32sum_t; + +#include <odp/api/plat/byteorder_inlines.h> + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/classification.h b/platform/linux-generic/include-abi/odp/api/abi/classification.h new file mode 100644 index 000000000..d63763dbd --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/classification.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP classification descriptor + */ + +#ifndef ODP_API_ABI_CLASSIFICATION_H_ +#define ODP_API_ABI_CLASSIFICATION_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_classification + * @{ + */ + +typedef ODP_HANDLE_T(odp_cos_t); +#define ODP_COS_INVALID _odp_cast_scalar(odp_cos_t, 0) + +typedef ODP_HANDLE_T(odp_pmr_t); +#define ODP_PMR_INVALID _odp_cast_scalar(odp_pmr_t, 0) + +#define ODP_COS_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/comp.h b/platform/linux-generic/include-abi/odp/api/abi/comp.h new file mode 100644 index 000000000..45681e961 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/comp.h @@ -0,0 +1,34 @@ +/* Copyright (c) 2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_COMP_H_ +#define ODP_ABI_COMP_H_ + +#include <odp/api/plat/strong_types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> + +/** @addtogroup odp_compression + * @{ + */ + +typedef ODP_HANDLE_T(odp_comp_session_t); + +#define ODP_COMP_SESSION_INVALID _odp_cast_scalar(odp_comp_session_t, 0) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/cpumask.h b/platform/linux-generic/include-abi/odp/api/abi/cpumask.h new file mode 100644 index 000000000..c64bf2a69 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/cpumask.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/cpumask.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/crypto.h b/platform/linux-generic/include-abi/odp/api/abi/crypto.h new file mode 100644 index 000000000..bef725c28 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/crypto.h @@ -0,0 +1,29 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP crypto + */ + +#ifndef ODP_API_ABI_CRYPTO_H_ +#define ODP_API_ABI_CRYPTO_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined API functions */ +#include <odp/api/plat/crypto_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/crypto_types.h b/platform/linux-generic/include-abi/odp/api/abi/crypto_types.h new file mode 100644 index 000000000..b1e4aa5ae --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/crypto_types.h @@ -0,0 +1,41 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP crypto + */ + +#ifndef ODP_API_ABI_CRYPTO_TYPES_H_ +#define ODP_API_ABI_CRYPTO_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_crypto + * @{ + */ + +#define ODP_CRYPTO_SESSION_INVALID (0xffffffffffffffffULL) + +typedef uint64_t odp_crypto_session_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/debug.h b/platform/linux-generic/include-abi/odp/api/abi/debug.h new file mode 100644 index 000000000..a3a86e64a --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/debug.h @@ -0,0 +1,68 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP atomic operations + */ + +#ifndef ODP_API_ABI_DEBUG_H_ +#define ODP_API_ABI_DEBUG_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @internal _Static_assert was only added in GCC 4.6 and the C++ version + * static_assert for g++ 6 and above. Provide a weak replacement for previous + * versions. + */ +#define _odp_merge(a, b) a##b +/** @internal */ +#define _odp_label(a) _odp_merge(_ODP_SASSERT_, a) +/** @internal */ +#define _ODP_SASSERT _odp_label(__COUNTER__) +/** @internal */ +#define _ODP_SASSERT_ENUM(e) { _ODP_SASSERT = 1 / !!(e) } +/** @internal */ +#define _odp_static_assert(e, s) enum _ODP_SASSERT_ENUM(e) + +#if defined(__clang__) +#if defined(__cplusplus) +#if !__has_feature(cxx_static_assert) && !defined(static_assert) +/** @internal */ +#define static_assert(e, s) _odp_static_assert(e, s) +#endif +#elif !__has_feature(c_static_assert) && !defined(_Static_assert) +/** @internal */ +#define _Static_assert(e, s) _odp_static_assert(e, s) +#endif + +#elif defined(__GNUC__) +#if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6)) || \ + (__GNUC__ < 6 && defined(__cplusplus)) +#if defined(__cplusplus) +#if !defined(static_assert) +/** @intenral */ +#define static_assert(e, s) _odp_static_assert(e, s) +#endif +#elif !defined(_Static_assert) +/** @internal */ +#define _Static_assert(e, s) _odp_static_assert(e, s) +#endif +#endif + +#endif + +#include <odp/api/abi-default/debug.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/dma.h b/platform/linux-generic/include-abi/odp/api/abi/dma.h new file mode 100644 index 000000000..60798143c --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/dma.h @@ -0,0 +1,27 @@ +/* Copyright (c) 2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP DMA + */ + +#ifndef ODP_API_ABI_DMA_H_ +#define ODP_API_ABI_DMA_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/dma_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/dma_types.h b/platform/linux-generic/include-abi/odp/api/abi/dma_types.h new file mode 100644 index 000000000..d5bee0374 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/dma_types.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2021, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_API_ABI_DMA_TYPES_H_ +#define ODP_API_ABI_DMA_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_dma + * @{ + */ + +typedef ODP_HANDLE_T(odp_dma_t); + +#define ODP_DMA_INVALID _odp_cast_scalar(odp_dma_t, 0) + +typedef uint32_t odp_dma_transfer_id_t; + +#define ODP_DMA_TRANSFER_ID_INVALID ((odp_dma_transfer_id_t)0) + +typedef ODP_HANDLE_T(odp_dma_compl_t); + +#define ODP_DMA_COMPL_INVALID _odp_cast_scalar(odp_dma_compl_t, 0) + +#define ODP_DMA_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/errno.h b/platform/linux-generic/include-abi/odp/api/abi/errno.h new file mode 100644 index 000000000..6215a0676 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/errno.h @@ -0,0 +1,18 @@ +/* Copyright (c) 2020, Marvell + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP errno + */ + +#ifndef ODP_API_ABI_ERRNO_H_ +#define ODP_API_ABI_ERRNO_H_ + +#include <odp/api/abi-default/errno.h> + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/event.h b/platform/linux-generic/include-abi/odp/api/abi/event.h new file mode 100644 index 000000000..e059f318c --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/event.h @@ -0,0 +1,29 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP event + */ + +#ifndef ODP_API_ABI_EVENT_H_ +#define ODP_API_ABI_EVENT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/event_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/event_types.h b/platform/linux-generic/include-abi/odp/api/abi/event_types.h new file mode 100644 index 000000000..01ee66cd3 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/event_types.h @@ -0,0 +1,60 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2022-2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP event type definitions + */ + +#ifndef ODP_API_ABI_EVENT_TYPES_H_ +#define ODP_API_ABI_EVENT_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_event + * @{ + */ + +typedef ODP_HANDLE_T(odp_event_t); + +#define ODP_EVENT_INVALID _odp_cast_scalar(odp_event_t, 0) + +typedef enum odp_event_type_t { + ODP_EVENT_BUFFER = 1, + ODP_EVENT_PACKET = 2, + ODP_EVENT_TIMEOUT = 3, + ODP_EVENT_IPSEC_STATUS = 5, + ODP_EVENT_PACKET_VECTOR = 6, + ODP_EVENT_PACKET_TX_COMPL = 7, + ODP_EVENT_DMA_COMPL = 8, + ODP_EVENT_ML_COMPL = 9 +} odp_event_type_t; + +typedef enum odp_event_subtype_t { + ODP_EVENT_NO_SUBTYPE = 0, + ODP_EVENT_PACKET_BASIC = 1, + ODP_EVENT_PACKET_CRYPTO = 2, + ODP_EVENT_PACKET_IPSEC = 3, + ODP_EVENT_PACKET_COMP = 4, + ODP_EVENT_ML_COMPL_LOAD = 5, + ODP_EVENT_ML_COMPL_RUN = 6 +} odp_event_subtype_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/hash.h b/platform/linux-generic/include-abi/odp/api/abi/hash.h new file mode 100644 index 000000000..b132d7eb4 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/hash.h @@ -0,0 +1,21 @@ +/* Copyright (c) 2020, Marvell + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP hash + */ + +#ifndef ODP_API_ABI_HASH_H_ +#define ODP_API_ABI_HASH_H_ + +#include <odp/api/abi-default/hash.h> + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/hash_inlines.h> + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/init.h b/platform/linux-generic/include-abi/odp/api/abi/init.h new file mode 100644 index 000000000..7ad523fde --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/init.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/init.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/ipsec.h b/platform/linux-generic/include-abi/odp/api/abi/ipsec.h new file mode 100644 index 000000000..1817e5564 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/ipsec.h @@ -0,0 +1,32 @@ +/* Copyright (c) 2016-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP IPsec + */ + +#ifndef ODP_API_ABI_IPSEC_H_ +#define ODP_API_ABI_IPSEC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined API functions */ +#include <odp/api/plat/ipsec_inlines.h> + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/ipsec_types.h b/platform/linux-generic/include-abi/odp/api/abi/ipsec_types.h new file mode 100644 index 000000000..1c5501997 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/ipsec_types.h @@ -0,0 +1,41 @@ +/* Copyright (c) 2016-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP IPsec platform specific types + */ + +#ifndef ODP_API_ABI_IPSEC_TYPES_H_ +#define ODP_API_ABI_IPSEC_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_ipsec + * @{ + */ + +typedef ODP_HANDLE_T(odp_ipsec_sa_t); + +#define ODP_IPSEC_SA_INVALID _odp_cast_scalar(odp_ipsec_sa_t, 0) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/ml_types.h b/platform/linux-generic/include-abi/odp/api/abi/ml_types.h new file mode 100644 index 000000000..0fdb7a8dc --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/ml_types.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2021-2023 Nokia + */ + +#ifndef ODP_API_ABI_ML_TYPES_H_ +#define ODP_API_ABI_ML_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @internal Implementation specific ML parameters */ +struct _odp_ml_model_extra_param_t { + /** @internal Dummy field to avoid empty struct */ + char dummy; +}; + +/** @addtogroup odp_ml + * @{ + */ + +typedef ODP_HANDLE_T(odp_ml_model_t); +typedef ODP_HANDLE_T(odp_ml_compl_t); +typedef struct _odp_ml_model_extra_param_t odp_ml_model_extra_param_t; + +#define ODP_ML_MODEL_INVALID _odp_cast_scalar(odp_ml_model_t, 0) +#define ODP_ML_COMPL_INVALID _odp_cast_scalar(odp_ml_compl_t, 0) + +#define ODP_ML_MODEL_NAME_LEN 64 +#define ODP_ML_MODEL_IO_NAME_LEN 64 +#define ODP_ML_SHAPE_NAME_LEN 16 +#define ODP_ML_EXTRA_STAT_NAME_LEN 64 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet.h b/platform/linux-generic/include-abi/odp/api/abi/packet.h new file mode 100644 index 000000000..5703141d4 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/packet.h @@ -0,0 +1,28 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2019, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP packet descriptor + */ + +#ifndef ODP_API_ABI_PACKET_H_ +#define ODP_API_ABI_PACKET_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/packet_inlines.h> +#include <odp/api/plat/packet_vector_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet_flags.h b/platform/linux-generic/include-abi/odp/api/abi/packet_flags.h new file mode 100644 index 000000000..8e7b88ca2 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/packet_flags.h @@ -0,0 +1,26 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP packet descriptor + */ + +#ifndef ODP_API_ABI_PACKET_FLAGS_H_ +#define ODP_API_ABI_PACKET_FLAGS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/packet_flag_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet_io.h b/platform/linux-generic/include-abi/odp/api/abi/packet_io.h new file mode 100644 index 000000000..c7c7b2faa --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/packet_io.h @@ -0,0 +1,29 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2020-2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP Packet IO + */ + +#ifndef ODP_API_ABI_PACKET_IO_H_ +#define ODP_API_ABI_PACKET_IO_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/packet_io_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet_io_types.h b/platform/linux-generic/include-abi/odp/api/abi/packet_io_types.h new file mode 100644 index 000000000..76b162020 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/packet_io_types.h @@ -0,0 +1,66 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2020-2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP Packet IO types + */ + +#ifndef ODP_API_ABI_PACKET_IO_TYPES_H_ +#define ODP_API_ABI_PACKET_IO_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_packet_io + * @{ + */ + +typedef ODP_HANDLE_T(odp_pktio_t); +typedef ODP_HANDLE_T(odp_lso_profile_t); + +/** @internal */ +typedef struct odp_pktin_queue_t { + odp_pktio_t pktio; /**< @internal pktio handle */ + int index; /**< @internal pktio queue index */ +} odp_pktin_queue_t; + +/** @internal */ +typedef struct odp_pktout_queue_t { + odp_pktio_t pktio; /**< @internal pktio handle */ + int index; /**< @internal pktio queue index */ +} odp_pktout_queue_t; + +#define ODP_PKTIO_INVALID _odp_cast_scalar(odp_pktio_t, 0) +#define ODP_LSO_PROFILE_INVALID _odp_cast_scalar(odp_lso_profile_t, 0) + +#define ODP_PKTIO_MAX_INDEX 63 + +#define ODP_PKTIO_MACADDR_MAXSIZE 16 + +#define ODP_PKTIN_NO_WAIT 0 + +#define ODP_PKTIN_MAX_QUEUES 64 + +#define ODP_PKTOUT_MAX_QUEUES 64 + +#define ODP_PKTIO_STATS_EXTRA_NAME_LEN 64 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/packet_types.h b/platform/linux-generic/include-abi/odp/api/abi/packet_types.h new file mode 100644 index 000000000..90b2af107 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/packet_types.h @@ -0,0 +1,108 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2019-2021, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP packet descriptor + */ + +#ifndef ODP_API_ABI_PACKET_TYPES_H_ +#define ODP_API_ABI_PACKET_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_packet + * @{ + */ + +typedef ODP_HANDLE_T(odp_packet_t); + +#define ODP_PACKET_INVALID _odp_cast_scalar(odp_packet_t, 0) + +#define ODP_PACKET_OFFSET_INVALID 0xffff + +typedef ODP_HANDLE_T(odp_packet_seg_t); + +#define ODP_PACKET_SEG_INVALID _odp_cast_scalar(odp_packet_seg_t, 0) + +typedef ODP_HANDLE_T(odp_packet_buf_t); + +#define ODP_PACKET_BUF_INVALID _odp_cast_scalar(odp_packet_buf_t, 0) + +typedef ODP_HANDLE_T(odp_packet_vector_t); + +#define ODP_PACKET_VECTOR_INVALID _odp_cast_scalar(odp_packet_vector_t, 0) + +typedef ODP_HANDLE_T(odp_packet_tx_compl_t); + +#define ODP_PACKET_TX_COMPL_INVALID _odp_cast_scalar(odp_packet_tx_compl_t, 0) + +#define ODP_PACKET_OFFSET_INVALID 0xffff + +typedef enum { + ODP_PACKET_GREEN = 0, + ODP_PACKET_YELLOW = 1, + ODP_PACKET_RED = 2, + ODP_PACKET_ALL_COLORS = 3, +} odp_packet_color_t; + +typedef enum { + ODP_PACKET_CHKSUM_UNKNOWN = 0, + ODP_PACKET_CHKSUM_BAD, + ODP_PACKET_CHKSUM_OK +} odp_packet_chksum_status_t; + +typedef struct odp_packet_parse_result_flag_t { + union { + uint64_t all; + + struct { + uint64_t has_error : 1; + uint64_t has_l2_error : 1; + uint64_t has_l3_error : 1; + uint64_t has_l4_error : 1; + uint64_t has_l2 : 1; + uint64_t has_l3 : 1; + uint64_t has_l4 : 1; + uint64_t has_eth : 1; + uint64_t has_eth_bcast : 1; + uint64_t has_eth_mcast : 1; + uint64_t has_jumbo : 1; + uint64_t has_vlan : 1; + uint64_t has_vlan_qinq : 1; + uint64_t has_arp : 1; + uint64_t has_ipv4 : 1; + uint64_t has_ipv6 : 1; + uint64_t has_ip_bcast : 1; + uint64_t has_ip_mcast : 1; + uint64_t has_ipfrag : 1; + uint64_t has_ipopt : 1; + uint64_t has_ipsec : 1; + uint64_t has_udp : 1; + uint64_t has_tcp : 1; + uint64_t has_sctp : 1; + uint64_t has_icmp : 1; + }; + }; + +} odp_packet_parse_result_flag_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/pool.h b/platform/linux-generic/include-abi/odp/api/abi/pool.h new file mode 100644 index 000000000..d8a80197c --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/pool.h @@ -0,0 +1,28 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP pool + */ + +#ifndef ODP_API_ABI_POOL_H_ +#define ODP_API_ABI_POOL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined API functions */ +#include <odp/api/plat/pool_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/pool_types.h b/platform/linux-generic/include-abi/odp/api/abi/pool_types.h new file mode 100644 index 000000000..77b0ff638 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/pool_types.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP pool + */ + +#ifndef ODP_API_ABI_POOL_TYPES_H_ +#define ODP_API_ABI_POOL_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_pool + * @{ + */ + +typedef ODP_HANDLE_T(odp_pool_t); + +#define ODP_POOL_INVALID _odp_cast_scalar(odp_pool_t, 0) + +#define ODP_POOL_NAME_LEN 32 + +#define ODP_POOL_MAX_THREAD_STATS 128 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/proto_stats.h b/platform/linux-generic/include-abi/odp/api/abi/proto_stats.h new file mode 100644 index 000000000..d81035df2 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/proto_stats.h @@ -0,0 +1,27 @@ +/* Copyright (c) 2021, Marvell + * Copyright (c) 2021, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP proto stats + */ + +#ifndef ODP_API_ABI_PROTO_STATS_H_ +#define ODP_API_ABI_PROTO_STATS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Placeholder for inlined functions for non-ABI compat mode */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/proto_stats_types.h b/platform/linux-generic/include-abi/odp/api/abi/proto_stats_types.h new file mode 100644 index 000000000..d9db29188 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/proto_stats_types.h @@ -0,0 +1,40 @@ +/* Copyright (c) 2021, Marvell + * Copyright (c) 2021, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP proto stats types + */ + +#ifndef ODP_API_ABI_PROTO_STATS_TYPES_H_ +#define ODP_API_ABI_PROTO_STATS_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_proto_stats + * @{ + */ + +typedef ODP_HANDLE_T(odp_proto_stats_t); + +#define ODP_PROTO_STATS_INVALID _odp_cast_scalar(odp_proto_stats_t, 0) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/queue.h b/platform/linux-generic/include-abi/odp/api/abi/queue.h new file mode 100644 index 000000000..6c34123df --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/queue.h @@ -0,0 +1,27 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP queue + */ + +#ifndef ODP_API_ABI_QUEUE_H_ +#define ODP_API_ABI_QUEUE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/queue_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/queue_types.h b/platform/linux-generic/include-abi/odp/api/abi/queue_types.h new file mode 100644 index 000000000..4eff762bd --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/queue_types.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * Copyright (c) 2021, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP queue + */ + +#ifndef ODP_API_ABI_QUEUE_TYPES_H_ +#define ODP_API_ABI_QUEUE_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_queue + * @{ + */ + +typedef ODP_HANDLE_T(odp_queue_t); + +#define ODP_QUEUE_INVALID _odp_cast_scalar(odp_queue_t, 0) + +#define ODP_QUEUE_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/random.h b/platform/linux-generic/include-abi/odp/api/abi/random.h new file mode 100644 index 000000000..07714a47e --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/random.h @@ -0,0 +1,26 @@ +/* Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP random + */ + +#ifndef ODP_API_ABI_RANDOM_H_ +#define ODP_API_ABI_RANDOM_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Empty placeholder header for function inlining */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/rwlock.h b/platform/linux-generic/include-abi/odp/api/abi/rwlock.h new file mode 100644 index 000000000..78d7c1a4a --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/rwlock.h @@ -0,0 +1,10 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/rwlock.h> + +/* Inlined API functions */ +#include <odp/api/plat/rwlock_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/rwlock_recursive.h b/platform/linux-generic/include-abi/odp/api/abi/rwlock_recursive.h new file mode 100644 index 000000000..ab7150605 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/rwlock_recursive.h @@ -0,0 +1,10 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/rwlock_recursive.h> + +/* Inlined API functions */ +#include <odp/api/plat/rwlock_recursive_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/schedule.h b/platform/linux-generic/include-abi/odp/api/abi/schedule.h new file mode 100644 index 000000000..bb28886b0 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/schedule.h @@ -0,0 +1,28 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP Schedule + */ + +#ifndef ODP_API_ABI_SCHEDULE_H_ +#define ODP_API_ABI_SCHEDULE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Inlined API functions */ +#include <odp/api/plat/schedule_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/schedule_types.h b/platform/linux-generic/include-abi/odp/api/abi/schedule_types.h new file mode 100644 index 000000000..d5164ff79 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/schedule_types.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/schedule_types.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/shared_memory.h b/platform/linux-generic/include-abi/odp/api/abi/shared_memory.h new file mode 100644 index 000000000..bfcb9ebe5 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/shared_memory.h @@ -0,0 +1,45 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP shared memory + */ + +#ifndef ODP_API_ABI_SHARED_MEMORY_H_ +#define ODP_API_ABI_SHARED_MEMORY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_shared_memory + * @{ + */ + +typedef ODP_HANDLE_T(odp_shm_t); + +#define ODP_SHM_INVALID _odp_cast_scalar(odp_shm_t, 0) + +#define ODP_SHM_NAME_LEN 32 + +#define ODP_SHM_IOVA_INVALID ((uint64_t)-1) +#define ODP_SHM_PA_INVALID ODP_SHM_IOVA_INVALID + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/spinlock.h b/platform/linux-generic/include-abi/odp/api/abi/spinlock.h new file mode 100644 index 000000000..d1e5fa1e9 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/spinlock.h @@ -0,0 +1,10 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/spinlock.h> + +/* Include inlined versions of API functions */ +#include <odp/api/plat/spinlock_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/spinlock_recursive.h b/platform/linux-generic/include-abi/odp/api/abi/spinlock_recursive.h new file mode 100644 index 000000000..cdcbae1b4 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/spinlock_recursive.h @@ -0,0 +1,10 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/spinlock_recursive.h> + +/* Include inlined versions of API functions */ +#include <odp/api/plat/spinlock_recursive_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/stash.h b/platform/linux-generic/include-abi/odp/api/abi/stash.h new file mode 100644 index 000000000..69bf989d6 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/stash.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2020, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + */ + +#ifndef ODP_API_ABI_STASH_H_ +#define ODP_API_ABI_STASH_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Empty placeholder header for inline functions */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/stash_types.h b/platform/linux-generic/include-abi/odp/api/abi/stash_types.h new file mode 100644 index 000000000..2a4115886 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/stash_types.h @@ -0,0 +1,38 @@ +/* Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + */ + +#ifndef ODP_API_ABI_STASH_TYPES_H_ +#define ODP_API_ABI_STASH_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_stash + * @{ + */ + +typedef ODP_HANDLE_T(odp_stash_t); + +#define ODP_STASH_INVALID _odp_cast_scalar(odp_stash_t, 0) + +#define ODP_STASH_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/std.h b/platform/linux-generic/include-abi/odp/api/abi/std.h new file mode 100644 index 000000000..201fca18e --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/std.h @@ -0,0 +1,26 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP barrier + */ + +#ifndef ODP_API_ABI_STD_H_ +#define ODP_API_ABI_STD_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/std_inlines.h> + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/std_types.h b/platform/linux-generic/include-abi/odp/api/abi/std_types.h new file mode 100644 index 000000000..594e6f9dd --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/std_types.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/std_types.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/sync.h b/platform/linux-generic/include-abi/odp/api/abi/sync.h new file mode 100644 index 000000000..276514b58 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/sync.h @@ -0,0 +1,34 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP barrier + */ + +#ifndef ODP_API_ABI_SYNC_H_ +#define ODP_API_ABI_SYNC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup odp_barrier + * @{ + */ + +#include <odp/api/plat/sync_inlines.h> + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/thread.h b/platform/linux-generic/include-abi/odp/api/abi/thread.h new file mode 100644 index 000000000..14c074b95 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/thread.h @@ -0,0 +1,8 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/* Inlined API functions */ +#include <odp/api/plat/thread_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/thread_types.h b/platform/linux-generic/include-abi/odp/api/abi/thread_types.h new file mode 100644 index 000000000..e695c233b --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/thread_types.h @@ -0,0 +1,5 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2023 Nokia + */ + +#include <odp/api/abi-default/thread_types.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/thrmask.h b/platform/linux-generic/include-abi/odp/api/abi/thrmask.h new file mode 100644 index 000000000..ab05cd83f --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/thrmask.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/thrmask.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/ticketlock.h b/platform/linux-generic/include-abi/odp/api/abi/ticketlock.h new file mode 100644 index 000000000..b621bea7e --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/ticketlock.h @@ -0,0 +1,43 @@ +/* Copyright (c) 2015-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP ticketlock + */ + +#ifndef ODP_API_ABI_TICKETLOCK_H_ +#define ODP_API_ABI_TICKETLOCK_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/atomic.h> + +/** @addtogroup odp_locks + * @{ + */ + +/** @internal */ +typedef struct odp_ticketlock_s { + odp_atomic_u32_t next_ticket; /**< Next ticket */ + odp_atomic_u32_t cur_ticket; /**< Current ticket */ +} odp_ticketlock_t; + +/* Include inlined versions of API functions */ +#include <odp/api/plat/ticketlock_inlines.h> + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/time.h b/platform/linux-generic/include-abi/odp/api/abi/time.h new file mode 100644 index 000000000..62c7e2b67 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/time.h @@ -0,0 +1,8 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/* Inlined API functions */ +#include <odp/api/plat/time_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/time_types.h b/platform/linux-generic/include-abi/odp/api/abi/time_types.h new file mode 100644 index 000000000..cba80f508 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/time_types.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2023, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/time_types.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/timer.h b/platform/linux-generic/include-abi/odp/api/abi/timer.h new file mode 100644 index 000000000..0a3b3a9cc --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/timer.h @@ -0,0 +1,8 @@ +/* Copyright (c) 2022, Nokia + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/* Inlined functions for non-ABI compat mode */ +#include <odp/api/plat/timer_inlines.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/timer_types.h b/platform/linux-generic/include-abi/odp/api/abi/timer_types.h new file mode 100644 index 000000000..6cfa37a36 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/timer_types.h @@ -0,0 +1,49 @@ +/* Copyright (c) 2013-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * ODP timer service + */ + +#ifndef ODP_API_ABI_TIMER_TYPES_H_ +#define ODP_API_ABI_TIMER_TYPES_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/plat/strong_types.h> + +/** @addtogroup odp_timer + * @{ + **/ + +typedef ODP_HANDLE_T(odp_timer_pool_t); + +#define ODP_TIMER_POOL_INVALID _odp_cast_scalar(odp_timer_pool_t, 0) + +#define ODP_TIMER_POOL_NAME_LEN 32 + +typedef ODP_HANDLE_T(odp_timer_t); + +#define ODP_TIMER_INVALID _odp_cast_scalar(odp_timer_t, 0) + +typedef ODP_HANDLE_T(odp_timeout_t); + +#define ODP_TIMEOUT_INVALID _odp_cast_scalar(odp_timeout_t, 0) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/platform/linux-generic/include-abi/odp/api/abi/traffic_mngr.h b/platform/linux-generic/include-abi/odp/api/abi/traffic_mngr.h new file mode 100644 index 000000000..0e6bc7982 --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/traffic_mngr.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/traffic_mngr.h> diff --git a/platform/linux-generic/include-abi/odp/api/abi/version.h b/platform/linux-generic/include-abi/odp/api/abi/version.h new file mode 100644 index 000000000..429d4f3fa --- /dev/null +++ b/platform/linux-generic/include-abi/odp/api/abi/version.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017-2018, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/api/abi-default/version.h> |