aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include/api
diff options
context:
space:
mode:
authorAnders Roxell <anders.roxell@linaro.org>2015-01-28 16:46:36 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-01-29 20:42:32 +0300
commitcb197cd973230fe765adc159ba82bd9edda0dd9f (patch)
tree9d75caf2e2804da37278c424b53cfc8e7371a93d /platform/linux-generic/include/api
parentc1b9f1d9fca5904f1eae8416a863bf151d53b523 (diff)
api: move generic API into the odp namespace
Move generic API into an api directory. Force the platform implementation to add its own header file that shall include the generic API header file. This splitup enables platform implementors to implement inline functions without modifying the "public" API files. Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Reviewed-by: Taras Kondratiuk <taras.kondratiuk@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/include/api')
-rw-r--r--platform/linux-generic/include/api/odp.h57
-rw-r--r--platform/linux-generic/include/api/odp/align.h96
-rw-r--r--platform/linux-generic/include/api/odp/atomic.h411
-rw-r--r--platform/linux-generic/include/api/odp/barrier.h67
-rw-r--r--platform/linux-generic/include/api/odp/buffer.h107
-rw-r--r--platform/linux-generic/include/api/odp/byteorder.h287
-rw-r--r--platform/linux-generic/include/api/odp/classification.h397
-rw-r--r--platform/linux-generic/include/api/odp/compiler.h51
-rw-r--r--platform/linux-generic/include/api/odp/config.h130
-rw-r--r--platform/linux-generic/include/api/odp/cpumask.h179
-rw-r--r--platform/linux-generic/include/api/odp/crypto.h321
-rw-r--r--platform/linux-generic/include/api/odp/debug.h58
-rw-r--r--platform/linux-generic/include/api/odp/event.h59
-rw-r--r--platform/linux-generic/include/api/odp/hints.h95
-rw-r--r--platform/linux-generic/include/api/odp/init.h187
-rw-r--r--platform/linux-generic/include/api/odp/packet.h859
-rw-r--r--platform/linux-generic/include/api/odp/packet_flags.h334
-rw-r--r--platform/linux-generic/include/api/odp/packet_io.h234
-rw-r--r--platform/linux-generic/include/api/odp/platform_types.h90
-rw-r--r--platform/linux-generic/include/api/odp/pool.h203
-rw-r--r--platform/linux-generic/include/api/odp/queue.h268
-rw-r--r--platform/linux-generic/include/api/odp/rwlock.h85
-rw-r--r--platform/linux-generic/include/api/odp/schedule.h126
-rw-r--r--platform/linux-generic/include/api/odp/shared_memory.h126
-rw-r--r--platform/linux-generic/include/api/odp/spinlock.h92
-rw-r--r--platform/linux-generic/include/api/odp/std_types.h40
-rw-r--r--platform/linux-generic/include/api/odp/sync.h66
-rw-r--r--platform/linux-generic/include/api/odp/system_info.h80
-rw-r--r--platform/linux-generic/include/api/odp/thread.h48
-rw-r--r--platform/linux-generic/include/api/odp/ticketlock.h94
-rw-r--r--platform/linux-generic/include/api/odp/time.h80
-rw-r--r--platform/linux-generic/include/api/odp/timer.h403
-rw-r--r--platform/linux-generic/include/api/odp/version.h90
33 files changed, 0 insertions, 5820 deletions
diff --git a/platform/linux-generic/include/api/odp.h b/platform/linux-generic/include/api/odp.h
deleted file mode 100644
index 30bed8e0d..000000000
--- a/platform/linux-generic/include/api/odp.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * The OpenDataPlane API
- *
- */
-
-#ifndef ODP_H_
-#define ODP_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/config.h>
-
-#include <odp/version.h>
-#include <odp/std_types.h>
-#include <odp/compiler.h>
-#include <odp/align.h>
-#include <odp/hints.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
-#include <odp/cpumask.h>
-#include <odp/barrier.h>
-#include <odp/spinlock.h>
-#include <odp/atomic.h>
-#include <odp/init.h>
-#include <odp/system_info.h>
-#include <odp/thread.h>
-#include <odp/shared_memory.h>
-#include <odp/buffer.h>
-#include <odp/pool.h>
-#include <odp/queue.h>
-#include <odp/ticketlock.h>
-#include <odp/time.h>
-#include <odp/timer.h>
-#include <odp/schedule.h>
-#include <odp/sync.h>
-#include <odp/packet.h>
-#include <odp/packet_flags.h>
-#include <odp/packet_io.h>
-#include <odp/crypto.h>
-#include <odp/classification.h>
-#include <odp/rwlock.h>
-#include <odp/event.h>
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/platform/linux-generic/include/api/odp/align.h b/platform/linux-generic/include/api/odp/align.h
deleted file mode 100644
index 741f9fd76..000000000
--- a/platform/linux-generic/include/api/odp/align.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP alignments
- */
-
-#ifndef ODP_ALIGN_H_
-#define ODP_ALIGN_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_compiler_optim
- * Macros that allow cache line size configuration, check that
- * alignment is a power of two etc.
- * @{
- */
-
-#ifdef __GNUC__
-
-/* Checkpatch complains, but cannot use __aligned(size) for this purpose. */
-
-/**
- * Defines type/struct/variable alignment in bytes
- */
-#define ODP_ALIGNED(x) __attribute__((__aligned__(x)))
-
-/**
- * Defines type/struct to be packed
- */
-#define ODP_PACKED __attribute__((__packed__))
-
-/**
- * Returns offset of member in type
- */
-#define ODP_OFFSETOF(type, member) __builtin_offsetof(type, member)
-
-/**
- * Returns sizeof member
- */
-#define ODP_FIELD_SIZEOF(type, member) sizeof(((type *)0)->member)
-
-#if defined __x86_64__ || defined __i386__
-
-/** Cache line size */
-#define ODP_CACHE_LINE_SIZE 64
-
-#elif defined __arm__ || defined __aarch64__
-
-/** Cache line size */
-#define ODP_CACHE_LINE_SIZE 64
-
-#elif defined __OCTEON__
-
-/** Cache line size */
-#define ODP_CACHE_LINE_SIZE 128
-
-#elif defined __powerpc__
-
-/** Cache line size */
-#define ODP_CACHE_LINE_SIZE 64
-
-#else
-#error GCC target not found
-#endif
-
-#else
-#error Non-gcc compatible compiler
-#endif
-
-/** Page size */
-#define ODP_PAGE_SIZE 4096
-
-/** Defines type/struct/variable to be cache line size aligned */
-#define ODP_ALIGNED_CACHE ODP_ALIGNED(ODP_CACHE_LINE_SIZE)
-
-/** Defines type/struct/variable to be page size aligned */
-#define ODP_ALIGNED_PAGE ODP_ALIGNED(ODP_PAGE_SIZE)
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/atomic.h b/platform/linux-generic/include/api/odp/atomic.h
deleted file mode 100644
index ab424c096..000000000
--- a/platform/linux-generic/include/api/odp/atomic.h
+++ /dev/null
@@ -1,411 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP atomic operations
- */
-
-#ifndef ODP_ATOMIC_H_
-#define ODP_ATOMIC_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-#include <odp/align.h>
-
-/** @addtogroup odp_synchronizers
- * Atomic types and relaxed operations. These operations cannot be used for
- * synchronization.
- * @{
- */
-
-
-/**
- * Atomic 64-bit unsigned integer
- */
-typedef struct {
- uint64_t v; /**< Actual storage for the atomic variable */
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- /* 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 */
-#endif
-} odp_atomic_u64_t
-ODP_ALIGNED(sizeof(uint64_t)); /* Enforce alignement! */
-
-
-/**
- * Atomic 32-bit unsigned integer
- */
-typedef struct {
- uint32_t v; /**< Actual storage for the atomic variable */
-} odp_atomic_u32_t
-ODP_ALIGNED(sizeof(uint32_t)); /* Enforce alignement! */
-
-
-/**
- * Initialize atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[out] atom Pointer to an atomic uint32 variable
- * @param val Value to initialize the variable with
- */
-static inline void odp_atomic_init_u32(odp_atomic_u32_t *atom, uint32_t val)
-{
- __atomic_store_n(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Load value of atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param atom Pointer to an atomic uint32 variable
- *
- * @return Value of the variable
- */
-static inline uint32_t odp_atomic_load_u32(odp_atomic_u32_t *atom)
-{
- return __atomic_load_n(&atom->v, __ATOMIC_RELAXED);
-}
-
-/**
- * Store value to atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[out] atom Pointer to an atomic uint32 variable
- * @param val Value to store in the variable
- */
-static inline void odp_atomic_store_u32(odp_atomic_u32_t *atom,
- uint32_t val)
-{
- __atomic_store_n(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Fetch and add to atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- * @param val Value to be added to the variable
- *
- * @return Value of the variable before the addition
- */
-static inline uint32_t odp_atomic_fetch_add_u32(odp_atomic_u32_t *atom,
- uint32_t val)
-{
- return __atomic_fetch_add(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Add to atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- * @param val A value to be added to the variable
- */
-static inline void odp_atomic_add_u32(odp_atomic_u32_t *atom,
- uint32_t val)
-{
- (void)__atomic_fetch_add(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Fetch and subtract from atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- * @param val A value to be subracted from the variable
- *
- * @return Value of the variable before the subtraction
- */
-static inline uint32_t odp_atomic_fetch_sub_u32(odp_atomic_u32_t *atom,
- uint32_t val)
-{
- return __atomic_fetch_sub(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Subtract from atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- * @param val Value to be subtracted from the variable
- */
-static inline void odp_atomic_sub_u32(odp_atomic_u32_t *atom,
- uint32_t val)
-{
- (void)__atomic_fetch_sub(&atom->v, val, __ATOMIC_RELAXED);
-}
-
-/**
- * Fetch and increment atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- *
- * @return Value of the variable before the increment
- */
-
-static inline uint32_t odp_atomic_fetch_inc_u32(odp_atomic_u32_t *atom)
-{
- return __atomic_fetch_add(&atom->v, 1, __ATOMIC_RELAXED);
-}
-
-/**
- * Increment atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- */
-static inline void odp_atomic_inc_u32(odp_atomic_u32_t *atom)
-{
- (void)__atomic_fetch_add(&atom->v, 1, __ATOMIC_RELAXED);
-}
-
-/**
- * Fetch and decrement atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- *
- * @return Value of the variable before the subtraction
- */
-static inline uint32_t odp_atomic_fetch_dec_u32(odp_atomic_u32_t *atom)
-{
- return __atomic_fetch_sub(&atom->v, 1, __ATOMIC_RELAXED);
-}
-
-/**
- * Decrement atomic uint32 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint32 variable
- */
-static inline void odp_atomic_dec_u32(odp_atomic_u32_t *atom)
-{
- (void)__atomic_fetch_sub(&atom->v, 1, __ATOMIC_RELAXED);
-}
-
-/**
- * Initialize atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[out] atom Pointer to an atomic uint64 variable
- * @param val Value to initialize the variable with
- */
-static inline void odp_atomic_init_u64(odp_atomic_u64_t *atom, uint64_t val)
-{
- atom->v = val;
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- __atomic_clear(&atom->lock, __ATOMIC_RELAXED);
-#endif
-}
-
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
-/**
- * @internal
- * Helper macro for lock-based atomic operations on 64-bit integers
- * @param[in,out] atom Pointer to the 64-bit atomic variable
- * @param expr Expression used update the variable.
- * @return The old value of the variable.
- */
-#define ATOMIC_OP(atom, expr) \
-({ \
- uint64_t old_val; \
- /* Loop while lock is already taken, stop when lock becomes clear */ \
- while (__atomic_test_and_set(&(atom)->lock, __ATOMIC_ACQUIRE)) \
- (void)0; \
- old_val = (atom)->v; \
- (expr); /* Perform whatever update is desired */ \
- __atomic_clear(&(atom)->lock, __ATOMIC_RELEASE); \
- old_val; /* Return old value */ \
-})
-#endif
-
-/**
- * Load value of atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param atom Pointer to an atomic uint64 variable
- *
- * @return Value of the variable
- */
-static inline uint64_t odp_atomic_load_u64(odp_atomic_u64_t *atom)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- return ATOMIC_OP(atom, (void)0);
-#else
- return __atomic_load_n(&atom->v, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Store value to atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[out] atom Pointer to an atomic uint64 variable
- * @param val Value to store in the variable
- */
-static inline void odp_atomic_store_u64(odp_atomic_u64_t *atom,
- uint64_t val)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- (void)ATOMIC_OP(atom, atom->v = val);
-#else
- __atomic_store_n(&atom->v, val, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Fetch and add to atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- * @param val Value to be added to the variable
- *
- * @return Value of the variable before the addition
- */
-
-static inline uint64_t odp_atomic_fetch_add_u64(odp_atomic_u64_t *atom,
- uint64_t val)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- return ATOMIC_OP(atom, atom->v += val);
-#else
- return __atomic_fetch_add(&atom->v, val, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Add to atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- * @param val Value to be added to the variable
- *
- */
-static inline void odp_atomic_add_u64(odp_atomic_u64_t *atom, uint64_t val)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- (void)ATOMIC_OP(atom, atom->v += val);
-#else
- (void)__atomic_fetch_add(&atom->v, val, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Fetch and subtract from atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- * @param val Value to be subtracted from the variable
- *
- * @return Value of the variable before the subtraction
- */
-static inline uint64_t odp_atomic_fetch_sub_u64(odp_atomic_u64_t *atom,
- uint64_t val)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- return ATOMIC_OP(atom, atom->v -= val);
-#else
- return __atomic_fetch_sub(&atom->v, val, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Subtract from atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- * @param val Value to be subtracted from the variable
- */
-static inline void odp_atomic_sub_u64(odp_atomic_u64_t *atom, uint64_t val)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- (void)ATOMIC_OP(atom, atom->v -= val);
-#else
- (void)__atomic_fetch_sub(&atom->v, val, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Fetch and increment atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- *
- * @return Value of the variable before the increment
- */
-static inline uint64_t odp_atomic_fetch_inc_u64(odp_atomic_u64_t *atom)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- return ATOMIC_OP(atom, atom->v++);
-#else
- return __atomic_fetch_add(&atom->v, 1, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Increment atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- */
-static inline void odp_atomic_inc_u64(odp_atomic_u64_t *atom)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- (void)ATOMIC_OP(atom, atom->v++);
-#else
- (void)__atomic_fetch_add(&atom->v, 1, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Fetch and decrement atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- *
- * @return Value of the variable before the decrement
- */
-static inline uint64_t odp_atomic_fetch_dec_u64(odp_atomic_u64_t *atom)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- return ATOMIC_OP(atom, atom->v--);
-#else
- return __atomic_fetch_sub(&atom->v, 1, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * Decrement atomic uint64 variable
- * @note Relaxed memory order, cannot be used for synchronization
- *
- * @param[in,out] atom Pointer to an atomic uint64 variable
- */
-static inline void odp_atomic_dec_u64(odp_atomic_u64_t *atom)
-{
-#if __GCC_ATOMIC_LLONG_LOCK_FREE < 2
- (void)ATOMIC_OP(atom, atom->v--);
-#else
- (void)__atomic_fetch_sub(&atom->v, 1, __ATOMIC_RELAXED);
-#endif
-}
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/barrier.h b/platform/linux-generic/include/api/odp/barrier.h
deleted file mode 100644
index 9ba54c3e2..000000000
--- a/platform/linux-generic/include/api/odp/barrier.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP execution barriers
- */
-
-#ifndef ODP_BARRIER_H_
-#define ODP_BARRIER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/atomic.h>
-
-/** @addtogroup odp_synchronizers
- * Synchronize threads.
- * @{
- */
-
-/**
- * ODP thread synchronization barrier
- */
-typedef struct odp_barrier_t {
- uint32_t count; /**< @private Thread count */
- odp_atomic_u32_t bar; /**< @private Barrier counter */
-} odp_barrier_t;
-
-
-/**
- * Initialize barrier with thread count.
- *
- * @param barr Pointer to a barrier variable
- * @param count Thread count
- */
-void odp_barrier_init(odp_barrier_t *barr, int count);
-
-
-/**
- * Synchronize thread execution on barrier.
- * Wait for all threads to arrive at the barrier until they are let loose again.
- * Threads will block (spin) until the last thread has arrived at the barrier.
- * All memory operations before the odp_barrier_wait() call will be visible
- * to all threads when they leave the barrier.
- *
- * @param barr Pointer to a barrier variable
- */
-void odp_barrier_wait(odp_barrier_t *barr);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/buffer.h b/platform/linux-generic/include/api/odp/buffer.h
deleted file mode 100644
index 41d48a183..000000000
--- a/platform/linux-generic/include/api/odp/buffer.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP buffer descriptor
- */
-
-#ifndef ODP_BUFFER_H_
-#define ODP_BUFFER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-#include <odp/event.h>
-
-/** @defgroup odp_buffer ODP BUFFER
- * Operations on a buffer.
- * @{
- */
-
-
-/**
- * Get buffer handle from event
- *
- * Converts an ODP_EVENT_BUFFER type event to a buffer.
- *
- * @param ev Event handle
- *
- * @return Buffer handle
- *
- * @see odp_event_type()
- */
-odp_buffer_t odp_buffer_from_event(odp_event_t ev);
-
-/**
- * Convert buffer handle to event
- *
- * @param buf Buffer handle
- *
- * @return Event handle
- */
-odp_event_t odp_buffer_to_event(odp_buffer_t buf);
-
-/**
- * Buffer start address
- *
- * @param buf Buffer handle
- *
- * @return Buffer start address
- */
-void *odp_buffer_addr(odp_buffer_t buf);
-
-/**
- * Buffer maximum data size
- *
- * @param buf Buffer handle
- *
- * @return Buffer maximum data size
- */
-uint32_t odp_buffer_size(odp_buffer_t buf);
-
-/**
- * Tests if buffer is valid
- *
- * @param buf Buffer handle
- *
- * @retval 1 Buffer handle represents a valid buffer.
- * @retval 0 Buffer handle does not represent a valid buffer.
- */
-int odp_buffer_is_valid(odp_buffer_t buf);
-
-/**
- * Buffer pool of the buffer
- *
- * @param buf Buffer handle
- *
- * @return Handle of buffer pool buffer belongs to
- */
-odp_pool_t odp_buffer_pool(odp_buffer_t buf);
-
-/**
- * Print buffer metadata to STDOUT
- *
- * @param buf Buffer handle
- *
- */
-void odp_buffer_print(odp_buffer_t buf);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/byteorder.h b/platform/linux-generic/include/api/odp/byteorder.h
deleted file mode 100644
index f2633c243..000000000
--- a/platform/linux-generic/include/api/odp/byteorder.h
+++ /dev/null
@@ -1,287 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP byteorder
- */
-
-#ifndef ODP_BYTEORDER_H_
-#define ODP_BYTEORDER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <endian.h>
-#include <asm/byteorder.h>
-#include <odp/std_types.h>
-#include <odp/compiler.h>
-
-/** @defgroup odp_compiler_optim ODP COMPILER / OPTIMIZATION
- * Macros that check byte order and byte converting operations.
- * @{
- */
-
-#ifndef __BYTE_ORDER
-#error __BYTE_ORDER not defined!
-#endif
-
-#ifndef __BIG_ENDIAN
-#error __BIG_ENDIAN not defined!
-#endif
-
-#ifndef __LITTLE_ENDIAN
-#error __LITTLE_ENDIAN not defined!
-#endif
-
-/** Big endian byte order */
-#define ODP_BIG_ENDIAN __BIG_ENDIAN
-
-/** Little endian byte order */
-#define ODP_LITTLE_ENDIAN __LITTLE_ENDIAN
-
-/** Big endian bit field */
-#ifdef __BIG_ENDIAN_BITFIELD
-#define ODP_BIG_ENDIAN_BITFIELD
-#endif
-
-/** Little endian bit field */
-#ifdef __LITTLE_ENDIAN_BITFIELD
-#define ODP_LITTLE_ENDIAN_BITFIELD
-#endif
-
-/** Selected byte order */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define ODP_BYTE_ORDER ODP_LITTLE_ENDIAN
-#elif __BYTE_ORDER == __BIG_ENDIAN
-#define ODP_BYTE_ORDER ODP_BIG_ENDIAN
-#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
-
-
-typedef uint16_t __odp_bitwise uint16le_t; /**< unsigned 16bit little endian */
-typedef uint16_t __odp_bitwise uint16be_t; /**< unsigned 16bit big endian */
-
-typedef uint32_t __odp_bitwise uint32le_t; /**< unsigned 32bit little endian */
-typedef uint32_t __odp_bitwise uint32be_t; /**< unsigned 32bit big endian */
-
-typedef uint64_t __odp_bitwise uint64le_t; /**< unsigned 64bit little endian */
-typedef uint64_t __odp_bitwise uint64be_t; /**< unsigned 64bit big endian */
-
-typedef uint16_t __odp_bitwise uint16sum_t; /**< unsigned 16bit bitwise */
-typedef uint32_t __odp_bitwise uint32sum_t; /**< unsigned 32bit bitwise */
-/*
- * Big Endian -> CPU byte order:
- */
-
-/**
- * Convert 16bit big endian to cpu native uint16_t
- * @param be16 big endian 16bit
- * @return cpu native uint16_t
- */
-static inline uint16_t odp_be_to_cpu_16(uint16be_t be16)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return __odp_builtin_bswap16((__odp_force uint16_t)be16);
-#else
- return (__odp_force uint16_t)be16;
-#endif
-}
-
-/**
- * Convert 32bit big endian to cpu native uint32_t
- * @param be32 big endian 32bit
- * @return cpu native uint32_t
- */
-static inline uint32_t odp_be_to_cpu_32(uint32be_t be32)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return __builtin_bswap32((__odp_force uint32_t)be32);
-#else
- return (__odp_force uint32_t)be32;
-#endif
-}
-
-/**
- * Convert 64bit big endian to cpu native uint64_t
- * @param be64 big endian 64bit
- * @return cpu native uint64_t
- */
-static inline uint64_t odp_be_to_cpu_64(uint64be_t be64)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return __builtin_bswap64((__odp_force uint64_t)be64);
-#else
- return (__odp_force uint64_t)be64;
-#endif
-}
-
-
-/*
- * CPU byte order -> Big Endian:
- */
-
-/**
- * Convert cpu native uint16_t to 16bit big endian
- * @param cpu16 uint16_t in cpu native format
- * @return big endian 16bit
- */
-static inline uint16be_t odp_cpu_to_be_16(uint16_t cpu16)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint16be_t)__odp_builtin_bswap16(cpu16);
-#else
- return (__odp_force uint16be_t)cpu16;
-#endif
-}
-
-/**
- * Convert cpu native uint32_t to 32bit big endian
- * @param cpu32 uint32_t in cpu native format
- * @return big endian 32bit
- */
-static inline uint32be_t odp_cpu_to_be_32(uint32_t cpu32)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint32be_t)__builtin_bswap32(cpu32);
-#else
- return (__odp_force uint32be_t)cpu32;
-#endif
-}
-
-/**
- * Convert cpu native uint64_t to 64bit big endian
- * @param cpu64 uint64_t in cpu native format
- * @return big endian 64bit
- */
-static inline uint64be_t odp_cpu_to_be_64(uint64_t cpu64)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint64be_t)__builtin_bswap64(cpu64);
-#else
- return (__odp_force uint64be_t)cpu64;
-#endif
-}
-
-
-/*
- * Little Endian -> CPU byte order:
- */
-
-/**
- * Convert 16bit little endian to cpu native uint16_t
- * @param le16 little endian 16bit
- * @return cpu native uint16_t
- */
-static inline uint16_t odp_le_to_cpu_16(uint16le_t le16)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint16_t)le16;
-#else
- return __odp_builtin_bswap16((__odp_force uint16_t)le16);
-#endif
-}
-
-/**
- * Convert 32bit little endian to cpu native uint32_t
- * @param le32 little endian 32bit
- * @return cpu native uint32_t
- */
-static inline uint32_t odp_le_to_cpu_32(uint32le_t le32)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint32_t)le32;
-#else
- return __builtin_bswap32((__odp_force uint32_t)le32);
-#endif
-}
-
-/**
- * Convert 64bit little endian to cpu native uint64_t
- * @param le64 little endian 64bit
- * @return cpu native uint64_t
- */
-static inline uint64_t odp_le_to_cpu_64(uint64le_t le64)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint64_t)le64;
-#else
- return __builtin_bswap64((__odp_force uint64_t)le64);
-#endif
-}
-
-
-/*
- * CPU byte order -> Little Endian:
- */
-
-/**
- * Convert cpu native uint16_t to 16bit little endian
- * @param cpu16 uint16_t in cpu native format
- * @return little endian 16bit
- */
-static inline uint16le_t odp_cpu_to_le_16(uint16_t cpu16)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint16le_t)cpu16;
-#else
- return (__odp_force uint16le_t)__odp_builtin_bswap16(cpu16);
-#endif
-}
-
-/**
- * Convert cpu native uint32_t to 32bit little endian
- * @param cpu32 uint32_t in cpu native format
- * @return little endian 32bit
- */
-static inline uint32le_t odp_cpu_to_le_32(uint32_t cpu32)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint32le_t)cpu32;
-#else
- return (__odp_force uint32le_t)__builtin_bswap32(cpu32);
-#endif
-}
-
-/**
- * Convert cpu native uint64_t to 64bit little endian
- * @param cpu64 uint64_t in cpu native format
- * @return little endian 64bit
- */
-static inline uint64le_t odp_cpu_to_le_64(uint64_t cpu64)
-{
-#if ODP_BYTE_ORDER == ODP_LITTLE_ENDIAN
- return (__odp_force uint64le_t)cpu64;
-#else
- return (__odp_force uint64le_t)__builtin_bswap64(cpu64);
-#endif
-}
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/classification.h b/platform/linux-generic/include/api/odp/classification.h
deleted file mode 100644
index 8a5c82e3b..000000000
--- a/platform/linux-generic/include/api/odp/classification.h
+++ /dev/null
@@ -1,397 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP classification descriptor
- */
-
-#ifndef ODP_CLASSIFY_H_
-#define ODP_CLASSIFY_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/pool.h>
-#include <odp/packet.h>
-#include <odp/queue.h>
-
-/** @defgroup odp_classification ODP CLASSIFICATION
- * Classification operations.
- * @{
- */
-
-
-/**
- * flow signature type, only used for packet metadata field.
- */
-typedef uint32_t odp_flowsig_t;
-
-/**
- * This value is returned from odp_cos_create() on failure,
- * May also be used as a sink class of service that
- * results in packets being discarded.
-*/
-#define ODP_COS_INVALID ((odp_cos_t)~0)
-
-/** Maximum ClassOfService name length in chars */
-#define ODP_COS_NAME_LEN 32
-
-/**
- * Class-of-service packet drop policies
- */
-typedef enum odp_cos_drop {
- ODP_COS_DROP_POOL, /**< Follow buffer pool drop policy */
- ODP_COS_DROP_NEVER, /**< Never drop, ignoring buffer pool policy */
-} odp_drop_e;
-
-/**
- * Packet header field enumeration
- * for fields that may be used to calculate
- * the flow signature, if present in a packet.
- */
-typedef enum odp_cos_hdr_flow_fields {
- ODP_COS_FHDR_IN_PKTIO, /**< Ingress port number */
- ODP_COS_FHDR_L2_SAP, /**< Ethernet Source MAC address */
- ODP_COS_FHDR_L2_DAP, /**< Ethernet Destination MAC address */
- ODP_COS_FHDR_L2_VID, /**< Ethernet VLAN ID */
- ODP_COS_FHDR_L3_FLOW, /**< IPv6 flow_id */
- ODP_COS_FHDR_L3_SAP, /**< IP source address */
- ODP_COS_FHDR_L3_DAP, /**< IP destination address */
- ODP_COS_FHDR_L4_PROTO, /**< IP protocol (e.g. TCP/UDP/ICMP) */
- ODP_COS_FHDR_L4_SAP, /**< Transport source port */
- ODP_COS_FHDR_L4_DAP, /**< Transport destination port */
- ODP_COS_FHDR_IPSEC_SPI, /**< IPsec session identifier */
- ODP_COS_FHDR_LD_VNI, /**< NVGRE/VXLAN network identifier */
- ODP_COS_FHDR_USER /**< Application-specific header field(s) */
-} odp_cos_hdr_flow_fields_e;
-
-/**
- * Create a class-of-service
- *
- * @param[in] name String intended for debugging purposes.
- *
- * @return Class of service instance identifier,
- * or ODP_COS_INVALID on error.
- */
-odp_cos_t odp_cos_create(const char *name);
-
-/**
- * Discard a class-of-service along with all its associated resources
- *
- * @param[in] cos_id class-of-service instance.
- *
- * @return 0 on success, non-zero on error.
- */
-int odp_cos_destroy(odp_cos_t cos_id);
-
-/**
- * Assign a queue for a class-of-service
- *
- * @param[in] cos_id class-of-service instance.
- *
- * @param[in] queue_id Identifier of a queue where all packets
- * of this specific class of service
- * will be enqueued.
- *
- * @return 0 on success, non-zero on error.
- */
-int odp_cos_set_queue(odp_cos_t cos_id, odp_queue_t queue_id);
-
-/**
- * Assign packet drop policy for specific class-of-service
- *
- * @param[in] cos_id class-of-service instance.
- * @param[in] drop_policy Desired packet drop policy for this class.
- *
- * @return 0 on success, non-zero on error.
- *
- * @note Optional.
- */
-int odp_cos_set_drop(odp_cos_t cos_id, odp_drop_e drop_policy);
-
-/**
- * Request to override per-port class of service
- * based on Layer-2 priority field if present.
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] num_qos Number of QoS levels, typically 8.
- * @param[in] qos_table Values of the Layer-2 QoS header field.
- * @param[in] cos_table Class-of-service assigned to each of the
- * allowed Layer-2 QOS levels.
- * @return 0 on success, non-zero on error.
- */
-int odp_cos_with_l2_priority(odp_pktio_t pktio_in,
- uint8_t num_qos,
- uint8_t qos_table[],
- odp_cos_t cos_table[]);
-
-/**
- * Request to override per-port class of service
- * based on Layer-3 priority field if present.
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] num_qos Number of allowed Layer-3 QoS levels.
- * @param[in] qos_table Values of the Layer-3 QoS header field.
- * @param[in] cos_table Class-of-service assigned to each of the
- * allowed Layer-3 QOS levels.
- * @param[in] l3_preference when true, Layer-3 QoS overrides
- * L2 QoS when present.
- *
- * @return 0 on success, non-zero on error.
- *
- * @note Optional.
- */
-int odp_cos_with_l3_qos(odp_pktio_t pktio_in,
- uint32_t num_qos,
- uint8_t qos_table[],
- odp_cos_t cos_table[],
- odp_bool_t l3_preference);
-
-
-/**
- * Set of header fields that take part in flow signature hash calculation:
- * bit positions per odp_cos_hdr_flow_fields_e enumeration.
- */
-typedef uint16_t odp_cos_flow_set_t;
-
-/**
- * PMR - Packet Matching Rule
- * Up to 32 bit of ternary matching of one of the available header fields
- */
-typedef uint32_t odp_pmr_t;
-
-/**
- * Macro for Invalid PMR.
- */
-#define ODP_PMR_INVAL ((odp_pmr_t)~0)
-
-/**
- * Packet Matching Rule field enumeration
- * for fields that may be used to calculate
- * the PMR, if present in a packet.
- */
-typedef enum odp_pmr_term {
- ODP_PMR_LEN, /**< Total length of received packet*/
- ODP_PMR_ETHTYPE_0, /**< Initial (outer)
- Ethertype only (*val=uint16_t)*/
- ODP_PMR_ETHTYPE_X, /**< Ethertype of most inner VLAN tag
- (*val=uint16_t)*/
- ODP_PMR_VLAN_ID_0, /**< First VLAN ID (outer) (*val=uint16_t) */
- ODP_PMR_VLAN_ID_X, /**< Last VLAN ID (inner) (*val=uint16_t) */
- ODP_PMR_DMAC, /**< destination MAC address (*val=uint64_t)*/
- ODP_PMR_IPPROTO, /**< IP Protocol or IPv6 Next Header
- (*val=uint8_t) */
- ODP_PMR_UDP_DPORT, /**< Destination UDP port, implies IPPROTO=17*/
- ODP_PMR_TCP_DPORT, /**< Destination TCP port implies IPPROTO=6*/
- ODP_PMR_UDP_SPORT, /**< Source UDP Port (*val=uint16_t)*/
- ODP_PMR_TCP_SPORT, /**< Source TCP port (*val=uint16_t)*/
- ODP_PMR_SIP_ADDR, /**< Source IP address (uint32_t)*/
- ODP_PMR_DIP_ADDR, /**< Destination IP address (uint32_t)*/
- ODP_PMR_SIP6_ADDR, /**< Source IP address (uint8_t[16])*/
- ODP_PMR_DIP6_ADDR, /**< Destination IP address (uint8_t[16])*/
- ODP_PMR_IPSEC_SPI, /**< IPsec session identifier(*val=uint32_t)*/
- ODP_PMR_LD_VNI, /**< NVGRE/VXLAN network identifier
- (*val=uint32_t)*/
-
- /** Inner header may repeat above values with this offset */
- ODP_PMR_INNER_HDR_OFF = 32
-} odp_pmr_term_e;
-
-/**
- * Create a packet match rule with mask and value
- *
- * @param[in] term One of the enumerated values supported
- * @param[in] val Value to match against the packet header
- * in native byte order.
- * @param[in] mask Mask to indicate which bits of the header
- * should be matched ('1') and
- * which should be ignored ('0')
- * @param[in] val_sz Size of the val and mask arguments,
- * that must match the value size requirement of the
- * specific term.
- *
- * @return Handle of the matching rule or ODP_PMR_INVAL on error
- */
-odp_pmr_t odp_pmr_create_match(odp_pmr_term_e term,
- const void *val,
- const void *mask,
- uint32_t val_sz);
-
-/**
- * Create a packet match rule with value range
- *
- * @param[in] term One of the enumerated values supported
- * @param[in] val1 Lower bound of the header field range.
- * @param[in] val2 Upper bound of the header field range.
- * @param[in] val_sz Size of the val1 and val2 arguments,
- * that must match the value size requirement of the
- * specific term.
- *
- * @return Handle of the matching rule or ODP_PMR_INVAL on error
- * @note: Range is inclusive [val1..val2].
- */
-odp_pmr_t odp_pmr_create_range(odp_pmr_term_e term,
- const void *val1,
- const void *val2,
- uint32_t val_sz);
-/**
- * Invalidate a packet match rule and vacate its resources
- *
- * @param[in] pmr_id Identifier of the PMR to be destroyed
- *
- * @return 0 on success, non-zero or error.
- */
-int odp_pmr_destroy(odp_pmr_t pmr_id);
-
-/**
- * Apply a PMR to a pktio to assign a CoS.
- *
- * @param[in] pmr_id PMR to be activated
- * @param[in] src_pktio pktio to which this PMR is to be applied
- * @param[in] dst_cos CoS to be assigned by this PMR
- *
- * @return 0 on success, non-zero or error.
- */
-int odp_pktio_pmr_cos(odp_pmr_t pmr_id,
- odp_pktio_t src_pktio, odp_cos_t dst_cos);
-
-/**
- * Cascade a PMR to refine packets from one CoS to another.
- *
- * @param[in] pmr_id PMR to be activated
- * @param[in] src_cos CoS to be filtered
- * @param[in] dst_cos CoS to be assigned to packets filtered
- * from src_cos that match pmr_id.
- *
- * @return 0 on success, non-zero on error.
- */
-int odp_cos_pmr_cos(odp_pmr_t pmr_id, odp_cos_t src_cos, odp_cos_t dst_cos);
-
-/**
- * Retrieve packet matcher statistics
- *
- * @param[in] pmr_id PMR from which to retrieve the count
- *
- * @return Current number of matches for a given matcher instance.
- */
-signed long odp_pmr_match_count(odp_pmr_t pmr_id);
-
-/**
- * Inquire about matching terms supported by the classifier
- *
- * @return A mask one bit per enumerated term, one for each of op_pmr_term_e
- */
-unsigned long long odp_pmr_terms_cap(void);
-
-/**
- * Return the number of packet matching terms available for use
- *
- * @return A number of packet matcher resources available for use.
- */
-unsigned odp_pmr_terms_avail(void);
-
-/**
- * Packet Match Type field enumeration
- * for fields that may be used to identify
- * the different PMR match type.
- */
-typedef enum odp_pmr_match_type {
- ODP_PMR_MASK, /**< Match a masked set of bits */
- ODP_PMR_RANGE, /**< Match an integer range */
- } odp_pmr_match_type_e;
-
-/**
- * Following structure is used to define composite packet matching rules
- * in the form of an array of individual match or range rules.
- * The underlying platform may not support all or any specific combination
- * of value match or range rules, and the application should take care
- * of inspecting the return value when installing such rules, and perform
- * appropriate fallback action.
- */
-typedef struct odp_pmr_match_t {
- odp_pmr_match_type_e match_type; /**< Packet Match Type*/
- union {
- struct {
- odp_pmr_term_e term;
- const void *val;
- const void *mask;
- unsigned int val_sz;
- } mask; /**< Match a masked set of bits */
- struct {
- odp_pmr_term_e term;
- const void *val1;
- const void *val2;
- unsigned int val_sz;
- } range; /**< Match an integer range */
- };
-} odp_pmr_match_t;
-
-/** An opaque handle to a composite packet match rule-set */
-typedef uint32_t odp_pmr_set_t;
-
-/**
- * Create a composite packet match rule
- *
- * @param[in] num_terms Number of terms in the match rule.
- * @param[in] terms Array of num_terms entries, one entry per
- * term desired.
- * @param[out] pmr_set_id Returned handle to the composite rule set.
- *
- * @return Return value may be a positive number
- * indicating the number of terms elements
- * that have been successfully mapped to the
- * underlying platform classification engine and
- * may be in the range from 1 to num_terms,
- * or non-zero for error.
- */
-int odp_pmr_match_set_create(int num_terms, odp_pmr_match_t *terms,
- odp_pmr_set_t *pmr_set_id);
-
-/**
- * Function to delete a composite packet match rule set
- * Depending on the implementation details, destroying a rule-set
- * may not guarantee the availability of hardware resources to create the
- * same or essentially similar rule-set.
- *
- * All of the resources pertaining to the match set associated with the
- * class-of-service will be released, but the class-of-service will
- * remain intact.
- *
- * @param[in] pmr_set_id A composite rule-set handle
- * returned when created.
- *
- * @return 0 on success, non-zero on error.
- */
-int odp_pmr_match_set_destroy(odp_pmr_set_t pmr_set_id);
-
-/**
- * Apply a PMR Match Set to a pktio to assign a CoS.
- *
- * @param[in] pmr_set_id PMR match set to be activated
- * @param[in] src_pktio pktio to which this PMR match
- * set is to be applied
- * @param[in] dst_cos CoS to be assigned by this PMR match set
- *
- * @return 0 on success, non-zero or error.
- */
-int odp_pktio_pmr_match_set_cos(odp_pmr_set_t pmr_set_id, odp_pktio_t src_pktio,
- odp_cos_t dst_cos);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/compiler.h b/platform/linux-generic/include/api/odp/compiler.h
deleted file mode 100644
index 71a44317a..000000000
--- a/platform/linux-generic/include/api/odp/compiler.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * Compiler related
- */
-
-#ifndef ODP_COMPILER_H_
-#define ODP_COMPILER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_compiler_optim
- * Macro for old compilers
- * @{
- */
-
-/** @internal GNU compiler version */
-#define GCC_VERSION (__GNUC__ * 10000 \
- + __GNUC_MINOR__ * 100 \
- + __GNUC_PATCHLEVEL__)
-
-/**
- * @internal
- * Compiler __builtin_bswap16() is not available on all platforms
- * until GCC 4.8.0 - work around this by offering __odp_builtin_bswap16()
- * Don't use this function directly, instead see odp_byteorder.h
- */
-#if GCC_VERSION < 40800
-#define __odp_builtin_bswap16(u16) ((((u16)&0x00ff) << 8)|(((u16)&0xff00) >> 8))
-#else
-#define __odp_builtin_bswap16(u16) __builtin_bswap16(u16)
-#endif
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/config.h b/platform/linux-generic/include/api/odp/config.h
deleted file mode 100644
index 3529fcad2..000000000
--- a/platform/linux-generic/include/api/odp/config.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP configuration
- */
-
-#ifndef ODP_CONFIG_H_
-#define ODP_CONFIG_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_compiler_optim
- * Macro for maximum number of resources in ODP.
- * @{
- */
-
-/**
- * Maximum number of threads
- */
-#define ODP_CONFIG_MAX_THREADS 128
-
-/**
- * Maximum number of pools
- */
-#define ODP_CONFIG_POOLS 16
-
-/**
- * Maximum number of queues
- */
-#define ODP_CONFIG_QUEUES 1024
-
-/**
- * Number of scheduling priorities
- */
-#define ODP_CONFIG_SCHED_PRIOS 8
-
-/**
- * Maximum number of packet IO resources
- */
-#define ODP_CONFIG_PKTIO_ENTRIES 64
-
-/**
- * Minimum buffer alignment
- *
- * This defines the minimum supported buffer alignment. Requests for values
- * below this will be rounded up to this value.
- */
-#define ODP_CONFIG_BUFFER_ALIGN_MIN 8
-
-/**
- * Maximum buffer alignment
- *
- * This defines the maximum supported buffer alignment. Requests for values
- * above this will fail.
- */
-#define ODP_CONFIG_BUFFER_ALIGN_MAX (4*1024)
-
-/**
- * Default packet headroom
- *
- * This defines the minimum number of headroom bytes that newly created packets
- * have by default. The default apply to both ODP packet input and user
- * allocated packets. Implementations may reserve a larger than minimum headroom
- * size e.g. due to HW or a protocol specific alignment requirement.
- *
- * @internal In linux-generic implementation:
- * The default value (66) allows a 1500-byte packet to be received into a single
- * segment with Ethernet offset alignment and room for some header expansion.
- */
-#define ODP_CONFIG_PACKET_HEADROOM 66
-
-/**
- * Default packet tailroom
- *
- * This defines the minimum number of tailroom bytes that newly created packets
- * have by default. The default apply to both ODP packet input and user
- * allocated packets. Implementations are free to add to this as desired
- * without restriction. Note that most implementations will automatically
- * consider any unused portion of the last segment of a packet as tailroom
- */
-#define ODP_CONFIG_PACKET_TAILROOM 0
-
-/**
- * Minimum packet segment length
- *
- * This defines the minimum packet segment length in bytes. The user defined
- * buffer size (in odp_buffer_pool_param_t) in buffer pool creation will be
- * rounded up into this value.
- *
- * @internal In linux-generic implementation:
- * - The value MUST be a multiple of 8.
- * - The value MUST be a multiple of ODP_CACHE_LINE_SIZE
- * - The default value (1664) is large enough to support 1536-byte packets
- * with the default headroom shown above and is a multiple of both 64 and 128,
- * which are the most common cache line sizes.
- */
-#define ODP_CONFIG_PACKET_BUF_LEN_MIN (1664)
-
-/**
- * Maximum packet buffer length
- *
- * This defines the maximum number of bytes that can be stored into a packet
- * (maximum return value of odp_packet_buf_len()). Attempts to allocate
- * (including default head- and tailrooms) or extend packets to sizes larger
- * than this limit will fail.
- *
- * @internal In linux-generic implementation:
- * - The value MUST be an integral number of segments
- * - The value SHOULD be large enough to accommodate jumbo packets (9K)
- */
-#define ODP_CONFIG_PACKET_BUF_LEN_MAX (ODP_CONFIG_PACKET_BUF_LEN_MIN*6)
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/cpumask.h b/platform/linux-generic/include/api/odp/cpumask.h
deleted file mode 100644
index 9e970b666..000000000
--- a/platform/linux-generic/include/api/odp/cpumask.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP CPU masks and enumeration
- */
-
-#ifndef ODP_CPUMASK_H_
-#define ODP_CPUMASK_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <string.h>
-#include <sched.h>
-
-#include <odp/std_types.h>
-
-/** @addtogroup odp_scheduler
- * CPU mask operations.
- * @{
- */
-
-/**
- * CPU mask
- *
- * Don't access directly, use access functions.
- */
-typedef struct odp_cpumask_t {
- cpu_set_t set; /**< @private Mask*/
-} odp_cpumask_t;
-
-/**
- * Add CPU mask bits from a string
- *
- * @param mask CPU mask to modify
- * @param str Hexadecimal digits in a string. CPU #0 is located
- * at the least significant bit (0x1).
- */
-void odp_cpumask_from_str(odp_cpumask_t *mask, const char *str);
-
-/**
- * Write CPU mask as a string of hexadecimal digits
- *
- * @param mask CPU mask
- * @param str String for output
- * @param len Size of string length (incl. ending zero)
- */
-void odp_cpumask_to_str(const odp_cpumask_t *mask, char *str, int len);
-
-/**
- * Clear entire mask
- * @param mask CPU mask to flush with zero value
- */
-void odp_cpumask_zero(odp_cpumask_t *mask);
-
-/**
- * Add cpu to mask
- * @param mask add cpu number in CPU mask
- * @param cpu CPU number
- */
-void odp_cpumask_set(odp_cpumask_t *mask, int cpu);
-
-/**
- * Remove cpu from mask
- * @param mask clear cpu number from CPU mask
- * @param cpu CPU number
- */
-void odp_cpumask_clr(odp_cpumask_t *mask, int cpu);
-
-/**
- * Test if cpu is a member of mask
- * @param mask CPU mask to check if cpu num set or not
- * @param cpu CPU number
- * @return non-zero if set otherwise 0
- */
-int odp_cpumask_isset(const odp_cpumask_t *mask, int cpu);
-
-/**
- * Count number of cpus in mask
- * @param mask CPU mask
- * @return cpumask count
- */
-int odp_cpumask_count(const odp_cpumask_t *mask);
-
-/**
- * Logical AND over two source masks.
- *
- * @param dest Destination mask, can be one of the source masks
- * @param src1 Source mask 1
- * @param src2 Source mask 2
- */
-void odp_cpumask_and(odp_cpumask_t *dest, odp_cpumask_t *src1,
- odp_cpumask_t *src2);
-
-/**
- * Logical OR over two source masks.
- *
- * @param dest Destination mask, can be one of the source masks
- * @param src1 Source mask 1
- * @param src2 Source mask 2
- */
-void odp_cpumask_or(odp_cpumask_t *dest, odp_cpumask_t *src1,
- odp_cpumask_t *src2);
-
-/**
- * Logical XOR over two source masks.
- *
- * @param dest Destination mask, can be one of the source masks
- * @param src1 Source mask 1
- * @param src2 Source mask 2
- */
-void odp_cpumask_xor(odp_cpumask_t *dest, odp_cpumask_t *src1,
- odp_cpumask_t *src2);
-
-/**
- * Test if two masks contain the same cpus
- */
-int odp_cpumask_equal(const odp_cpumask_t *mask1,
- const odp_cpumask_t *mask2);
-
-/**
- * Copy a CPU mask
- */
-void odp_cpumask_copy(odp_cpumask_t *dest, const odp_cpumask_t *src);
-
-/**
- * Find first CPU that is set in the mask
- *
- * @param mask is the mask to be searched
- * @return cpu else -1 if no bits set in cpumask
- */
-int odp_cpumask_first(const odp_cpumask_t *mask);
-
-/**
- * Find last CPU that is set in the mask
- *
- * @param mask is the mask to be searched
- * @return cpu else -1 if no bits set in cpumask
- */
-int odp_cpumask_last(const odp_cpumask_t *mask);
-
-/**
- * Find next cpu in mask
- *
- * Finds the next cpu in the CPU mask, starting at the cpu passed.
- * Use with odp_cpumask_first to traverse a CPU mask, i.e.
- *
- * int cpu = odp_cpumask_first(&mask);
- * while (0 <= cpu) {
- * ...
- * ...
- * cpu = odp_cpumask_next(&mask, cpu);
- * }
- *
- * @param mask CPU mask to find next cpu in
- * @param cpu CPU to start from
- * @return cpu found else -1
- *
- * @see odp_cpumask_first()
- */
-int odp_cpumask_next(const odp_cpumask_t *mask, int cpu);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/crypto.h b/platform/linux-generic/include/api/odp/crypto.h
deleted file mode 100644
index 75c795e96..000000000
--- a/platform/linux-generic/include/api/odp/crypto.h
+++ /dev/null
@@ -1,321 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP crypto
- */
-
-#ifndef ODP_CRYPTO_H_
-#define ODP_CRYPTO_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/std_types.h>
-#include <odp/event.h>
-#include <odp/pool.h>
-#include <odp/queue.h>
-#include <odp/packet.h>
-
-/** @defgroup odp_crypto ODP CRYPTO
- * Macros, enums, types and operations to utilise crypto.
- * @{
- */
-
-/** Invalid session handle */
-#define ODP_CRYPTO_SESSION_INVALID (0xffffffffffffffffULL)
-
-/**
- * Crypto API opaque session handle
- */
-typedef uint64_t odp_crypto_session_t;
-
-/**
- * Crypto API operation mode
- */
-enum odp_crypto_op_mode {
- ODP_CRYPTO_SYNC, /**< Synchronous, return results immediately */
- ODP_CRYPTO_ASYNC, /**< Aynchronous, return results via posted event */
-};
-
-/**
- * Crypto API operation type
- */
-enum odp_crypto_op {
- ODP_CRYPTO_OP_ENCODE, /**< Encrypt and/or compute authentication ICV */
- ODP_CRYPTO_OP_DECODE /**< Decrypt and/or verify authentication ICV */
-};
-
-/**
- * Crypto API cipher algorithm
- */
-enum odp_cipher_alg {
- ODP_CIPHER_ALG_NULL, /**< No cipher algorithm specified */
- ODP_CIPHER_ALG_DES, /**< DES */
- ODP_CIPHER_ALG_3DES_CBC, /**< Triple DES with cipher block chaining */
-};
-
-/**
- * Crypto API authentication algorithm
- */
-enum odp_auth_alg {
- ODP_AUTH_ALG_NULL, /**< No authentication algorithm specified */
- ODP_AUTH_ALG_MD5_96, /**< HMAC-MD5 with 96 bit key */
-};
-
-/**
- * Crypto API key structure
- */
-typedef struct odp_crypto_key {
- uint8_t *data; /**< Key data */
- uint32_t length; /**< Key length in bytes */
-} odp_crypto_key_t;
-
-/**
- * Crypto API IV structure
- */
-typedef struct odp_crypto_iv {
- uint8_t *data; /**< IV data */
- uint32_t length; /**< IV length in bytes */
-} odp_crypto_iv_t;
-
-/**
- * Crypto API data range specifier
- */
-typedef struct odp_crypto_data_range {
- uint32_t offset; /**< Offset from beginning of buffer (chain) */
- uint32_t length; /**< Length of data to operate on */
-} odp_crypto_data_range_t;
-
-/**
- * Crypto API session creation paramters
- *
- * @todo Add "odp_session_proc_info_t"
- */
-typedef struct odp_crypto_session_params {
- enum odp_crypto_op op; /**< Encode versus decode */
- bool auth_cipher_text; /**< Authenticate/cipher ordering */
- enum odp_crypto_op_mode pref_mode; /**< Preferred sync vs async */
- enum odp_cipher_alg cipher_alg; /**< Cipher algorithm */
- odp_crypto_key_t cipher_key; /**< Cipher key */
- odp_crypto_iv_t iv; /**< Cipher Initialization Vector (IV) */
- enum odp_auth_alg auth_alg; /**< Authentication algorithm */
- odp_crypto_key_t auth_key; /**< Authentication key */
- odp_queue_t compl_queue; /**< Async mode completion event queue */
- odp_pool_t output_pool; /**< Output buffer pool */
-} odp_crypto_session_params_t;
-
-/**
- * @var odp_crypto_session_params_t::auth_cipher_text
- *
- * Controls ordering of authentication and cipher operations,
- * and is relative to the operation (encode vs decode).
- * When encoding, @c TRUE indicates the authentication operation
- * should be peformed @b after the cipher operation else before.
- * When decoding, @c TRUE indicates the reverse order of operation.
- *
- * @var odp_crypto_session_params_t::compl_queue
- *
- * When the API operates asynchronously, the completion queue is
- * used to return the completion status of the operation to the
- * application.
- *
- * @var odp_crypto_session_params_t::output_pool
- *
- * When the output packet is not specified during the call to
- * odp_crypto_operation, the output packet buffer will be allocated
- * from this pool.
- */
-
-/**
- * Crypto API per packet operation parameters
- *
- * @todo Clarify who zero's ICV and how this relates to "hash_result_offset"
- */
-typedef struct odp_crypto_op_params {
- odp_crypto_session_t session; /**< Session handle from creation */
- odp_packet_t pkt; /**< Input packet buffer */
- odp_packet_t out_pkt; /**< Output packet buffer */
- uint8_t *override_iv_ptr; /**< Override session IV pointer */
- uint32_t hash_result_offset; /**< Offset from start of packet buffer for hash result */
- odp_crypto_data_range_t cipher_range; /**< Data range to apply cipher */
- odp_crypto_data_range_t auth_range; /**< Data range to authenticate */
-} odp_crypto_op_params_t;
-
-/**
- * @var odp_crypto_op_params_t::pkt
- * Specifies the input packet buffer for the crypto operation. When the
- * @c out_pkt variable is set to @c ODP_PACKET_INVALID (indicating a new
- * buffer should be allocated for the resulting packet), the \#define TBD
- * indicates whether the implementation will free the input packet buffer
- * or if it becomes the responsibility of the caller.
- *
- * @var odp_crypto_op_params_t::out_pkt
- *
- * The API supports both "in place" (the original packet "pkt" is
- * modified) and "copy" (the packet is replicated to a new buffer
- * which contains the modified data).
- *
- * The "in place" mode of operation is indicated by setting @c out_pkt
- * equal to @c pkt. For the copy mode of operation, setting @c out_pkt
- * to a valid packet buffer value indicates the caller wishes to specify
- * the destination buffer. Setting @c out_pkt to @c ODP_PACKET_INVALID
- * indicates the caller wishes the destination packet buffer be allocated
- * from the output pool specified during session creation.
- *
- * @sa odp_crypto_session_params_t::output_pool.
- */
-
-/**
- * Crypto API session creation return code
- */
-enum odp_crypto_ses_create_err {
- ODP_CRYPTO_SES_CREATE_ERR_NONE, /**< Session created */
- ODP_CRYPTO_SES_CREATE_ERR_ENOMEM, /**< Creation failed, no resources */
- ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER, /**< Creation failed, bad cipher params */
- ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH, /**< Creation failed, bad auth params */
-};
-
-/**
- * Crypto API algorithm return code
- */
-enum crypto_alg_err {
- ODP_CRYPTO_ALG_ERR_NONE, /**< Algorithm successful */
- ODP_CRYPTO_ALG_ERR_DATA_SIZE, /**< Invalid data block size */
- ODP_CRYPTO_ALG_ERR_KEY_SIZE, /**< Key size invalid for algorithm */
- ODP_CRYPTO_ALG_ERR_ICV_CHECK, /**< Computed ICV value mismatch */
-};
-
-/**
- * Crypto API hardware centric return code
- */
-enum crypto_hw_err {
- ODP_CRYPTO_HW_ERR_NONE, /**< Operation completed successfully */
- ODP_CRYPTO_HW_ERR_DMA, /**< Error detected during DMA of data */
- ODP_CRYPTO_HW_ERR_BP_DEPLETED, /**< Operation failed due to buffer pool depletion */
-};
-
-/**
- * Cryto API per packet operation completion status
- */
-typedef struct odp_crypto_compl_status {
- enum crypto_alg_err alg_err; /**< Algorithm specific return code */
- enum crypto_hw_err hw_err; /**< Hardware specific return code */
-} odp_crypto_compl_status_t;
-
-
-/**
- * Crypto session creation (synchronous)
- *
- * @param params Session parameters
- * @param session Created session else ODP_CRYPTO_SESSION_INVALID
- * @param status Failure code if unsuccessful
- *
- * @return 0 if successful else -1
- */
-int
-odp_crypto_session_create(odp_crypto_session_params_t *params,
- odp_crypto_session_t *session,
- enum odp_crypto_ses_create_err *status);
-
-
-/**
- * Crypto per packet operation
- *
- * Performs the cryptographic operations specified during session creation
- * on the packet. If the operation is performed synchronously, "posted"
- * will return FALSE and the result of the operation is immediately available
- * in the completion event. If "posted" returns TRUE the result will be
- * delivered via the completion queue specified when the session was created.
- *
- * @todo Resolve if completion_event is necessary, can/should the output
- * packet buffer always be used instead.
- *
- * @param params Operation parameters
- * @param posted Pointer to return posted, TRUE for async operation
- * @param completion_event Event by which the operation results are delivered.
- *
- * @return 0 if successful else -1
- */
-int
-odp_crypto_operation(odp_crypto_op_params_t *params,
- bool *posted,
- odp_event_t completion_event);
-
-/**
- * Crypto per packet operation set user context in completion event
- *
- * @param completion_event Event containing operation results
- * @param ctx User data
- */
-void
-odp_crypto_set_operation_compl_ctx(odp_event_t completion_event,
- void *ctx);
-
-/**
- * Crypto per packet operation completion status
- *
- * Accessor function for obtaining operation status from the completion event.
- *
- * @param completion_event Event containing operation results
- * @param auth Pointer to store authentication results
- * @param cipher Pointer to store cipher results
- */
-void
-odp_crypto_get_operation_compl_status(odp_event_t completion_event,
- odp_crypto_compl_status_t *auth,
- odp_crypto_compl_status_t *cipher);
-
-/**
- * Crypto per packet operation query completed operation packet
- *
- * Accessor function for obtaining current packet buffer, can be
- * different from input packet buffer on some systems
- *
- * @param completion_event Event containing operation results
- *
- * @return Packet structure where data now resides
- */
-odp_packet_t
-odp_crypto_get_operation_compl_packet(odp_event_t completion_event);
-
-/**
- * Crypto per packet operation query user context in completion event
- *
- * @param completion_event Event containing operation results
- *
- * @return User data
- */
-void *
-odp_crypto_get_operation_compl_ctx(odp_event_t completion_event);
-
-/**
- * Generate random byte string
- *
- * @param buf Pointer to store result
- * @param len Pointer to input length value as well as return value
- * @param use_entropy Use entropy
- *
- * @todo Define the implication of the use_entropy parameter
- *
- * @return 0 if succesful
- */
-int
-odp_hw_random_get(uint8_t *buf, size_t *len, bool use_entropy);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/debug.h b/platform/linux-generic/include/api/odp/debug.h
deleted file mode 100644
index 05f4e9e9d..000000000
--- a/platform/linux-generic/include/api/odp/debug.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-/**
- * @file
- *
- * ODP debug
- */
-
-#ifndef ODP_DEBUG_H_
-#define ODP_DEBUG_H_
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_ver_abt_log_dbg
- * Macros that allows different messages.
- * @{
- */
-
-#ifdef __GNUC__
-
-
-#if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6))
-
-/**
- * _Static_assert was only added in GCC 4.6. Provide a weak replacement
- * for previous versions.
- */
-#define _Static_assert(e, s) (extern int (*static_assert_checker(void)) \
- [sizeof(struct { unsigned int error_if_negative:(e) ? 1 : -1; })])
-
-#endif
-
-
-
-#endif
-
-
-/**
- * Compile time assertion-macro - fail compilation if cond is false.
- * @note This macro has zero runtime overhead
- */
-#define _ODP_STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/event.h b/platform/linux-generic/include/api/odp/event.h
deleted file mode 100644
index 66843f7b9..000000000
--- a/platform/linux-generic/include/api/odp/event.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP event
- */
-
-#ifndef ODP_EVENT_H_
-#define ODP_EVENT_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-
-/** @defgroup odp_event ODP EVENT
- * Operations on an event.
- * @{
- */
-
-
-/**
- * Event type
- *
- * @param event Event handle
- *
- * @return Event type or ODP_EVENT_TYPE_INVALID
- */
-int odp_event_type(odp_event_t event);
-
-/** Invalid event type */
-#define ODP_EVENT_TYPE_INVALID (-1)
-/** Buffer event */
-#define ODP_EVENT_BUFFER 1
-/** Packet event */
-#define ODP_EVENT_PACKET 2
-/** Timeout event */
-#define ODP_EVENT_TIMEOUT 3
-
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/hints.h b/platform/linux-generic/include/api/odp/hints.h
deleted file mode 100644
index 7f048860a..000000000
--- a/platform/linux-generic/include/api/odp/hints.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP compiler hints
- */
-
-#ifndef ODP_HINTS_H_
-#define ODP_HINTS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_compiler_optim
- * Macros that will give hints to the compiler.
- * @{
- */
-
-#ifdef __GNUC__
-
-/** Define a weak symbol
- * This is primarily useful in defining library functions that can be
- * overridden in user code.
- */
-#define ODP_WEAK_SYMBOL __attribute__((__weak__))
-
-/**
- * Hot code section
- */
-#define ODP_HOT_CODE __attribute__((__hot__))
-
-/**
- * Cold code section
- */
-#define ODP_COLD_CODE __attribute__((__cold__))
-
-/**
- * Branch likely taken
- */
-#define odp_likely(x) __builtin_expect((x), 1)
-
-/**
- * Branch unlikely taken
- */
-#define odp_unlikely(x) __builtin_expect((x), 0)
-
-
-/*
- * __builtin_prefetch (const void *addr, rw, locality)
- *
- * rw 0..1 (0: read, 1: write)
- * locality 0..3 (0: dont leave to cache, 3: leave on all cache levels)
- */
-
-/**
- * Cache prefetch address
- */
-#define odp_prefetch(x) __builtin_prefetch((x), 0, 3)
-
-/**
- * Cache prefetch address for storing
- */
-#define odp_prefetch_store(x) __builtin_prefetch((x), 1, 3)
-
-
-
-#else
-
-#define ODP_WEAK_SYMBOL
-#define ODP_HOT_CODE
-#define ODP_COLD_CODE
-#define odp_likely(x)
-#define odp_unlikely(x)
-#define odp_prefetch(x)
-#define odp_prefetch_store(x)
-
-#endif
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/init.h b/platform/linux-generic/include/api/odp/init.h
deleted file mode 100644
index c73b32108..000000000
--- a/platform/linux-generic/include/api/odp/init.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP initialization.
- * ODP requires a global level init for the process and a local init per
- * thread before the other ODP APIs may be called.
- * - odp_init_global()
- * - odp_init_local()
- *
- * For a graceful termination the matching termination APIs exit
- * - odp_term_global()
- * - odp_term_local()
- */
-
-#ifndef ODP_INIT_H_
-#define ODP_INIT_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#include <odp/std_types.h>
-
-/** @defgroup odp_initialization ODP INITIALIZATION
- * Initialisation operations.
- * @{
- */
-
-/**
- * ODP log level.
- */
-typedef enum odp_log_level {
- ODP_LOG_DBG,
- ODP_LOG_ERR,
- ODP_LOG_UNIMPLEMENTED,
- ODP_LOG_ABORT,
- ODP_LOG_PRINT
-} odp_log_level_e;
-
-/**
- * ODP log function
- *
- * Instead of direct prints to stdout/stderr all logging in an ODP
- * implementation should be done via this function or its wrappers.
- *
- * The application can provide this function to the ODP implementation in two
- * ways:
- *
- * - A callback passed in via in odp_init_t and odp_init_global()
- * - By overriding the ODP implementation default log function
- * odp_override_log().
- *
- * @warning The latter option is less portable and GNU linker dependent
- * (utilizes function attribute "weak"). If both are defined, the odp_init_t
- * function pointer has priority over the override function.
- *
- * @param[in] level Log level
- * @param[in] fmt printf-style message format
- *
- * @return The number of characters logged if succeeded. Otherwise returns
- * a negative number.
- */
-int odp_override_log(odp_log_level_e level, const char *fmt, ...);
-
-
-/** Replaceable logging function */
-typedef int (*odp_log_func_t)(odp_log_level_e level, const char *fmt, ...);
-
-/** ODP initialization data.
- * Data that is required to initialize the ODP API with the
- * application specific data such as specifying a logging callback, the log
- * level etc.
- */
-typedef struct odp_init_t {
- odp_log_func_t log_fn;
-} odp_init_t;
-
-/** ODP platform initialization data.
- * @note ODP API does nothing with this data. It is the underlying
- * implementation that requires it and any data passed here is not portable.
- * It is required that the application takes care of identifying and
- * passing any required platform specific data.
- */
-
-typedef struct odp_platform_init_t {
-} odp_platform_init_t;
-
-
-/**
- * Perform global ODP initialization.
- *
- * This function must be called once before calling any other ODP API
- * functions.
- *
- * @sa odp_term_global()
- * @sa odp_init_local() which is required per thread before use.
- *
- * @param[in] params Those parameters that are interpreted by the ODP API
- * @param[in] platform_params Those parameters that are passed without
- * interpretation by the ODP API to the implementation.
- *
- * @retval 0 if successful
- * @retval -1 on failure
- */
-int odp_init_global(odp_init_t *params, odp_platform_init_t *platform_params);
-
-/**
- * Terminate ODP session.
- *
- * This function is the final ODP call made when terminating
- * an ODP application in a controlled way. It cannot handle exceptional
- * circumstances.
- * In general it calls the API modules terminate functions in the reverse order
- * to that which the module init functions were called during odp_init_global()
- *
- * @note This function should be called by the last ODP thread. To simplify
- * synchronization between threads odp_term_local() indicates by its return
- * value if it was the last thread.
- *
- * @warning The unwinding of HW resources to allow them to be re used without reseting
- * the device is a complex task that the application is expected to coordinate.
- * This api may have platform dependant implications.
- *
- * @sa odp_init_global()
- * @sa odp_term_local() which must have been called prior to this.
- *
- * @retval 0 if successful
- * @retval -1 on failure
- */
-int odp_term_global(void);
-
-/**
- * Perform thread local ODP initialization.
- *
- * All threads must call this function before calling
- * any other ODP API functions.
- *
- * @sa odp_term_local()
- * @sa odp_init_global() which must have been called prior to this.
- *
- * @retval 0 if successful
- * @retval -1 on failure
- */
-int odp_init_local(void);
-
-
-/**
- * Perform thread local ODP termination.
- *
- * This function is the second to final ODP call made when terminating
- * an ODP application in a controlled way. It cannot handle exceptional
- * circumstances.
- * In general it calls the API modules per thread terminate functions in the
- * reverse order to that which the module init functions were called during
- * odp_init_local()
- *
- * @sa odp_init_local()
- * @sa odp_term_global() should be called by the last ODP thread before exit
- * of an application.
- *
- * @warning The unwinding of HW resources to allow them to be re used without reseting
- * the device is a complex task that the application is expected to coordinate.
- *
- * @retval 1 if successful and more ODP thread exists
- * @retval 0 if successful and it was the last ODP thread
- * @retval -1 on failure
- */
-int odp_term_local(void);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/packet.h b/platform/linux-generic/include/api/odp/packet.h
deleted file mode 100644
index 1d0de8c37..000000000
--- a/platform/linux-generic/include/api/odp/packet.h
+++ /dev/null
@@ -1,859 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP packet descriptor
- */
-
-#ifndef ODP_PACKET_H_
-#define ODP_PACKET_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/buffer.h>
-#include <odp/platform_types.h>
-
-/** @defgroup odp_packet ODP PACKET
- * Operations on a packet.
- * @{
- */
-
-
-/*
- * Packet API v0.5 notes
- * - Push/pull operations only on packet level
- * - Push/pull within limits of segment headroom/tailroom/data lengths
- * - Segment data length must be always at least one byte (i.e. there are no
- * empty segments)
- * - Head/tailroom content belong to packet content (in addition to data
- * and metadata) and thus is preserved over packet ownership changes.
- * - _addr refer to a fixed address, which operations do not modify
- * - _ptr refer to pointer to data, which may be modified by operations
- */
-
-
-/*
- *
- * Alloc and free
- * ********************************************************
- *
- */
-
-/**
- * Allocate a packet from a buffer pool
- *
- * Allocates a packet of the requested length from the specified buffer pool.
- * Pool must have been created with ODP_POOL_PACKET type. The
- * packet is initialized with data pointers and lengths set according to the
- * specified len, and the default headroom and tailroom length settings. All
- * other packet metadata are set to their default values.
- *
- * @param pool Pool handle
- * @param len Packet data length
- *
- * @return Handle of allocated packet
- * @retval ODP_PACKET_INVALID Packet could not be allocated
- *
- * @note The default headroom and tailroom used for packets is specified by
- * the ODP_CONFIG_PACKET_HEADROOM and ODP_CONFIG_PACKET_TAILROOM defines in
- * odp_config.h.
- */
-odp_packet_t odp_packet_alloc(odp_pool_t pool, uint32_t len);
-
-/**
- * Free packet
- *
- * Frees the packet into the buffer pool it was allocated from.
- *
- * @param pkt Packet handle
- */
-void odp_packet_free(odp_packet_t pkt);
-
-/**
- * Reset packet
- *
- * Resets all packet metadata to their default values. Packet length is used
- * to initialize pointers and lengths. It must be less than the total buffer
- * length of the packet minus the default headroom length. Packet is not
- * modified on failure.
- *
- * @param pkt Packet handle
- * @param len Packet data length
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- *
- * @see odp_packet_buf_len()
- */
-int odp_packet_reset(odp_packet_t pkt, uint32_t len);
-
-/**
- * Get packet handle from event
- *
- * Converts an ODP_EVENT_PACKET type event to a packet.
- *
- * @param ev Event handle
- *
- * @return Packet handle
- *
- * @see odp_event_type()
- */
-odp_packet_t odp_packet_from_event(odp_event_t ev);
-
-/**
- * Convert packet handle to event
- *
- * @param pkt Packet handle
- *
- * @return Event handle
- */
-odp_event_t odp_packet_to_event(odp_packet_t pkt);
-
-/*
- *
- * Pointers and lengths
- * ********************************************************
- *
- */
-
-/**
- * Packet head address
- *
- * Returns start address of the first segment. Packet level headroom starts
- * from here. Use odp_packet_data() or odp_packet_l2_ptr() to return the
- * packet data start address.
- *
- * @param pkt Packet handle
- *
- * @return Pointer to the start address of the first packet segment
- *
- * @see odp_packet_data(), odp_packet_l2_ptr(), odp_packet_headroom()
- */
-void *odp_packet_head(odp_packet_t pkt);
-
-/**
- * Total packet buffer length
- *
- * Returns sum of buffer lengths over all packet segments.
- *
- * @param pkt Packet handle
- *
- * @return Total packet buffer length in bytes
- *
- * @see odp_packet_reset()
- */
-uint32_t odp_packet_buf_len(odp_packet_t pkt);
-
-/**
- * Packet data pointer
- *
- * Returns the current packet data pointer. When a packet is received
- * from packet input, this points to the first byte of the received
- * packet. Packet level offsets are calculated relative to this position.
- *
- * User can adjust the data pointer with head_push/head_pull (does not modify
- * segmentation) and add_data/rem_data calls (may modify segmentation).
- *
- * @param pkt Packet handle
- *
- * @return Pointer to the packet data
- *
- * @see odp_packet_l2_ptr(), odp_packet_seg_len()
- */
-void *odp_packet_data(odp_packet_t pkt);
-
-/**
- * Packet segment data length
- *
- * Returns number of data bytes following the current data pointer
- * (odp_packet_data()) location in the segment.
- *
- * @param pkt Packet handle
- *
- * @return Segment data length in bytes (pointed by odp_packet_data())
- *
- * @see odp_packet_data()
- */
-uint32_t odp_packet_seg_len(odp_packet_t pkt);
-
-/**
- * Packet data length
- *
- * Returns sum of data lengths over all packet segments.
- *
- * @param pkt Packet handle
- *
- * @return Packet data length
- */
-uint32_t odp_packet_len(odp_packet_t pkt);
-
-/**
- * Packet headroom length
- *
- * Returns the current packet level headroom length.
- *
- * @param pkt Packet handle
- *
- * @return Headroom length
- */
-uint32_t odp_packet_headroom(odp_packet_t pkt);
-
-/**
- * Packet tailroom length
- *
- * Returns the current packet level tailroom length.
- *
- * @param pkt Packet handle
- *
- * @return Tailroom length
- */
-uint32_t odp_packet_tailroom(odp_packet_t pkt);
-
-/**
- * Packet tailroom pointer
- *
- * Returns pointer to the start of the current packet level tailroom.
- *
- * User can adjust the tail pointer with tail_push/tail_pull (does not modify
- * segmentation) and add_data/rem_data calls (may modify segmentation).
- *
- * @param pkt Packet handle
- *
- * @return Tailroom pointer
- *
- * @see odp_packet_tailroom()
- */
-void *odp_packet_tail(odp_packet_t pkt);
-
-/**
- * Push out packet head
- *
- * Increase packet data length by moving packet head into packet headroom.
- * Packet headroom is decreased with the same amount. The packet head may be
- * pushed out up to 'headroom' bytes. Packet is not modified if there's not
- * enough headroom space.
- *
- * odp_packet_xxx:
- * seg_len += len
- * len += len
- * headroom -= len
- * data -= len
- *
- * Operation does not modify packet segmentation or move data. Handles and
- * pointers remain valid. User is responsible to update packet metadata
- * offsets when needed.
- *
- * @param pkt Packet handle
- * @param len Number of bytes to push the head (0 ... headroom)
- *
- * @return The new data pointer
- * @retval NULL Requested offset exceeds available headroom
- *
- * @see odp_packet_headroom(), odp_packet_pull_head()
- */
-void *odp_packet_push_head(odp_packet_t pkt, uint32_t len);
-
-/**
- * Pull in packet head
- *
- * Decrease packet data length by removing data from the head of the packet.
- * Packet headroom is increased with the same amount. Packet head may be pulled
- * in up to seg_len - 1 bytes (i.e. packet data pointer must stay in the
- * first segment). Packet is not modified if there's not enough data.
- *
- * odp_packet_xxx:
- * seg_len -= len
- * len -= len
- * headroom += len
- * data += len
- *
- * Operation does not modify packet segmentation or move data. Handles and
- * pointers remain valid. User is responsible to update packet metadata
- * offsets when needed.
- *
- * @param pkt Packet handle
- * @param len Number of bytes to pull the head (0 ... seg_len - 1)
- *
- * @return The new data pointer, or NULL in case of an error.
- * @retval NULL Requested offset exceeds packet segment length
- *
- * @see odp_packet_seg_len(), odp_packet_push_head()
- */
-void *odp_packet_pull_head(odp_packet_t pkt, uint32_t len);
-
-/**
- * Push out packet tail
- *
- * Increase packet data length by moving packet tail into packet tailroom.
- * Packet tailroom is decreased with the same amount. The packet tail may be
- * pushed out up to 'tailroom' bytes. Packet is not modified if there's not
- * enough tailroom.
- *
- * last_seg:
- * data_len += len
- *
- * odp_packet_xxx:
- * len += len
- * tail += len
- * tailroom -= len
- *
- * Operation does not modify packet segmentation or move data. Handles,
- * pointers and offsets remain valid.
- *
- * @param pkt Packet handle
- * @param len Number of bytes to push the tail (0 ... tailroom)
- *
- * @return The old tail pointer
- * @retval NULL Requested offset exceeds available tailroom
- *
- * @see odp_packet_tailroom(), odp_packet_pull_tail()
- */
-void *odp_packet_push_tail(odp_packet_t pkt, uint32_t len);
-
-/**
- * Pull in packet tail
- *
- * Decrease packet data length by removing data from the tail of the packet.
- * Packet tailroom is increased with the same amount. Packet tail may be pulled
- * in up to last segment data_len - 1 bytes. (i.e. packet tail must stay in the
- * last segment). Packet is not modified if there's not enough data.
- *
- * last_seg:
- * data_len -= len
- *
- * odp_packet_xxx:
- * len -= len
- * tail -= len
- * tailroom += len
- *
- * Operation does not modify packet segmentation or move data. Handles and
- * pointers remain valid. User is responsible to update packet metadata
- * offsets when needed.
- *
- * @param pkt Packet handle
- * @param len Number of bytes to pull the tail (0 ... last_seg:data_len - 1)
- *
- * @return The new tail pointer
- * @retval NULL The specified offset exceeds allowable data length
- */
-void *odp_packet_pull_tail(odp_packet_t pkt, uint32_t len);
-
-/**
- * Packet offset pointer
- *
- * Returns pointer to data in the packet offset. The packet level byte offset is
- * calculated from the current odp_packet_data() position. Optionally outputs
- * handle to the segment and number of data bytes in the segment following the
- * pointer.
- *
- * @param pkt Packet handle
- * @param offset Byte offset into the packet
- * @param[out] len Number of data bytes remaining in the segment (output).
- * Ignored when NULL.
- * @param[out] seg Handle to the segment containing the address (output).
- * Ignored when NULL.
- *
- * @return Pointer to the offset
- * @retval NULL Requested offset exceeds packet length
- */
-void *odp_packet_offset(odp_packet_t pkt, uint32_t offset, uint32_t *len,
- odp_packet_seg_t *seg);
-
-/*
- *
- * Meta-data
- * ********************************************************
- *
- */
-
-/**
- * Packet pool
- *
- * Returns handle to the buffer pool where the packet was allocated from.
- *
- * @param pkt Packet handle
- *
- * @return Buffer pool handle
- */
-odp_pool_t odp_packet_pool(odp_packet_t pkt);
-
-/**
- * Packet input interface
- *
- * Returns handle to the packet IO interface which received the packet or
- * ODP_PKTIO_INVALID when the packet was allocated/reset by the application.
- *
- * @param pkt Packet handle
- *
- * @return Packet interface handle
- * @retval ODP_PKTIO_INVALID Packet was not received
- */
-odp_pktio_t odp_packet_input(odp_packet_t pkt);
-
-/**
- * User context pointer
- *
- * Return previously stored user context pointer.
- *
- * @param pkt Packet handle
- *
- * @return User context pointer
- */
-void *odp_packet_user_ptr(odp_packet_t pkt);
-
-/**
- * Set user context pointer
- *
- * Each packet has room for a user defined context. The context can be stored
- * either as a pointer OR as a uint64_t value, but not both at the same time.
- * The latest context set operation determines which one has been stored.
- *
- * @param pkt Packet handle
- * @param ctx User context pointer
- */
-void odp_packet_user_ptr_set(odp_packet_t pkt, const void *ctx);
-
-/**
- * User context data (uint64_t)
- *
- * Return previously stored user context uint64_t value.
- *
- * @param pkt Packet handle
- *
- * @return User context data
- */
-uint64_t odp_packet_user_u64(odp_packet_t pkt);
-
-/**
- * Set user context data (uint64_t)
- *
- * Each packet has room for a user defined context. The context can be stored
- * either as a pointer OR as a uint64_t value, but not both at the same time.
- * The latest context set operation determines which one has been stored.
- *
- * @param pkt Packet handle
- * @param ctx User context data
- */
-void odp_packet_user_u64_set(odp_packet_t pkt, uint64_t ctx);
-
-/**
- * Layer 2 start pointer
- *
- * Returns pointer to the start of the layer 2 header. Optionally, outputs
- * number of data bytes in the segment following the pointer.
- *
- * @param pkt Packet handle
- * @param[out] len Number of data bytes remaining in the segment (output).
- * Ignored when NULL.
- *
- * @return Layer 2 start pointer, or NULL when packet does not contain a valid
- * L2 header.
- *
- * @see odp_packet_l2_offset(), odp_packet_l2_offset_set(), odp_packet_has_l2()
- */
-void *odp_packet_l2_ptr(odp_packet_t pkt, uint32_t *len);
-
-/**
- * Layer 2 start offset
- *
- * Returns offset to the start of the layer 2 header. The offset is calculated
- * from the current odp_packet_data() position in bytes.
- *
- * User is responsible to update the offset when modifying the packet data
- * pointer position.
- *
- * @param pkt Packet handle
- *
- * @return Layer 2 start offset, or ODP_PACKET_OFFSET_INVALID when packet does
- * not contain a valid L2 header.
- *
- * @see odp_packet_l2_offset_set(), odp_packet_has_l2()
- */
-uint32_t odp_packet_l2_offset(odp_packet_t pkt);
-
-/**
- * Set layer 2 start offset
- *
- * Set offset to the start of the layer 2 header. The offset is calculated from
- * the current odp_packet_data() position in bytes. Offset must not exceed
- * packet data length. Packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Layer 2 start offset (0 ... odp_packet_len()-1)
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- */
-int odp_packet_l2_offset_set(odp_packet_t pkt, uint32_t offset);
-
-/**
- * Layer 3 start pointer
- *
- * Returns pointer to the start of the layer 3 header. Optionally, outputs
- * number of data bytes in the segment following the pointer.
- *
- * @param pkt Packet handle
- * @param[out] len Number of data bytes remaining in the segment (output).
- * Ignored when NULL.
- *
- * @return Layer 3 start pointer, or NULL when packet does not contain a valid
- * L3 header.
- *
- * @see odp_packet_l3_offset(), odp_packet_l3_offset_set(), odp_packet_has_l3()
- */
-void *odp_packet_l3_ptr(odp_packet_t pkt, uint32_t *len);
-
-/**
- * Layer 3 start offset
- *
- * Returns offset to the start of the layer 3 header. The offset is calculated
- * from the current odp_packet_data() position in bytes.
- *
- * User is responsible to update the offset when modifying the packet data
- * pointer position.
- *
- * @param pkt Packet handle
- *
- * @return Layer 3 start offset, or ODP_PACKET_OFFSET_INVALID when packet does
- * not contain a valid L3 header.
- *
- * @see odp_packet_l3_offset_set(), odp_packet_has_l3()
- */
-uint32_t odp_packet_l3_offset(odp_packet_t pkt);
-
-/**
- * Set layer 3 start offset
- *
- * Set offset to the start of the layer 3 header. The offset is calculated from
- * the current odp_packet_data() position in bytes. Offset must not exceed
- * packet data length. Packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Layer 3 start offset (0 ... odp_packet_len()-1)
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- */
-int odp_packet_l3_offset_set(odp_packet_t pkt, uint32_t offset);
-
-/**
- * Layer 4 start pointer
- *
- * Returns pointer to the start of the layer 4 header. Optionally, outputs
- * number of data bytes in the segment following the pointer.
- *
- * @param pkt Packet handle
- * @param[out] len Number of data bytes remaining in the segment (output).
- * Ignored when NULL.
- *
- * @return Layer 4 start pointer, or NULL when packet does not contain a valid
- * L4 header.
- *
- * @see odp_packet_l4_offset(), odp_packet_l4_offset_set(), odp_packet_has_l4()
- */
-void *odp_packet_l4_ptr(odp_packet_t pkt, uint32_t *len);
-
-/**
- * Layer 4 start offset
- *
- * Returns offset to the start of the layer 4 header. The offset is calculated
- * from the current odp_packet_data() position in bytes.
- *
- * User is responsible to update the offset when modifying the packet data
- * pointer position.
- *
- * @param pkt Packet handle
- *
- * @return Layer 4 start offset, or ODP_PACKET_OFFSET_INVALID when packet does
- * not contain a valid L4 header.
- *
- * @see odp_packet_l4_offset_set(), odp_packet_has_l4()
- */
-uint32_t odp_packet_l4_offset(odp_packet_t pkt);
-
-/**
- * Set layer 4 start offset
- *
- * Set offset to the start of the layer 4 header. The offset is calculated from
- * the current odp_packet_data() position in bytes. Offset must not exceed
- * packet data length. Packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Layer 4 start offset (0 ... odp_packet_len()-1)
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- */
-int odp_packet_l4_offset_set(odp_packet_t pkt, uint32_t offset);
-
-/**
- * Tests if packet is segmented
- *
- * @param pkt Packet handle
- *
- * @retval 0 Packet is not segmented
- * @retval 1 Packet is segmented
- */
-int odp_packet_is_segmented(odp_packet_t pkt);
-
-/**
- * Number of segments
- *
- * Returns number of segments in the packet. A packet has always at least one
- * segment.
- *
- * @param pkt Packet handle
- *
- * @return Number of segments (>0)
- */
-int odp_packet_num_segs(odp_packet_t pkt);
-
-/**
- * First segment in packet
- *
- * A packet has always the first segment (has at least one segment).
- *
- * @param pkt Packet handle
- *
- * @return Handle to the first segment
- */
-odp_packet_seg_t odp_packet_first_seg(odp_packet_t pkt);
-
-/**
- * Last segment in packet
- *
- * A packet has always the last segment (has at least one segment).
- *
- * @param pkt Packet handle
- *
- * @return Handle to the last segment
- */
-odp_packet_seg_t odp_packet_last_seg(odp_packet_t pkt);
-
-/**
- * Next segment in packet
- *
- * Returns handle to the next segment after the current segment, or
- * ODP_PACKET_SEG_INVALID if there are no more segments. Use
- * odp_packet_first_seg() to get handle to the first segment.
- *
- * @param pkt Packet handle
- * @param seg Current segment handle
- *
- * @return Handle to the next segment, or ODP_PACKET_SEG_INVALID
- */
-odp_packet_seg_t odp_packet_next_seg(odp_packet_t pkt, odp_packet_seg_t seg);
-
-
-/*
- *
- * Segment level
- * ********************************************************
- *
- */
-
-/**
- * Segment buffer address
- *
- * Returns start address of the segment.
- *
- * @param pkt Packet handle
- * @param seg Segment handle
- *
- * @return Start address of the segment, or NULL on an error
- *
- * @see odp_packet_seg_buf_len()
- */
-void *odp_packet_seg_buf_addr(odp_packet_t pkt, odp_packet_seg_t seg);
-
-/**
- * Segment buffer length
- *
- * Returns segment buffer length in bytes.
- *
- * @param pkt Packet handle
- * @param seg Segment handle
- *
- * @return Segment buffer length in bytes
- *
- * @see odp_packet_seg_buf_addr()
- */
-uint32_t odp_packet_seg_buf_len(odp_packet_t pkt, odp_packet_seg_t seg);
-
-/**
- * Segment data pointer
- *
- * Returns pointer to the first byte of data in the segment.
- *
- * @param pkt Packet handle
- * @param seg Segment handle
- *
- * @return Pointer to the segment data, or NULL on an error
- *
- * @see odp_packet_seg_data_len()
- */
-void *odp_packet_seg_data(odp_packet_t pkt, odp_packet_seg_t seg);
-
-/**
- * Segment data length
- *
- * Returns segment data length in bytes.
- *
- * @param pkt Packet handle
- * @param seg Segment handle
- *
- * @return Segment data length in bytes
- *
- * @see odp_packet_seg_data()
- */
-uint32_t odp_packet_seg_data_len(odp_packet_t pkt, odp_packet_seg_t seg);
-
-
-/*
- *
- * Manipulation
- * ********************************************************
- *
- */
-
-
-/**
- * Add data into an offset
- *
- * Increases packet data length by adding new data area into the specified
- * offset. The operation returns a new packet handle on success. It may modify
- * packet segmentation and move data. Handles and pointers must be updated
- * after the operation. User is responsible to update packet metadata offsets
- * when needed. The packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Byte offset into the packet
- * @param len Number of bytes to add into the offset
- *
- * @return New packet handle, or ODP_PACKET_INVALID in case of an error.
- */
-odp_packet_t odp_packet_add_data(odp_packet_t pkt, uint32_t offset,
- uint32_t len);
-
-/**
- * Remove data from an offset
- *
- * Decreases packet data length by removing data from the specified offset.
- * The operation returns a new packet handle on success, and may modify
- * packet segmentation and move data. Handles and pointers must be updated
- * after the operation. User is responsible to update packet metadata offsets
- * when needed. The packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Byte offset into the packet
- * @param len Number of bytes to remove from the offset
- *
- * @return New packet handle, or ODP_PACKET_INVALID in case of an error.
- */
-odp_packet_t odp_packet_rem_data(odp_packet_t pkt, uint32_t offset,
- uint32_t len);
-
-
-/*
- *
- * Copy
- * ********************************************************
- *
- */
-
-/**
- * Copy packet
- *
- * Create a new copy of the packet. The new packet is exact copy of the source
- * packet (incl. data and metadata). The pool must have been created with
- * ODP_POOL_PACKET type.
- *
- * @param pkt Packet handle
- * @param pool Buffer pool for allocation of the new packet.
- *
- * @return Handle to the copy of the packet, or ODP_PACKET_INVALID
- */
-odp_packet_t odp_packet_copy(odp_packet_t pkt, odp_pool_t pool);
-
-/**
- * Copy data from packet
- *
- * Copy 'len' bytes of data from the packet level offset to the destination
- * address.
- *
- * @param pkt Packet handle
- * @param offset Byte offset into the packet
- * @param len Number of bytes to copy
- * @param dst Destination address
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- */
-int odp_packet_copydata_out(odp_packet_t pkt, uint32_t offset,
- uint32_t len, void *dst);
-
-/**
- * Copy data into packet
- *
- * Copy 'len' bytes of data from the source address into the packet level
- * offset. Maximum number of bytes to copy is packet data length minus the
- * offset. Packet is not modified on an error.
- *
- * @param pkt Packet handle
- * @param offset Byte offset into the packet
- * @param len Number of bytes to copy
- * @param src Source address
- *
- * @retval 0 Success
- * @retval Non-zero Failure
- */
-int odp_packet_copydata_in(odp_packet_t pkt, uint32_t offset,
- uint32_t len, const void *src);
-
-/*
- *
- * Debugging
- * ********************************************************
- *
- */
-
-/**
- * Print packet to the console
- *
- * Print all packet debug information to the console.
- *
- * @param pkt Packet handle
- */
-void odp_packet_print(odp_packet_t pkt);
-
-/**
- * Perform full packet validity check
- *
- * The operation may consume considerable number of cpu cycles depending on
- * the check level.
- *
- * @param pkt Packet handle
- *
- * @retval 0 Packet is not valid
- * @retval 1 Packet is valid
- */
-int odp_packet_is_valid(odp_packet_t pkt);
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/packet_flags.h b/platform/linux-generic/include/api/odp/packet_flags.h
deleted file mode 100644
index 0e47bdcce..000000000
--- a/platform/linux-generic/include/api/odp/packet_flags.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP packet flags
- */
-
-#ifndef ODP_PACKET_FLAGS_H_
-#define ODP_PACKET_FLAGS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/std_types.h>
-#include <odp/packet.h>
-
-/** @addtogroup odp_packet
- * Boolean operations on a packet.
- * @{
- */
-
-/**
- * Check for packet errors
- *
- * Checks all error flags at once.
- *
- * @param pkt Packet handle
- * @return 1 if packet has errors, 0 otherwise
- */
-int odp_packet_error(odp_packet_t pkt);
-
-/**
- * Check if error was 'frame length' error
- *
- * @param pkt Packet handle
- * @return 1 if frame length error detected, 0 otherwise
- */
-int odp_packet_errflag_frame_len(odp_packet_t pkt);
-
-/**
- * Check for L2 header, e.g. ethernet
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a valid & known L2 header, 0 otherwise
- */
-int odp_packet_has_l2(odp_packet_t pkt);
-
-/**
- * Check for L3 header, e.g. IPv4, IPv6
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a valid & known L3 header, 0 otherwise
- */
-int odp_packet_has_l3(odp_packet_t pkt);
-
-/**
- * Check for L4 header, e.g. UDP, TCP, SCTP (also ICMP)
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a valid & known L4 header, 0 otherwise
- */
-int odp_packet_has_l4(odp_packet_t pkt);
-
-/**
- * Check for Ethernet header
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a valid eth header, 0 otherwise
- */
-int odp_packet_has_eth(odp_packet_t pkt);
-
-/**
- * Check for jumbo frame
- *
- * @param pkt Packet handle
- * @return 1 if packet contains jumbo frame, 0 otherwise
- */
-int odp_packet_has_jumbo(odp_packet_t pkt);
-
-/**
- * Check for VLAN
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a VLAN header, 0 otherwise
- */
-int odp_packet_has_vlan(odp_packet_t pkt);
-
-/**
- * Check for VLAN QinQ (stacked VLAN)
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a VLAN QinQ header, 0 otherwise
- */
-int odp_packet_has_vlan_qinq(odp_packet_t pkt);
-
-/**
- * Check for ARP
- *
- * @param pkt Packet handle
- * @return 1 if packet contains an ARP header, 0 otherwise
- */
-int odp_packet_has_arp(odp_packet_t pkt);
-
-/**
- * Check for IPv4
- *
- * @param pkt Packet handle
- * @return 1 if packet contains an IPv4 header, 0 otherwise
- */
-int odp_packet_has_ipv4(odp_packet_t pkt);
-
-/**
- * Check for IPv6
- *
- * @param pkt Packet handle
- * @return 1 if packet contains an IPv6 header, 0 otherwise
- */
-int odp_packet_has_ipv6(odp_packet_t pkt);
-
-/**
- * Check for IP fragment
- *
- * @param pkt Packet handle
- * @return 1 if packet is an IP fragment, 0 otherwise
- */
-int odp_packet_has_ipfrag(odp_packet_t pkt);
-
-/**
- * Check for IP options
- *
- * @param pkt Packet handle
- * @return 1 if packet contains IP options, 0 otherwise
- */
-int odp_packet_has_ipopt(odp_packet_t pkt);
-
-/**
- * Check for IPSec
- *
- * @param pkt Packet handle
- * @return 1 if packet requires IPSec processing, 0 otherwise
- */
-int odp_packet_has_ipsec(odp_packet_t pkt);
-
-/**
- * Check for UDP
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a UDP header, 0 otherwise
- */
-int odp_packet_has_udp(odp_packet_t pkt);
-
-/**
- * Check for TCP
- *
- * @param pkt Packet handle
- * @return 1 if packet contains a TCP header, 0 otherwise
- */
-int odp_packet_has_tcp(odp_packet_t pkt);
-
-/**
- * Check for SCTP
- *
- * @param pkt Packet handle
- * @return 1 if packet contains an SCTP header, 0 otherwise
- */
-int odp_packet_has_sctp(odp_packet_t pkt);
-
-/**
- * Check for ICMP
- *
- * @param pkt Packet handle
- * @return 1 if packet contains an ICMP header, 0 otherwise
- */
-int odp_packet_has_icmp(odp_packet_t pkt);
-
-/**
- * Request L4 checksum calculation
- *
- * @param pkt Packet handle
- */
-void odp_packet_override_l4_chksum(odp_packet_t pkt);
-
-/**
- * Set flag for L2 header, e.g. ethernet
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_l2_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for L3 header, e.g. IPv4, IPv6
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_l3_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for L4 header, e.g. UDP, TCP, SCTP (also ICMP)
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_l4_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for Ethernet header
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_eth_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for jumbo frame
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_jumbo_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for VLAN
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_vlan_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for VLAN QinQ (stacked VLAN)
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_vlan_qinq_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for ARP
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_arp_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for IPv4
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_ipv4_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for IPv6
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_ipv6_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for IP fragment
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_ipfrag_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for IP options
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_ipopt_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for IPSec
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_ipsec_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for UDP
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_udp_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for TCP
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_tcp_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for SCTP
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_sctp_set(odp_packet_t pkt, int val);
-
-/**
- * Set flag for ICMP
- *
- * @param pkt Packet handle
- * @param val Value
- */
-void odp_packet_has_icmp_set(odp_packet_t pkt, int val);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/packet_io.h b/platform/linux-generic/include/api/odp/packet_io.h
deleted file mode 100644
index 0ee56b7e8..000000000
--- a/platform/linux-generic/include/api/odp/packet_io.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP Packet IO
- */
-
-#ifndef ODP_PACKET_IO_H_
-#define ODP_PACKET_IO_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-#include <odp/pool.h>
-#include <odp/packet.h>
-#include <odp/queue.h>
-
-/** @defgroup odp_packet_io ODP PACKET IO
- * Operations on a packet.
- * @{
- */
-
-/**
- * Open an ODP packet IO instance
- *
- * Packet IO handles are single instance per device, attempts to open an already
- * open device will fail, returning ODP_PKTIO_INVALID with errno set to -EEXIST.
- * odp_pktio_lookup() may be used to obtain a handle to an already open device.
- *
- * @param dev Packet IO device name
- * @param pool Pool from which to allocate buffers for storing packets
- * received over this packet IO
- *
- * @return ODP packet IO handle or ODP_PKTIO_INVALID on error
- *
- * @note dev name loop is specially pktio reserved name for
- * device used for testing. Usually it's loop back
- * interface.
- */
-odp_pktio_t odp_pktio_open(const char *dev, odp_pool_t pool);
-
-/**
- * Close an ODP packet IO instance
- *
- * @param id ODP packet IO handle
- *
- * @return 0 on success or -1 on error
- */
-int odp_pktio_close(odp_pktio_t id);
-
-/**
- * Return a packet IO handle for an already open device
- *
- * @param dev Packet IO device name
- *
- * @return ODP packet IO handle or ODP_PKTIO_INVALID
- */
-odp_pktio_t odp_pktio_lookup(const char *dev);
-
-/**
- * Receive packets
- *
- * @param id ODP packet IO handle
- * @param pkt_table[] Storage for received packets (filled by function)
- * @param len Length of pkt_table[], i.e. max number of pkts to receive
- *
- * @return Number of packets received or -1 on error
- */
-int odp_pktio_recv(odp_pktio_t id, odp_packet_t pkt_table[], unsigned len);
-
-/**
- * Send packets
- *
- * @param id ODP packet IO handle
- * @param pkt_table[] Array of packets to send
- * @param len length of pkt_table[]
- *
- * @return Number of packets sent or -1 on error
- */
-int odp_pktio_send(odp_pktio_t id, odp_packet_t pkt_table[], unsigned len);
-
-/**
- * Set the default input queue to be associated with a pktio handle
- *
- * @param id ODP packet IO handle
- * @param queue default input queue set
- * @return 0 on success or -1 on error
- */
-int odp_pktio_inq_setdef(odp_pktio_t id, odp_queue_t queue);
-
-/**
- * Get default input queue associated with a pktio handle
- *
- * @param id ODP packet IO handle
- *
- * @return Default input queue set or ODP_QUEUE_INVALID on error
- */
-odp_queue_t odp_pktio_inq_getdef(odp_pktio_t id);
-
-/**
- * Remove default input queue (if set)
- *
- * @param id ODP packet IO handle
- *
- * @return 0 on success or -1 on error
- */
-int odp_pktio_inq_remdef(odp_pktio_t id);
-
-/**
- * Query default output queue
- *
- * @param id ODP packet IO handle
- *
- * @return Default out queue or ODP_QUEUE_INVALID on error
- */
-odp_queue_t odp_pktio_outq_getdef(odp_pktio_t id);
-
-/**
- * Return the currently configured MTU value of a packet IO interface.
- *
- * @param[in] id ODP packet IO handle.
- *
- * @retval MTU value >0 on success.
- * @retval -1 on any error or not existance pktio id.
- */
-int odp_pktio_mtu(odp_pktio_t id);
-
-/**
- * Enable/Disable promiscuous mode on a packet IO interface.
- *
- * @param[in] id ODP packet IO handle.
- * @param[in] enable 1 to enable, 0 to disable.
- *
- * @retval 0 on success.
- * @retval non-zero on any error.
- */
-int odp_pktio_promisc_mode_set(odp_pktio_t id, odp_bool_t enable);
-
-/**
- * Determine if promiscuous mode is enabled for a packet IO interface.
- *
- * @param[in] id ODP packet IO handle.
- *
- * @retval 1 if promiscuous mode is enabled.
- * @retval 0 if promiscuous mode is disabled.
- * @retval -1 on any error.
-*/
-int odp_pktio_promisc_mode(odp_pktio_t id);
-
-/**
- * Get the default MAC address of a packet IO interface.
- *
- * @param id ODP packet IO handle.
- * @param[out] mac_addr Storage for MAC address of the packet IO interface.
- * @param addr_size Storage size for the address
- *
- * @retval Number of bytes written on success, 0 on failure.
- */
-size_t odp_pktio_mac_addr(odp_pktio_t id, void *mac_addr,
- size_t addr_size);
-
-/**
- * Setup per-port default class-of-service.
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] default_cos Class-of-service set to all packets arriving
- * at the pktio_in ingress port,
- * unless overridden by subsequent
- * header-based filters.
- *
- * @return 0 on success, non-zero on error.
- */
-int odp_pktio_default_cos_set(odp_pktio_t pktio_in, odp_cos_t default_cos);
-
-/**
- * Setup per-port error class-of-service
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] error_cos class-of-service set to all packets arriving
- * at the pktio_in ingress port
- * that contain an error.
- *
- * @return 0 on success, non-zero on error.
- *
- * @note Optional.
- */
-int odp_pktio_error_cos_set(odp_pktio_t pktio_in, odp_cos_t error_cos);
-
-/**
- * Setup per-port header offset
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] offset Number of bytes the classifier must skip.
- *
- * @return 0 on success, non-zero on error.
- * @note Optional.
- *
- */
-int odp_pktio_skip_set(odp_pktio_t pktio_in, uint32_t offset);
-
-/**
- * Specify per-port buffer headroom
- *
- * @param[in] pktio_in Ingress port identifier.
- * @param[in] headroom Number of bytes of space preceding
- * packet data to reserve for use as headroom.
- * Must not exceed the implementation
- * defined ODP_PACKET_MAX_HEADROOM.
- *
- * @return 0 on success, non-zero on error.
- *
- * @note Optional.
- */
-int odp_pktio_headroom_set(odp_pktio_t pktio_in, uint32_t headroom);
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/platform_types.h b/platform/linux-generic/include/api/odp/platform_types.h
deleted file mode 100644
index 962ed4c5c..000000000
--- a/platform/linux-generic/include/api/odp/platform_types.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- * ODP implementation types
- * This file contains all of the implementation-defined types for ODP abstract
- * definitions. Having this in one file means that other ODP API files are
- * implementation-independent and avoids circular dependencies for files that
- * refer to types managed by other components. Included here are typedefs and
- * related typed constants that are referenced by other ODP API files.
- */
-
-#ifndef ODP_IMPL_TYPES_H_
-#define ODP_IMPL_TYPES_H_
-
-/** @defgroup odp_platform_types ODP PLATFORM TYPES
- * Implementation specific definitions for ODP abstract types.
- * @{
- */
-
-/** ODP Buffer pool */
-typedef uint32_t odp_pool_t;
-
-/** Invalid buffer pool */
-#define ODP_POOL_INVALID (0xffffffff)
-
-/** ODP buffer */
-typedef uint32_t odp_buffer_t;
-
-/** Invalid buffer */
-#define ODP_BUFFER_INVALID (0xffffffff)
-
-/** ODP buffer segment */
-typedef odp_buffer_t odp_buffer_seg_t;
-
-/** Invalid segment */
-#define ODP_SEGMENT_INVALID ODP_BUFFER_INVALID
-
-/** ODP packet */
-typedef odp_buffer_t odp_packet_t;
-
-/** Invalid packet */
-#define ODP_PACKET_INVALID ODP_BUFFER_INVALID
-
-/** Invalid packet offset */
-#define ODP_PACKET_OFFSET_INVALID (0x0fffffff)
-
-/** ODP packet segment */
-typedef odp_buffer_t odp_packet_seg_t;
-
-/** Invalid packet segment */
-#define ODP_PACKET_SEG_INVALID ODP_BUFFER_INVALID
-
-/** ODP packet IO handle */
-typedef uint32_t odp_pktio_t;
-
-/** Invalid packet IO handle */
-#define ODP_PKTIO_INVALID 0
-
-/** odp_pktio_t value to indicate any port */
-#define ODP_PKTIO_ANY ((odp_pktio_t)~0)
-
-/** ODP event */
-typedef odp_buffer_t odp_event_t;
-
-/** Invalid event */
-#define ODP_EVENT_INVALID ODP_BUFFER_INVALID
-
-/**
- * ODP shared memory block
- */
-typedef uint32_t odp_shm_t;
-
-/** Invalid shared memory block */
-#define ODP_SHM_INVALID 0
-#define ODP_SHM_NULL ODP_SHM_INVALID /**< Synonym for buffer pool use */
-
-/** ODP Class of service handle */
-typedef uint32_t odp_cos_t;
-
-/**
- * @}
- */
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/pool.h b/platform/linux-generic/include/api/odp/pool.h
deleted file mode 100644
index 19efb5940..000000000
--- a/platform/linux-generic/include/api/odp/pool.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP pool
- */
-
-#ifndef ODP_POOL_H_
-#define ODP_POOL_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-#include <odp/buffer.h>
-#include <odp/event.h>
-
-/** @addtogroup odp_buffer
- * Operations on a pool.
- * @{
- */
-
-/** Maximum queue name lenght in chars */
-#define ODP_POOL_NAME_LEN 32
-
-/**
- * Pool parameters
- * Used to communicate pool creation options.
- */
-typedef struct odp_pool_param_t {
- union {
- struct {
- uint32_t size; /**< Buffer size in bytes. The
- maximum number of bytes
- application will store in each
- buffer. */
- uint32_t align; /**< Minimum buffer alignment in bytes.
- Valid values are powers of two.
- Use 0 for default alignment.
- Default will always be a multiple
- of 8. */
- uint32_t num; /**< Number of buffers in the pool */
- } buf;
-/* Reserved for packet and timeout specific params
- struct {
- uint32_t seg_size;
- uint32_t seg_align;
- uint32_t num;
- } pkt;
-*/
- struct {
- uint32_t __res1; /* Keep struct identical to buf, */
- uint32_t __res2; /* until pool implementation is fixed*/
- uint32_t num; /**< Number of timeouts in the pool */
- } tmo;
- };
-
- int type; /**< Pool type */
-
-} odp_pool_param_t;
-
-/** Invalid pool type */
-#define ODP_POOL_TYPE_INVALID ODP_EVENT_TYPE_INVALID
-/** Packet pool*/
-#define ODP_POOL_PACKET ODP_EVENT_PACKET
-/** Buffer pool */
-#define ODP_POOL_BUFFER ODP_EVENT_BUFFER
-/** Timeout pool */
-#define ODP_POOL_TIMEOUT ODP_EVENT_TIMEOUT
-
-/**
- * Create a pool
- * This routine is used to create a pool. It take three
- * arguments: the optional name of the pool to be created, an optional shared
- * memory handle, and a parameter struct that describes the pool to be
- * created. If a name is not specified the result is an anonymous pool that
- * cannot be referenced by odp_pool_lookup().
- *
- * @param name Name of the pool, max ODP_POOL_NAME_LEN-1 chars.
- * May be specified as NULL for anonymous pools.
- *
- * @param shm The shared memory object in which to create the pool.
- * Use ODP_SHM_NULL to reserve default memory type
- * for the pool type.
- *
- * @param params Pool parameters.
- *
- * @return Handle of the created pool
- * @retval ODP_POOL_INVALID Pool could not be created
- */
-
-odp_pool_t odp_pool_create(const char *name,
- odp_shm_t shm,
- odp_pool_param_t *params);
-
-/**
- * Destroy a pool previously created by odp_pool_create()
- *
- * @param pool Handle of the pool to be destroyed
- *
- * @retval 0 Success
- * @retval -1 Failure
- *
- * @note This routine destroys a previously created pool. This call
- * does not destroy any shared memory object passed to
- * odp_pool_create() used to store the pool contents. The caller
- * takes responsibility for that. If no shared memory object was passed as
- * part of the create call, then this routine will destroy any internal shared
- * memory objects associated with the pool. Results are undefined if
- * an attempt is made to destroy a pool that contains allocated or
- * otherwise active buffers.
- */
-int odp_pool_destroy(odp_pool_t pool);
-
-/**
- * Find a pool by name
- *
- * @param name Name of the pool
- *
- * @return Handle of found pool
- * @retval ODP_POOL_INVALID Pool could not be found
- *
- * @note This routine cannot be used to look up an anonymous pool (one created
- * with no name).
- */
-odp_pool_t odp_pool_lookup(const char *name);
-
-/**
- * Pool information struct
- * Used to get information about a pool.
- */
-typedef struct odp_pool_info_t {
- const char *name; /**< pool name */
- odp_shm_t shm; /**< handle of shared memory area
- supplied by application to
- contain pool, or
- ODP_SHM_INVALID if this pool is
- managed by ODP */
- odp_pool_param_t params; /**< pool parameters */
-} odp_pool_info_t;
-
-/**
- * Retrieve information about a pool
- *
- * @param pool Pool handle
- *
- * @param[out] info Receives an odp_pool_info_t object
- * that describes the pool.
- *
- * @retval 0 Success
- * @retval -1 Failure. Info could not be retrieved.
- */
-
-int odp_pool_info(odp_pool_t pool, odp_pool_info_t *info);
-
-/**
- * Print pool info
- *
- * @param pool Pool handle
- *
- * @note This routine writes implementation-defined information about the
- * specified pool to the ODP log. The intended use is for debugging.
- */
-void odp_pool_print(odp_pool_t pool);
-
-/**
- * Buffer alloc
- *
- * The validity of a buffer can be cheked at any time with odp_buffer_is_valid()
- * @param pool Pool handle
- *
- * @return Handle of allocated buffer
- * @retval ODP_BUFFER_INVALID Buffer could not be allocated
- */
-odp_buffer_t odp_buffer_alloc(odp_pool_t pool);
-
-/**
- * Buffer free
- *
- * @param buf Buffer handle
- *
- */
-void odp_buffer_free(odp_buffer_t buf);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/queue.h b/platform/linux-generic/include/api/odp/queue.h
deleted file mode 100644
index 9311eb419..000000000
--- a/platform/linux-generic/include/api/odp/queue.h
+++ /dev/null
@@ -1,268 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP queue
- */
-
-#ifndef ODP_QUEUE_H_
-#define ODP_QUEUE_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-
-/** @defgroup odp_queue ODP QUEUE
- * Macros and operation on a queue.
- * @{
- */
-
-/**
- * ODP queue
- */
-typedef uint32_t odp_queue_t;
-
-/**
- * Queue group instance type
- */
-typedef uint32_t odp_queue_group_t;
-
-/** Invalid queue */
-#define ODP_QUEUE_INVALID 0
-
-/** Maximum queue name lenght in chars */
-#define ODP_QUEUE_NAME_LEN 32
-
-
-/**
- * ODP queue type
- */
-typedef int odp_queue_type_t;
-
-#define ODP_QUEUE_TYPE_SCHED 0 /**< Scheduled queue */
-#define ODP_QUEUE_TYPE_POLL 1 /**< Not scheduled queue */
-#define ODP_QUEUE_TYPE_PKTIN 2 /**< Packet input queue */
-#define ODP_QUEUE_TYPE_PKTOUT 3 /**< Packet output queue */
-
-/**
- * ODP schedule priority
- */
-typedef int odp_schedule_prio_t;
-
-/** Highest scheduling priority */
-#define ODP_SCHED_PRIO_HIGHEST 0
-
-/** Normal scheduling priority */
-#define ODP_SCHED_PRIO_NORMAL (ODP_CONFIG_SCHED_PRIOS / 2)
-
-/** Lowest scheduling priority */
-#define ODP_SCHED_PRIO_LOWEST (ODP_CONFIG_SCHED_PRIOS - 1)
-
-/** Default scheduling priority */
-#define ODP_SCHED_PRIO_DEFAULT ODP_SCHED_PRIO_NORMAL
-
-
-/**
- * ODP schedule synchronisation
- */
-typedef int odp_schedule_sync_t;
-
-#define ODP_SCHED_SYNC_NONE 0 /**< Queue not synchronised */
-#define ODP_SCHED_SYNC_ATOMIC 1 /**< Atomic queue */
-#define ODP_SCHED_SYNC_ORDERED 2 /**< Ordered queue */
-
-/** Default queue synchronisation */
-#define ODP_SCHED_SYNC_DEFAULT ODP_SCHED_SYNC_ATOMIC
-
-/**
- * ODP schedule CPU group
- */
-typedef int odp_schedule_group_t;
-
-/** Group of all CPUs */
-#define ODP_SCHED_GROUP_ALL 0
-
-/** Default CPU group */
-#define ODP_SCHED_GROUP_DEFAULT ODP_SCHED_GROUP_ALL
-
-
-/**
- * ODP Queue parameters
- */
-typedef struct odp_queue_param_t {
- /** Scheduler parameters */
- struct {
- odp_schedule_prio_t prio;
- odp_schedule_sync_t sync;
- odp_schedule_group_t group;
- } sched;
- /** Queue context */
- void *context;
-} odp_queue_param_t;
-
-
-/**
- * Queue create
- *
- * @param name Queue name
- * @param type Queue type
- * @param param Queue parameters. Uses defaults if NULL.
- *
- * @return Queue handle or ODP_QUEUE_INVALID
- */
-odp_queue_t odp_queue_create(const char *name, odp_queue_type_t type,
- odp_queue_param_t *param);
-
-/**
- * Destroy ODP queue
- *
- * Destroys ODP queue. The queue must be empty and detached from other
- * ODP API (crypto, pktio, etc). Application must ensure that no other
- * operations on this queue are invoked in parallel. Otherwise behavior
- * is undefined.
- *
- * @param queue Queue handle
- *
- * @return 0 if successful
- */
-int odp_queue_destroy(odp_queue_t queue);
-
-/**
- * Find a queue by name
- *
- * @param name Queue name
- *
- * @return Queue handle or ODP_QUEUE_INVALID
- */
-odp_queue_t odp_queue_lookup(const char *name);
-
-/**
- * Set queue context
- *
- * Its the responsability of the interface user to make sure
- * queue context allocation is done in an area reachable for
- * all EOs accessing the context
- *
- * @param queue Queue handle
- * @param context Address to the queue context
- *
- * @return 0 if successful
- */
-int odp_queue_set_context(odp_queue_t queue, void *context);
-
-/**
- * Get queue context
- *
- * @param queue Queue handle
- *
- * @return If successful, a pointer to the queue context,
- * NULL for failure.
- */
-void *odp_queue_get_context(odp_queue_t queue);
-
-/**
- * Queue enqueue
- *
- * @param queue Queue handle
- * @param ev Event handle
- *
- * @return 0 if succesful
- */
-int odp_queue_enq(odp_queue_t queue, odp_event_t ev);
-
-/**
- * Enqueue multiple events to a queue
- *
- * @param queue Queue handle
- * @param ev Event handles
- * @param num Number of event handles
- *
- * @return 0 if succesful
- */
-int odp_queue_enq_multi(odp_queue_t queue, odp_event_t ev[], int num);
-
-/**
- * Queue dequeue
- *
- * Dequeues next event from head of the queue. Cannot be used for
- * ODP_QUEUE_TYPE_SCHED type queues (use odp_schedule() instead).
- *
- * @param queue Queue handle
- *
- * @return Event handle, or ODP_EVENT_INVALID
- */
-odp_event_t odp_queue_deq(odp_queue_t queue);
-
-/**
- * Dequeue multiple events from a queue
- *
- * Dequeues multiple events from head of the queue. Cannot be used for
- * ODP_QUEUE_TYPE_SCHED type queues (use odp_schedule() instead).
- *
- * @param queue Queue handle
- * @param events Event handle array for output
- * @param num Maximum number of event handles
-
- * @return Number of events written (0 ... num)
- */
-int odp_queue_deq_multi(odp_queue_t queue, odp_event_t events[], int num);
-
-/**
- * Queue type
- *
- * @param queue Queue handle
- *
- * @return Queue type
- */
-odp_queue_type_t odp_queue_type(odp_queue_t queue);
-
-/**
- * Queue schedule type
- *
- * @param queue Queue handle
- *
- * @return Queue schedule synchronisation type
- */
-odp_schedule_sync_t odp_queue_sched_type(odp_queue_t queue);
-
-/**
- * Queue priority
- *
- * @note Passing an invalid queue_handle will result in UNDEFINED behavior
- *
- * @param queue Queue handle
- *
- * @return Queue schedule priority
- */
-odp_schedule_prio_t odp_queue_sched_prio(odp_queue_t queue);
-
-/**
- * Queue group
- *
- * @note Passing an invalid queue_handle will result in UNDEFINED behavior
- *
- * @param queue Queue handle
- *
- * @return Queue schedule group
- */
-odp_schedule_group_t odp_queue_sched_group(odp_queue_t queue);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/rwlock.h b/platform/linux-generic/include/api/odp/rwlock.h
deleted file mode 100644
index f9d418ea2..000000000
--- a/platform/linux-generic/include/api/odp/rwlock.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (c) 2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef ODP_RWLOCK_H_
-#define ODP_RWLOCK_H_
-
-/**
- * @file
- *
- * ODP RW Locks
- */
-
-#include <odp/atomic.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @defgroup odp_synchronizers ODP SYNCRONIZERS
- * Operations on reader/writer locks.
- * A reader/writer lock allows multiple simultaneous readers but only one
- * writer at a time.
- * A thread that wants write access will have to wait until there are no
- * threads that want read access. This casues a risk for starvation.
- * @{
- */
-
-/**
- * The odp_rwlock_t type.
- */
-typedef struct {
- odp_atomic_u32_t cnt; /**< @private lock count
- 0 lock not taken
- -1 write lock taken
- >0 read lock(s) taken */
-} odp_rwlock_t;
-
-
-/**
- * Initialize a reader/writer lock.
- *
- * @param rwlock Pointer to a reader/writer lock
- */
-void odp_rwlock_init(odp_rwlock_t *rwlock);
-
-/**
- * Acquire read permission on a reader/writer lock.
- *
- * @param rwlock Pointer to a reader/writer lock
- */
-void odp_rwlock_read_lock(odp_rwlock_t *rwlock);
-
-/**
- * Release read permission on a reader/writer lock.
- *
- * @param rwlock Pointer to a reader/writer lock
- */
-void odp_rwlock_read_unlock(odp_rwlock_t *rwlock);
-
-/**
- * Acquire write permission on a reader/writer lock.
- *
- * @param rwlock Pointer to a reader/writer lock
- */
-void odp_rwlock_write_lock(odp_rwlock_t *rwlock);
-
-/**
- * Release write permission on a reader/writer lock.
- *
- * @param rwlock Pointer to a reader/writer lock
- */
-void odp_rwlock_write_unlock(odp_rwlock_t *rwlock);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ODP_RWLOCK_H_ */
diff --git a/platform/linux-generic/include/api/odp/schedule.h b/platform/linux-generic/include/api/odp/schedule.h
deleted file mode 100644
index 8045c803c..000000000
--- a/platform/linux-generic/include/api/odp/schedule.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP schedule
- */
-
-#ifndef ODP_SCHEDULE_H_
-#define ODP_SCHEDULE_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/buffer.h>
-#include <odp/queue.h>
-
-/** @defgroup odp_scheduler ODP SCHEDULER
- * Operations on the scheduler.
- * @{
- */
-
-#define ODP_SCHED_WAIT 0 /**< Wait infinitely */
-#define ODP_SCHED_NO_WAIT 1 /**< Do not wait */
-
-
-/**
- * Schedule wait time
- *
- * Converts nanoseconds to wait values for other schedule functions.
- *
- * @param ns Nanoseconds
- *
- * @return Value for the wait parameter in schedule functions
- */
-uint64_t odp_schedule_wait_time(uint64_t ns);
-
-/**
- * Schedule
- *
- * Schedules all queues created with ODP_QUEUE_TYPE_SCHED type. Returns
- * next highest priority event which is available for the calling thread.
- * Outputs the source queue of the event. If there's no event available, waits
- * for an event according to the wait parameter setting. Returns
- * ODP_EVENT_INVALID if reaches end of the wait period.
- *
- * @param from Output parameter for the source queue (where the event was
- * dequeued from). Ignored if NULL.
- * @param wait Minimum time to wait for an event. Waits infinitely, if set to
- * ODP_SCHED_WAIT. Does not wait, if set to ODP_SCHED_NO_WAIT.
- * Use odp_schedule_wait_time() to convert time to other wait
- * values.
- *
- * @return Next highest priority event, or ODP_EVENT_INVALID
- */
-odp_event_t odp_schedule(odp_queue_t *from, uint64_t wait);
-
-/**
- * Schedule multiple events
- *
- * Like odp_schedule(), but returns multiple events from a queue.
- *
- * @param from Output parameter for the source queue (where the event was
- * dequeued from). Ignored if NULL.
- * @param wait Minimum time to wait for an event. Waits infinitely, if set to
- * ODP_SCHED_WAIT. Does not wait, if set to ODP_SCHED_NO_WAIT.
- * Use odp_schedule_wait_time() to convert time to other wait
- * values.
- * @param events Event array for output
- * @param num Maximum number of events to output
- *
- * @return Number of events outputed (0 ... num)
- */
-int odp_schedule_multi(odp_queue_t *from, uint64_t wait, odp_event_t events[],
- unsigned int num);
-
-/**
- * Pause scheduling
- *
- * Pause global scheduling for this thread. After this call, all schedule calls
- * will return only locally reserved buffers (if any). User can exit the
- * schedule loop only after the schedule function indicates that there's no more
- * buffers (no more locally reserved buffers).
- *
- * Must be used with odp_schedule() and odp_schedule_multi() before exiting (or
- * stalling) the schedule loop.
- */
-void odp_schedule_pause(void);
-
-/**
- * Resume scheduling
- *
- * Resume global scheduling for this thread. After this call, all schedule calls
- * will schedule normally (perform global scheduling).
- */
-void odp_schedule_resume(void);
-
-/**
- * Release currently hold atomic context
- */
-void odp_schedule_release_atomic(void);
-
-/**
- * Number of scheduling priorities
- *
- * @return Number of scheduling priorities
- */
-int odp_schedule_num_prio(void);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/shared_memory.h b/platform/linux-generic/include/api/odp/shared_memory.h
deleted file mode 100644
index 222fcd35f..000000000
--- a/platform/linux-generic/include/api/odp/shared_memory.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Copyright (c) 2013-2014, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP shared memory
- */
-
-#ifndef ODP_SHARED_MEMORY_H_
-#define ODP_SHARED_MEMORY_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/platform_types.h>
-
-/** @defgroup odp_shared_memory ODP SHARED MEMORY
- * Operations on shared memory.
- * @{
- */
-
-/** Maximum shared memory block name length in chars */
-#define ODP_SHM_NAME_LEN 32
-
-/*
- * Shared memory flags
- */
-
-/* Share level */
-#define ODP_SHM_SW_ONLY 0x1 /**< Application SW only, no HW access */
-#define ODP_SHM_PROC 0x2 /**< Share with external processes */
-
-/**
- * Shared memory block info
- */
-typedef struct odp_shm_info_t {
- const char *name; /**< Block name */
- void *addr; /**< Block address */
- uint64_t size; /**< Block size in bytes */
- uint64_t page_size; /**< Memory page size */
- uint32_t flags; /**< ODP_SHM_* flags */
-} odp_shm_info_t;
-
-
-/**
- * Reserve a contiguous block of shared memory
- *
- * @param[in] name Name of the block (maximum ODP_SHM_NAME_LEN - 1 chars)
- * @param[in] size Block size in bytes
- * @param[in] align Block alignment in bytes
- * @param[in] flags Shared memory parameter flags (ODP_SHM_*).
- * Default value is 0.
- *
- * @return Pointer to the reserved block, or NULL
- */
-odp_shm_t odp_shm_reserve(const char *name, uint64_t size, uint64_t align,
- uint32_t flags);
-
-/**
- * Free a contiguous block of shared memory
- *
- * Frees a previously reserved block of shared memory.
- * @note Freeing memory that is in use will result in UNDEFINED behavior
- *
- * @param[in] shm Block handle
- *
- * @retval 0 if the handle is already free
- * @retval 0 if the handle free succeeds
- * @retval -1 on failure to free the handle
- */
-int odp_shm_free(odp_shm_t shm);
-
-/**
- * Lookup for a block of shared memory
- *
- * @param[in] name Name of the block
- *
- * @return A handle to the block if it is found by name
- * @retval #ODP_SHM_INVALID if the block is not found
- */
-odp_shm_t odp_shm_lookup(const char *name);
-
-
-/**
- * Shared memory block address
- *
- * @param[in] shm Block handle
- *
- * @return Memory block address, or NULL on error
- */
-void *odp_shm_addr(odp_shm_t shm);
-
-
-/**
- * Shared memory block info
- *
- * @param[in] shm Block handle
- * @param[out] info Block info pointer for output
- *
- * @return 0 on success, otherwise non-zero
- */
-int odp_shm_info(odp_shm_t shm, odp_shm_info_t *info);
-
-
-/**
- * Print all shared memory blocks
- */
-void odp_shm_print_all(void);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/spinlock.h b/platform/linux-generic/include/api/odp/spinlock.h
deleted file mode 100644
index 504e629e2..000000000
--- a/platform/linux-generic/include/api/odp/spinlock.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP spinlock
- */
-
-#ifndef ODP_SPINLOCK_H_
-#define ODP_SPINLOCK_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-
-/** @addtogroup odp_synchronizers
- * Operations on spin locks.
- * @{
- */
-
-/**
- * ODP spinlock type
- */
-typedef struct odp_spinlock_t {
- char lock; /**< @private lock flag, should match odp_atomic_flag_t */
-} odp_spinlock_t;
-
-
-/**
- * Initialize spin lock.
- *
- * @param splock Pointer to a spin lock
- */
-void odp_spinlock_init(odp_spinlock_t *splock);
-
-
-/**
- * Acquire spin lock.
- *
- * @param splock Pointer to a spin lock
- */
-void odp_spinlock_lock(odp_spinlock_t *splock);
-
-
-/**
- * Try to acquire spin lock.
- *
- * @param splock Pointer to a spin lock
- *
- * @retval 1 lock acquired
- * @retval 0 lock not acquired
- */
-int odp_spinlock_trylock(odp_spinlock_t *splock);
-
-
-/**
- * Release spin lock.
- *
- * @param splock Pointer to a spin lock
- */
-void odp_spinlock_unlock(odp_spinlock_t *splock);
-
-
-/**
- * Check if spin lock is busy (locked).
- *
- * @param splock Pointer to a spin lock
- *
- * @retval 1 lock busy (locked)
- * @retval 0 lock not busy.
- */
-int odp_spinlock_is_locked(odp_spinlock_t *splock);
-
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/std_types.h b/platform/linux-generic/include/api/odp/std_types.h
deleted file mode 100644
index 61255a6d1..000000000
--- a/platform/linux-generic/include/api/odp/std_types.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * Standard C language types and definitions for ODP.
- *
- */
-
-#ifndef ODP_STD_TYPES_H_
-#define ODP_STD_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#include <stddef.h>
-#include <stdbool.h>
-#include <stdint.h>
-#include <inttypes.h>
-#include <limits.h>
-
-/** Use odp boolean type to have it well-defined and known size,
- * regardless which compiler is used as this facilities interoperability
- * between e.g. different compilers.
- */
-typedef int odp_bool_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/sync.h b/platform/linux-generic/include/api/odp/sync.h
deleted file mode 100644
index d9daadad0..000000000
--- a/platform/linux-generic/include/api/odp/sync.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP synchronisation
- */
-
-#ifndef ODP_SYNC_H_
-#define ODP_SYNC_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_synchronizers
- * @{
- */
-
-/**
- * Synchronise stores
- *
- * Ensures that all CPU store operations that precede the odp_sync_stores()
- * call are globally visible before any store operation that follows it.
- */
-static inline void odp_sync_stores(void)
-{
-#if defined __x86_64__ || defined __i386__
-
- __asm__ __volatile__ ("sfence\n" : : : "memory");
-
-#elif defined(__arm__)
-#if __ARM_ARCH == 6
- __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" \
- : : "r" (0) : "memory");
-#elif __ARM_ARCH >= 7 || defined __aarch64__
-
- __asm__ __volatile__ ("dmb st" : : : "memory");
-#else
- __asm__ __volatile__ ("" : : : "memory");
-#endif
-
-#elif defined __OCTEON__
-
- __asm__ __volatile__ ("syncws\n" : : : "memory");
-
-#else
- __sync_synchronize();
-#endif
-}
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/system_info.h b/platform/linux-generic/include/api/odp/system_info.h
deleted file mode 100644
index 01431a45a..000000000
--- a/platform/linux-generic/include/api/odp/system_info.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP system information
- */
-
-#ifndef ODP_SYSTEM_INFO_H_
-#define ODP_SYSTEM_INFO_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-
-/** @addtogroup odp_ver_abt_log_dbg
- * @{
- */
-
-/**
- * CPU frequency in Hz
- *
- * @return CPU frequency in Hz
- */
-uint64_t odp_sys_cpu_hz(void);
-
-/**
- * Huge page size in bytes
- *
- * @return Huge page size in bytes
- */
-uint64_t odp_sys_huge_page_size(void);
-
-/**
- * Page size in bytes
- *
- * @return Page size in bytes
- */
-uint64_t odp_sys_page_size(void);
-
-/**
- * CPU model name
- *
- * @return Pointer to CPU model name string
- */
-const char *odp_sys_cpu_model_str(void);
-
-/**
- * Cache line size in bytes
- *
- * @return CPU cache line size in bytes
- */
-int odp_sys_cache_line_size(void);
-
-/**
- * CPU count
- * Report the number of CPU's available to this ODP program.
- * This may be smaller than the number of (online) CPU's in the system.
- *
- * @return Number of available CPU's
- */
-int odp_sys_cpu_count(void);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/thread.h b/platform/linux-generic/include/api/odp/thread.h
deleted file mode 100644
index 469d29864..000000000
--- a/platform/linux-generic/include/api/odp/thread.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP thread API
- */
-
-#ifndef ODP_THREAD_H_
-#define ODP_THREAD_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @defgroup odp_thread ODP THREAD
- * @{
- */
-
-/**
- * Get thread id
- *
- * @return Thread id of the current thread
- */
-int odp_thread_id(void);
-
-
-/**
- * Get CPU number
- *
- * @return CPU ID where the thread is currently running
- */
-int odp_thread_cpu(void);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/ticketlock.h b/platform/linux-generic/include/api/odp/ticketlock.h
deleted file mode 100644
index 2116e3ead..000000000
--- a/platform/linux-generic/include/api/odp/ticketlock.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP ticketlock
- */
-
-#ifndef ODP_TICKETLOCK_H_
-#define ODP_TICKETLOCK_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-#include <odp/atomic.h>
-
-/** @addtogroup odp_synchronizers
- * Operations on ticket locks.
- * Acquiring a ticket lock happens in two phases. First the threads takes a
- * ticket. Second it waits (spins) until it is its turn.
- * Ticket locks are believed to be more fair than spin locks.
- * Ticket locks shall not be used in the presence of preemption.
- * @{
- */
-
-/**
- * ODP ticket lock
- */
-typedef struct odp_ticketlock_t {
- odp_atomic_u32_t next_ticket; /**< @private Next ticket */
- odp_atomic_u32_t cur_ticket; /**< @private Current ticket */
-} odp_ticketlock_t;
-
-
-/**
- * Initialize ticket lock.
- *
- * @param tklock Pointer to a ticket lock
- */
-void odp_ticketlock_init(odp_ticketlock_t *tklock);
-
-
-/**
- * Acquire ticket lock.
- *
- * @param tklock Pointer to a ticket lock
- */
-void odp_ticketlock_lock(odp_ticketlock_t *tklock);
-
-/**
- * Try to acquire ticket lock.
- *
- * @param tklock Pointer to a ticket lock
- *
- * @retval 1 lock acquired
- * @retval 0 lock not acquired
- */
-int odp_ticketlock_trylock(odp_ticketlock_t *tklock);
-
-/**
- * Release ticket lock.
- *
- * @param tklock Pointer to a ticket lock
- */
-void odp_ticketlock_unlock(odp_ticketlock_t *tklock);
-
-
-/**
- * Check if ticket lock is locked.
- *
- * @param tklock Pointer to a ticket lock
- *
- * @retval 1 the lock is busy (locked)
- * @retval 0 the lock is available (unlocked)
- */
-int odp_ticketlock_is_locked(odp_ticketlock_t *tklock);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/time.h b/platform/linux-generic/include/api/odp/time.h
deleted file mode 100644
index 58b20f548..000000000
--- a/platform/linux-generic/include/api/odp/time.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP time
- */
-
-#ifndef ODP_TIME_H_
-#define ODP_TIME_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <odp/std_types.h>
-
-/** @defgroup odp_system ODP SYSTEM
- * @{
- */
-
-/* Time in nanoseconds */
-#define ODP_TIME_USEC 1000UL /**< Microsecond in nsec */
-#define ODP_TIME_MSEC 1000000UL /**< Millisecond in nsec */
-#define ODP_TIME_SEC 1000000000UL /**< Second in nsec */
-
-
-/**
- * Current time in CPU cycles
- *
- * @return Current time in CPU cycles
- */
-uint64_t odp_time_cycles(void);
-
-
-/**
- * Time difference
- *
- * @param t1 First time stamp
- * @param t2 Second time stamp
- *
- * @return Difference of time stamps in CPU cycles
- */
-uint64_t odp_time_diff_cycles(uint64_t t1, uint64_t t2);
-
-
-/**
- * Convert CPU cycles to nanoseconds
- *
- * @param cycles Time in CPU cycles
- *
- * @return Time in nanoseconds
- */
-uint64_t odp_time_cycles_to_ns(uint64_t cycles);
-
-
-/**
- * Convert nanoseconds to CPU cycles
- *
- * @param ns Time in nanoseconds
- *
- * @return Time in CPU cycles
- */
-uint64_t odp_time_ns_to_cycles(uint64_t ns);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/timer.h b/platform/linux-generic/include/api/odp/timer.h
deleted file mode 100644
index 357771b92..000000000
--- a/platform/linux-generic/include/api/odp/timer.h
+++ /dev/null
@@ -1,403 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP timer service
- */
-
-#ifndef ODP_TIMER_H_
-#define ODP_TIMER_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdlib.h>
-#include <odp/std_types.h>
-#include <odp/event.h>
-#include <odp/queue.h>
-
-/** @defgroup odp_timer ODP TIMER
- * @{
- */
-
-struct odp_timer_pool_s; /**< Forward declaration */
-
-/**
-* ODP timer pool handle (platform dependent)
-*/
-typedef struct odp_timer_pool_s *odp_timer_pool_t;
-
-/**
- * Invalid timer pool handle (platform dependent).
- */
-#define ODP_TIMER_POOL_INVALID NULL
-
-/**
- * Clock sources for timers in timer pool.
- */
-typedef enum {
- /** Use CPU clock as clock source for timers */
- ODP_CLOCK_CPU,
- /** Use external clock as clock source for timers */
- ODP_CLOCK_EXT
- /* Platform dependent which other clock sources exist */
-} odp_timer_clk_src_t;
-
-/**
-* ODP timer handle (platform dependent).
-*/
-typedef uint32_t odp_timer_t;
-
-/**
-* ODP timeout handle (platform dependent).
-*/
-typedef void *odp_timeout_t;
-
-/**
- * Invalid timer handle (platform dependent).
- */
-#define ODP_TIMER_INVALID ((uint32_t)~0U)
-
-/**
- * Invalid timeout handle (platform dependent).
- */
-#define ODP_TIMEOUT_INVALID NULL
-
-/**
- * Return values of timer set calls.
- */
-typedef enum {
-/**
- * Timer set operation succeeded
- */
- ODP_TIMER_SUCCESS = 0,
-/**
- * Timer set operation failed, expiration too early.
- * Either retry with a later expiration time or process the timeout
- * immediately. */
- ODP_TIMER_TOOEARLY = -1,
-
-/**
- * Timer set operation failed, expiration too late.
- * Truncate the expiration time against the maximum timeout for the
- * timer pool. */
- ODP_TIMER_TOOLATE = -2,
-/**
- * Timer set operation failed because no timeout event specified and no
- * timeout event present in the timer (timer inactive/expired).
- */
- ODP_TIMER_NOEVENT = -3
-} odp_timer_set_t;
-
-/** Maximum timer pool name length in chars (including null char) */
-#define ODP_TIMER_POOL_NAME_LEN 32
-
-/** Timer pool parameters
- * Timer pool parameters are used when creating and querying timer pools.
- */
-typedef struct {
- uint64_t res_ns; /**< Timeout resolution in nanoseconds */
- uint64_t min_tmo; /**< Minimum relative timeout in nanoseconds */
- uint64_t max_tmo; /**< Maximum relative timeout in nanoseconds */
- uint32_t num_timers; /**< (Minimum) number of supported timers */
- int private; /**< Shared (false) or private (true) timer pool */
- odp_timer_clk_src_t clk_src; /**< Clock source for timers */
-} odp_timer_pool_param_t;
-
-/**
- * Create a timer pool
- *
- * @param name Name of the timer pool. The string will be copied.
- * @param params Timer pool parameters. The content will be copied.
- *
- * @return Timer pool handle if successful, otherwise ODP_TIMER_POOL_INVALID
- * and errno set
- */
-odp_timer_pool_t
-odp_timer_pool_create(const char *name,
- const odp_timer_pool_param_t *params);
-
-/**
- * Start a timer pool
- *
- * Start all created timer pools, enabling the allocation of timers.
- * The purpose of this call is to coordinate the creation of multiple timer
- * pools that may use the same underlying HW resources.
- * This function may be called multiple times.
- */
-void odp_timer_pool_start(void);
-
-/**
- * Destroy a timer pool
- *
- * Destroy a timer pool, freeing all resources.
- * All timers must have been freed.
- *
- * @param tpid Timer pool identifier
- */
-void odp_timer_pool_destroy(odp_timer_pool_t tpid);
-
-/**
- * Convert timer ticks to nanoseconds
- *
- * @param tpid Timer pool identifier
- * @param ticks Timer ticks
- *
- * @return Nanoseconds
- */
-uint64_t odp_timer_tick_to_ns(odp_timer_pool_t tpid, uint64_t ticks);
-
-/**
- * Convert nanoseconds to timer ticks
- *
- * @param tpid Timer pool identifier
- * @param ns Nanoseconds
- *
- * @return Timer ticks
- */
-uint64_t odp_timer_ns_to_tick(odp_timer_pool_t tpid, uint64_t ns);
-
-/**
- * Current tick value
- *
- * @param tpid Timer pool identifier
- *
- * @return Current time in timer ticks
- */
-uint64_t odp_timer_current_tick(odp_timer_pool_t tpid);
-
-/**
- * ODP timer pool information and configuration
- */
-
-typedef struct {
- odp_timer_pool_param_t param; /**< Parameters specified at creation */
- uint32_t cur_timers; /**< Number of currently allocated timers */
- uint32_t hwm_timers; /**< High watermark of allocated timers */
- const char *name; /**< Name of timer pool */
-} odp_timer_pool_info_t;
-
-/**
- * Query timer pool configuration and current state
- *
- * @param tpid Timer pool identifier
- * @param[out] info Pointer to information buffer
- *
- * @retval 0 Success
- * @retval -1 Failure. Info could not be retrieved.
- */
-int odp_timer_pool_info(odp_timer_pool_t tpid,
- odp_timer_pool_info_t *info);
-
-/**
- * Allocate a timer
- *
- * Create a timer (allocating all necessary resources e.g. timeout event) from
- * the timer pool. The user_ptr is copied to timeouts and can be retrieved
- * using the odp_timeout_user_ptr() call.
- *
- * @param tpid Timer pool identifier
- * @param queue Destination queue for timeout notifications
- * @param user_ptr User defined pointer or NULL to be copied to timeouts
- *
- * @return Timer handle if successful, otherwise ODP_TIMER_INVALID and
- * errno set.
- */
-odp_timer_t odp_timer_alloc(odp_timer_pool_t tpid,
- odp_queue_t queue,
- void *user_ptr);
-
-/**
- * Free a timer
- *
- * Free (destroy) a timer, reclaiming associated resources.
- * The timeout event for an active timer will be returned.
- * The timeout event for an expired timer will not be returned. It is the
- * responsibility of the application to handle this timeout when it is received.
- *
- * @param tim Timer handle
- * @return Event handle of timeout event or ODP_EVENT_INVALID
- */
-odp_event_t odp_timer_free(odp_timer_t tim);
-
-/**
- * Set a timer (absolute time) with a user-provided timeout event
- *
- * Set (arm) the timer to expire at specific time. The timeout
- * event will be enqueued when the timer expires.
- *
- * Note: any invalid parameters will be treated as programming errors and will
- * cause the application to abort.
- *
- * @param tim Timer
- * @param abs_tck Expiration time in absolute timer ticks
- * @param[in,out] tmo_ev Reference to an event variable that points to
- * timeout event or NULL to reuse the existing timeout event. Any existing
- * timeout event that is replaced by a successful set operation will be
- * returned here.
- *
- * @retval ODP_TIMER_SUCCESS Operation succeeded
- * @retval ODP_TIMER_TOOEARLY Operation failed because expiration tick too
- * early
- * @retval ODP_TIMER_TOOLATE Operation failed because expiration tick too
- * late
- * @retval ODP_TIMER_NOEVENT Operation failed because timeout event not
- * specified in odp_timer_set call and not present in timer
- */
-int odp_timer_set_abs(odp_timer_t tim,
- uint64_t abs_tck,
- odp_event_t *tmo_ev);
-
-/**
- * Set a timer with a relative expiration time and user-provided event.
- *
- * Set (arm) the timer to expire at a relative future time.
- *
- * Note: any invalid parameters will be treated as programming errors and will
- * cause the application to abort.
- *
- * @param tim Timer
- * @param rel_tck Expiration time in timer ticks relative to current time of
- * the timer pool the timer belongs to
- * @param[in,out] tmo_ev Reference to an event variable that points to
- * timeout event or NULL to reuse the existing timeout event. Any existing
- * timeout event that is replaced by a successful set operation will be
- * returned here.
- *
- * @retval ODP_TIMER_SUCCESS Operation succeeded
- * @retval ODP_TIMER_TOOEARLY Operation failed because expiration tick too
- * early
- * @retval ODP_TIMER_TOOLATE Operation failed because expiration tick too
- * late
- * @retval ODP_TIMER_NOEVENT Operation failed because timeout event not
- * specified in call and not present in timer
- */
-int odp_timer_set_rel(odp_timer_t tim,
- uint64_t rel_tck,
- odp_event_t *tmo_ev);
-
-/**
- * Cancel a timer
- *
- * Cancel a timer, preventing future expiration and delivery. Return any
- * present timeout event.
- *
- * A timer that has already expired may be impossible to cancel and the timeout
- * will instead be delivered to the destination queue.
- *
- * Note: any invalid parameters will be treated as programming errors and will
- * cause the application to abort.
- *
- * @param tim Timer
- * @param[out] tmo_ev Pointer to an event variable
- * @retval 0 Success, active timer cancelled, timeout returned in '*tmo_ev'
- * @retval -1 Failure, timer already expired (or inactive)
- */
-int odp_timer_cancel(odp_timer_t tim, odp_event_t *tmo_ev);
-
-/**
- * Return timeout handle that is associated with timeout event
- *
- * Note: any invalid parameters will cause undefined behavior and may cause
- * the application to abort or crash.
- *
- * @param ev An event of type ODP_EVENT_TIMEOUT
- *
- * @return timeout handle
- */
-odp_timeout_t odp_timeout_from_event(odp_event_t ev);
-
-/**
- * Convert timeout handle to event handle
- *
- * @param tmo Timeout handle
- *
- * @return Event handle
- */
-odp_event_t odp_timeout_to_event(odp_timeout_t tmo);
-
-/**
- * Check for fresh timeout
- * If the corresponding timer has been reset or cancelled since this timeout
- * was enqueued, the timeout is stale (not fresh).
- *
- * @param tmo Timeout handle
- * @retval 1 Timeout is fresh
- * @retval 0 Timeout is stale
- */
-int odp_timeout_fresh(odp_timeout_t tmo);
-
-/**
- * Return timer handle for the timeout
- *
- * Note: any invalid parameters will cause undefined behavior and may cause
- * the application to abort or crash.
- *
- * @param tmo Timeout handle
- *
- * @return Timer handle
- */
-odp_timer_t odp_timeout_timer(odp_timeout_t tmo);
-
-/**
- * Return expiration tick for the timeout
- *
- * Note: any invalid parameters will cause undefined behavior and may cause
- * the application to abort or crash.
- *
- * @param tmo Timeout handle
- *
- * @return Expiration tick
- */
-uint64_t odp_timeout_tick(odp_timeout_t tmo);
-
-/**
- * Return user pointer for the timeout
- * The user pointer was specified when the timer was allocated.
- *
- * Note: any invalid parameters will cause undefined behavior and may cause
- * the application to abort or crash.
- *
- * @param tmo Timeout handle
- *
- * @return User pointer
- */
-void *odp_timeout_user_ptr(odp_timeout_t tmo);
-
-/**
- * Timeout alloc
- *
- * Allocates timeout from pool. Pool must be created with ODP_POOL_TIMEOUT type.
- *
- * @param pool Pool handle
- *
- * @return Timeout handle
- * @retval ODP_TIMEOUT_INVALID Timeout could not be allocated
- */
-odp_timeout_t odp_timeout_alloc(odp_pool_t pool);
-
-/**
- * Timeout free
- *
- * Frees the timeout back to the pool it was allocated from.
- *
- * @param tmo Timeout handle
- */
-void odp_timeout_free(odp_timeout_t tmo);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/platform/linux-generic/include/api/odp/version.h b/platform/linux-generic/include/api/odp/version.h
deleted file mode 100644
index 69be81c5a..000000000
--- a/platform/linux-generic/include/api/odp/version.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright (c) 2013, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP version
- */
-
-#ifndef ODP_VERSION_H_
-#define ODP_VERSION_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @defgroup odp_ver_abt_log_dbg ODP LOGGING / ABORT / VERSION / DEBUG
- * @{
- */
-
-/**
- * ODP API generation version
- *
- * Introduction of major new features or changes that make
- * very significant changes to the API. APIs with different
- * versions are likely not backward compatible.
- */
-#define ODP_VERSION_API_GENERATION 0
-
-/**
- * ODP API major version
- *
- * Introduction of major new features or changes. APIs with different major
- * versions are likely not backward compatible.
- */
-#define ODP_VERSION_API_MAJOR 9
-
-/**
- * ODP API minor version
- *
- * Minor version is incremented when introducing backward compatible changes
- * to the API. For an API with common generation and major version, but with
- * different minor numbers the two versions are backward compatible.
- */
-#define ODP_VERSION_API_MINOR 0
-
-/** @internal Version string expand */
-#define ODP_VERSION_STR_EXPAND(x) #x
-
-/** @internal Version to string */
-#define ODP_VERSION_TO_STR(x) ODP_VERSION_STR_EXPAND(x)
-
-/** @internal API version string */
-#define ODP_VERSION_API_STR \
-ODP_VERSION_TO_STR(ODP_VERSION_API_GENERATION) "." \
-ODP_VERSION_TO_STR(ODP_VERSION_API_MAJOR) "." \
-ODP_VERSION_TO_STR(ODP_VERSION_API_MINOR)
-
-/**
- * Returns ODP API version string
- */
-static inline const char *odp_version_api_str(void)
-{
- return ODP_VERSION_API_STR;
-}
-
-/**
- * Returns ODP implementation version string
- *
- * Every implementation of ODP may receive bug fixes independent of the version
- * of the API changing, this function returns that indication string.
- * @note This string is implementation specific.
- * @sa odp_version_api_str()
- *
- * @return null terminated implementation specific version identifier string
- */
-const char *odp_version_impl_str(void);
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif