diff mbox

[API-NEXT,PATCHv2,1/3] api and linux-generic: make room for new api

Message ID 1454956317-2519-2-git-send-email-christophe.milard@linaro.org
State Superseded
Headers show

Commit Message

Christophe Milard Feb. 8, 2016, 6:31 p.m. UTC
This is about making the current structure clearer so that other
interfaces can be added to ODP:
The ODP API specification (platform agnostic) is moved from
include/odp/api to include/odp/api/spec.
The ODP API platform definition (for linux generic) is moved from
platform/linux-generic/include/odp to
platform/linux-generic/include/odp/api
Include statements are adjusted accordinaly.
This patch has been done by a script which is given with the cover-letter
of this patch series.

Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
---
 example/traffic_mgmt/odp_traffic_mgmt.c            |   2 +-
 helper/include/odp/helper/chksum.h                 |   2 +-
 helper/include/odp/helper/eth.h                    |   8 +-
 helper/include/odp/helper/icmp.h                   |   6 +-
 helper/include/odp/helper/ip.h                     |   6 +-
 helper/include/odp/helper/ipsec.h                  |   8 +-
 helper/include/odp/helper/ring.h                   |   6 +-
 helper/include/odp/helper/tcp.h                    |   6 +-
 helper/include/odp/helper/udp.h                    |   6 +-
 helper/linux.c                                     |   6 +-
 include/odp.h                                      |  80 ++++++------
 include/odp/api/{ => spec}/align.h                 |   0
 include/odp/api/{ => spec}/atomic.h                |   0
 include/odp/api/{ => spec}/barrier.h               |   0
 include/odp/api/{ => spec}/buffer.h                |   0
 include/odp/api/{ => spec}/byteorder.h             |   0
 include/odp/api/{ => spec}/classification.h        |   0
 include/odp/api/{ => spec}/compiler.h              |   0
 include/odp/api/{ => spec}/config.h                |   0
 include/odp/api/{ => spec}/cpu.h                   |   2 +-
 include/odp/api/{ => spec}/cpumask.h               |   2 +-
 include/odp/api/{ => spec}/crypto.h                |   0
 include/odp/api/{ => spec}/debug.h                 |   0
 include/odp/api/{ => spec}/errno.h                 |   0
 include/odp/api/{ => spec}/event.h                 |   0
 include/odp/api/{ => spec}/hash.h                  |   2 +-
 include/odp/api/{ => spec}/hints.h                 |   0
 include/odp/api/{ => spec}/init.h                  |   6 +-
 include/odp/api/{ => spec}/packet.h                |   0
 include/odp/api/{ => spec}/packet_flags.h          |   4 +-
 include/odp/api/{ => spec}/packet_io.h             |   4 +-
 include/odp/api/{ => spec}/packet_io_stats.h       |   0
 include/odp/api/{ => spec}/pool.h                  |   2 +-
 include/odp/api/{ => spec}/queue.h                 |   4 +-
 include/odp/api/{ => spec}/random.h                |   0
 include/odp/api/{ => spec}/rwlock.h                |   0
 include/odp/api/{ => spec}/rwlock_recursive.h      |   0
 include/odp/api/{ => spec}/schedule.h              |  10 +-
 include/odp/api/{ => spec}/schedule_types.h        |   0
 include/odp/api/{ => spec}/shared_memory.h         |   0
 include/odp/api/{ => spec}/spinlock.h              |   0
 include/odp/api/{ => spec}/spinlock_recursive.h    |   0
 include/odp/api/{ => spec}/std_clib.h              |   0
 include/odp/api/{ => spec}/std_types.h             |   0
 include/odp/api/{ => spec}/sync.h                  |   0
 include/odp/api/{ => spec}/system_info.h           |   0
 include/odp/api/{ => spec}/thread.h                |   0
 include/odp/api/{ => spec}/thrmask.h               |   2 +-
 include/odp/api/{ => spec}/ticketlock.h            |   0
 include/odp/api/{ => spec}/time.h                  |   0
 include/odp/api/{ => spec}/timer.h                 |   0
 include/odp/api/{ => spec}/traffic_mngr.h          |   4 +-
 include/odp/api/{ => spec}/version.h               |   0
 platform/Makefile.inc                              |  88 ++++++-------
 platform/linux-generic/Makefile.am                 | 144 ++++++++++-----------
 platform/linux-generic/arch/linux/odp_cpu_arch.c   |   6 +-
 platform/linux-generic/arch/mips64/odp_cpu_arch.c  |   6 +-
 platform/linux-generic/arch/x86/odp_cpu_arch.c     |   2 +-
 .../linux-generic/include/odp/{ => api}/align.h    |   2 +-
 .../linux-generic/include/odp/{ => api}/atomic.h   |   6 +-
 .../linux-generic/include/odp/{ => api}/barrier.h  |  10 +-
 .../linux-generic/include/odp/{ => api}/buffer.h   |  10 +-
 .../include/odp/{ => api}/byteorder.h              |   8 +-
 .../include/odp/{ => api}/classification.h         |  14 +-
 .../linux-generic/include/odp/{ => api}/compiler.h |   2 +-
 .../linux-generic/include/odp/{ => api}/config.h   |   2 +-
 platform/linux-generic/include/odp/{ => api}/cpu.h |   2 +-
 .../linux-generic/include/odp/{ => api}/cpumask.h  |   6 +-
 .../linux-generic/include/odp/{ => api}/crypto.h   |  14 +-
 .../linux-generic/include/odp/{ => api}/debug.h    |   2 +-
 .../linux-generic/include/odp/{ => api}/errno.h    |   2 +-
 .../linux-generic/include/odp/{ => api}/event.h    |   4 +-
 .../linux-generic/include/odp/{ => api}/hash.h     |   2 +-
 .../linux-generic/include/odp/{ => api}/hints.h    |   2 +-
 .../linux-generic/include/odp/{ => api}/init.h     |   4 +-
 .../linux-generic/include/odp/{ => api}/packet.h   |  14 +-
 .../include/odp/{ => api}/packet_flags.h           |   2 +-
 .../include/odp/{ => api}/packet_io.h              |  14 +-
 .../include/odp/{ => api}/plat/atomic_types.h      |   4 +-
 .../include/odp/{ => api}/plat/barrier_types.h     |   4 +-
 .../include/odp/{ => api}/plat/buffer_types.h      |   4 +-
 .../include/odp/{ => api}/plat/byteorder_types.h   |   0
 .../odp/{ => api}/plat/classification_types.h      |   2 +-
 .../include/odp/{ => api}/plat/cpumask_types.h     |   2 +-
 .../include/odp/{ => api}/plat/crypto_types.h      |   0
 .../include/odp/{ => api}/plat/event_types.h       |   4 +-
 .../include/odp/{ => api}/plat/init_types.h        |   0
 .../include/odp/{ => api}/plat/packet_io_types.h   |   4 +-
 .../include/odp/{ => api}/plat/packet_types.h      |   4 +-
 .../include/odp/{ => api}/plat/pool_types.h        |   6 +-
 .../include/odp/{ => api}/plat/queue_types.h       |   4 +-
 .../odp/{ => api}/plat/rwlock_recursive_types.h    |   6 +-
 .../include/odp/{ => api}/plat/rwlock_types.h      |   2 +-
 .../include/odp/{ => api}/plat/schedule_types.h    |   0
 .../odp/{ => api}/plat/shared_memory_types.h       |   4 +-
 .../odp/{ => api}/plat/spinlock_recursive_types.h  |   4 +-
 .../include/odp/{ => api}/plat/spinlock_types.h    |   2 +-
 .../include/odp/{ => api}/plat/strong_types.h      |   0
 .../include/odp/{ => api}/plat/thread_types.h      |   0
 .../include/odp/{ => api}/plat/thrmask_types.h     |   2 +-
 .../include/odp/{ => api}/plat/ticketlock_types.h  |   2 +-
 .../include/odp/{ => api}/plat/time_types.h        |   0
 .../include/odp/{ => api}/plat/timer_types.h       |   0
 .../odp/{ => api}/plat/traffic_mngr_types.h        |   4 +-
 .../include/odp/{ => api}/plat/version_types.h     |   0
 .../linux-generic/include/odp/{ => api}/pool.h     |   8 +-
 .../linux-generic/include/odp/{ => api}/queue.h    |  12 +-
 .../linux-generic/include/odp/{ => api}/random.h   |   2 +-
 .../linux-generic/include/odp/{ => api}/rwlock.h   |   4 +-
 .../include/odp/{ => api}/rwlock_recursive.h       |   4 +-
 .../linux-generic/include/odp/{ => api}/schedule.h |   4 +-
 .../include/odp/{ => api}/schedule_types.h         |   4 +-
 .../include/odp/{ => api}/shared_memory.h          |   4 +-
 .../linux-generic/include/odp/{ => api}/spinlock.h |   4 +-
 .../include/odp/{ => api}/spinlock_recursive.h     |   4 +-
 .../linux-generic/include/odp/{ => api}/std_clib.h |   2 +-
 .../include/odp/{ => api}/std_types.h              |   2 +-
 .../linux-generic/include/odp/{ => api}/sync.h     |   2 +-
 .../include/odp/{ => api}/system_info.h            |   4 +-
 .../linux-generic/include/odp/{ => api}/thread.h   |   4 +-
 .../linux-generic/include/odp/{ => api}/thrmask.h  |   4 +-
 .../include/odp/{ => api}/ticketlock.h             |   4 +-
 .../linux-generic/include/odp/{ => api}/time.h     |   6 +-
 .../linux-generic/include/odp/{ => api}/timer.h    |  12 +-
 .../include/odp/{ => api}/traffic_mngr.h           |   4 +-
 .../linux-generic/include/odp/{ => api}/version.h  |   4 +-
 .../linux-generic/include/odp_align_internal.h     |   2 +-
 .../linux-generic/include/odp_atomic_internal.h    |   8 +-
 .../linux-generic/include/odp_buffer_internal.h    |  20 +--
 .../include/odp_classification_datamodel.h         |   4 +-
 .../include/odp_classification_inlines.h           |   2 +-
 .../include/odp_classification_internal.h          |   6 +-
 .../linux-generic/include/odp_debug_internal.h     |   2 +-
 platform/linux-generic/include/odp_internal.h      |   4 +-
 .../linux-generic/include/odp_packet_internal.h    |  10 +-
 .../linux-generic/include/odp_packet_io_internal.h |   8 +-
 platform/linux-generic/include/odp_packet_netmap.h |  10 +-
 platform/linux-generic/include/odp_packet_socket.h |  12 +-
 platform/linux-generic/include/odp_packet_tap.h    |   2 +-
 platform/linux-generic/include/odp_pool_internal.h |  22 ++--
 .../linux-generic/include/odp_queue_internal.h     |  12 +-
 .../linux-generic/include/odp_schedule_internal.h  |   6 +-
 .../linux-generic/include/odp_timer_internal.h     |   6 +-
 .../include/odp_traffic_mngr_internal.h            |   4 +-
 platform/linux-generic/odp_atomic.c                |   2 +-
 platform/linux-generic/odp_barrier.c               |   8 +-
 platform/linux-generic/odp_buffer.c                |   2 +-
 platform/linux-generic/odp_classification.c        |  14 +-
 platform/linux-generic/odp_cpu.c                   |   4 +-
 platform/linux-generic/odp_cpumask.c               |   2 +-
 platform/linux-generic/odp_cpumask_task.c          |   2 +-
 platform/linux-generic/odp_crypto.c                |  18 +--
 platform/linux-generic/odp_errno.c                 |   2 +-
 platform/linux-generic/odp_event.c                 |  12 +-
 platform/linux-generic/odp_hash.c                  |   4 +-
 platform/linux-generic/odp_impl.c                  |   2 +-
 platform/linux-generic/odp_init.c                  |   4 +-
 platform/linux-generic/odp_packet.c                |   6 +-
 platform/linux-generic/odp_packet_flags.c          |   2 +-
 platform/linux-generic/odp_packet_io.c             |  12 +-
 platform/linux-generic/odp_pool.c                  |  14 +-
 platform/linux-generic/odp_queue.c                 |  24 ++--
 platform/linux-generic/odp_rwlock.c                |   6 +-
 platform/linux-generic/odp_rwlock_recursive.c      |   4 +-
 platform/linux-generic/odp_schedule.c              |  24 ++--
 platform/linux-generic/odp_shared_memory.c         |  12 +-
 platform/linux-generic/odp_spinlock.c              |   4 +-
 platform/linux-generic/odp_spinlock_recursive.c    |   4 +-
 platform/linux-generic/odp_system_info.c           |   6 +-
 platform/linux-generic/odp_thread.c                |  14 +-
 platform/linux-generic/odp_thrmask.c               |   4 +-
 platform/linux-generic/odp_ticketlock.c            |   8 +-
 platform/linux-generic/odp_time.c                  |   4 +-
 platform/linux-generic/odp_timer.c                 |  30 ++---
 platform/linux-generic/odp_traffic_mngr.c          |   2 +-
 platform/linux-generic/odp_version.c               |   2 +-
 platform/linux-generic/odp_weak.c                  |   4 +-
 platform/linux-generic/pktio/loop.c                |   2 +-
 platform/linux-generic/pktio/socket.c              |   2 +-
 platform/linux-generic/pktio/socket_mmap.c         |   2 +-
 test/validation/system/system.c                    |   2 +-
 181 files changed, 559 insertions(+), 559 deletions(-)
 rename include/odp/api/{ => spec}/align.h (100%)
 rename include/odp/api/{ => spec}/atomic.h (100%)
 rename include/odp/api/{ => spec}/barrier.h (100%)
 rename include/odp/api/{ => spec}/buffer.h (100%)
 rename include/odp/api/{ => spec}/byteorder.h (100%)
 rename include/odp/api/{ => spec}/classification.h (100%)
 rename include/odp/api/{ => spec}/compiler.h (100%)
 rename include/odp/api/{ => spec}/config.h (100%)
 rename include/odp/api/{ => spec}/cpu.h (99%)
 rename include/odp/api/{ => spec}/cpumask.h (99%)
 rename include/odp/api/{ => spec}/crypto.h (100%)
 rename include/odp/api/{ => spec}/debug.h (100%)
 rename include/odp/api/{ => spec}/errno.h (100%)
 rename include/odp/api/{ => spec}/event.h (100%)
 rename include/odp/api/{ => spec}/hash.h (98%)
 rename include/odp/api/{ => spec}/hints.h (100%)
 rename include/odp/api/{ => spec}/init.h (98%)
 rename include/odp/api/{ => spec}/packet.h (100%)
 rename include/odp/api/{ => spec}/packet_flags.h (99%)
 rename include/odp/api/{ => spec}/packet_io.h (99%)
 rename include/odp/api/{ => spec}/packet_io_stats.h (100%)
 rename include/odp/api/{ => spec}/pool.h (99%)
 rename include/odp/api/{ => spec}/queue.h (99%)
 rename include/odp/api/{ => spec}/random.h (100%)
 rename include/odp/api/{ => spec}/rwlock.h (100%)
 rename include/odp/api/{ => spec}/rwlock_recursive.h (100%)
 rename include/odp/api/{ => spec}/schedule.h (98%)
 rename include/odp/api/{ => spec}/schedule_types.h (100%)
 rename include/odp/api/{ => spec}/shared_memory.h (100%)
 rename include/odp/api/{ => spec}/spinlock.h (100%)
 rename include/odp/api/{ => spec}/spinlock_recursive.h (100%)
 rename include/odp/api/{ => spec}/std_clib.h (100%)
 rename include/odp/api/{ => spec}/std_types.h (100%)
 rename include/odp/api/{ => spec}/sync.h (100%)
 rename include/odp/api/{ => spec}/system_info.h (100%)
 rename include/odp/api/{ => spec}/thread.h (100%)
 rename include/odp/api/{ => spec}/thrmask.h (99%)
 rename include/odp/api/{ => spec}/ticketlock.h (100%)
 rename include/odp/api/{ => spec}/time.h (100%)
 rename include/odp/api/{ => spec}/timer.h (100%)
 rename include/odp/api/{ => spec}/traffic_mngr.h (99%)
 rename include/odp/api/{ => spec}/version.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/align.h (97%)
 rename platform/linux-generic/include/odp/{ => api}/atomic.h (99%)
 rename platform/linux-generic/include/odp/{ => api}/barrier.h (62%)
 rename platform/linux-generic/include/odp/{ => api}/buffer.h (65%)
 rename platform/linux-generic/include/odp/{ => api}/byteorder.h (95%)
 rename platform/linux-generic/include/odp/{ => api}/classification.h (57%)
 rename platform/linux-generic/include/odp/{ => api}/compiler.h (90%)
 rename platform/linux-generic/include/odp/{ => api}/config.h (99%)
 rename platform/linux-generic/include/odp/{ => api}/cpu.h (90%)
 rename platform/linux-generic/include/odp/{ => api}/cpumask.h (76%)
 rename platform/linux-generic/include/odp/{ => api}/crypto.h (57%)
 rename platform/linux-generic/include/odp/{ => api}/debug.h (89%)
 rename platform/linux-generic/include/odp/{ => api}/errno.h (89%)
 rename platform/linux-generic/include/odp/{ => api}/event.h (82%)
 rename platform/linux-generic/include/odp/{ => api}/hash.h (91%)
 rename platform/linux-generic/include/odp/{ => api}/hints.h (91%)
 rename platform/linux-generic/include/odp/{ => api}/init.h (83%)
 rename platform/linux-generic/include/odp/{ => api}/packet.h (56%)
 rename platform/linux-generic/include/odp/{ => api}/packet_flags.h (90%)
 rename platform/linux-generic/include/odp/{ => api}/packet_io.h (56%)
 rename platform/linux-generic/include/odp/{ => api}/plat/atomic_types.h (97%)
 rename platform/linux-generic/include/odp/{ => api}/plat/barrier_types.h (89%)
 rename platform/linux-generic/include/odp/{ => api}/plat/buffer_types.h (91%)
 rename platform/linux-generic/include/odp/{ => api}/plat/byteorder_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/classification_types.h (95%)
 rename platform/linux-generic/include/odp/{ => api}/plat/cpumask_types.h (95%)
 rename platform/linux-generic/include/odp/{ => api}/plat/crypto_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/event_types.h (91%)
 rename platform/linux-generic/include/odp/{ => api}/plat/init_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/packet_io_types.h (93%)
 rename platform/linux-generic/include/odp/{ => api}/plat/packet_types.h (94%)
 rename platform/linux-generic/include/odp/{ => api}/plat/pool_types.h (87%)
 rename platform/linux-generic/include/odp/{ => api}/plat/queue_types.h (92%)
 rename platform/linux-generic/include/odp/{ => api}/plat/rwlock_recursive_types.h (88%)
 rename platform/linux-generic/include/odp/{ => api}/plat/rwlock_types.h (94%)
 rename platform/linux-generic/include/odp/{ => api}/plat/schedule_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/shared_memory_types.h (90%)
 rename platform/linux-generic/include/odp/{ => api}/plat/spinlock_recursive_types.h (90%)
 rename platform/linux-generic/include/odp/{ => api}/plat/spinlock_types.h (93%)
 rename platform/linux-generic/include/odp/{ => api}/plat/strong_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/thread_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/thrmask_types.h (95%)
 rename platform/linux-generic/include/odp/{ => api}/plat/ticketlock_types.h (94%)
 rename platform/linux-generic/include/odp/{ => api}/plat/time_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/timer_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/plat/traffic_mngr_types.h (98%)
 rename platform/linux-generic/include/odp/{ => api}/plat/version_types.h (100%)
 rename platform/linux-generic/include/odp/{ => api}/pool.h (68%)
 rename platform/linux-generic/include/odp/{ => api}/queue.h (60%)
 rename platform/linux-generic/include/odp/{ => api}/random.h (91%)
 rename platform/linux-generic/include/odp/{ => api}/rwlock.h (80%)
 rename platform/linux-generic/include/odp/{ => api}/rwlock_recursive.h (77%)
 rename platform/linux-generic/include/odp/{ => api}/schedule.h (81%)
 rename platform/linux-generic/include/odp/{ => api}/schedule_types.h (78%)
 rename platform/linux-generic/include/odp/{ => api}/shared_memory.h (81%)
 rename platform/linux-generic/include/odp/{ => api}/spinlock.h (79%)
 rename platform/linux-generic/include/odp/{ => api}/spinlock_recursive.h (76%)
 rename platform/linux-generic/include/odp/{ => api}/std_clib.h (94%)
 rename platform/linux-generic/include/odp/{ => api}/std_types.h (94%)
 rename platform/linux-generic/include/odp/{ => api}/sync.h (95%)
 rename platform/linux-generic/include/odp/{ => api}/system_info.h (81%)
 rename platform/linux-generic/include/odp/{ => api}/thread.h (79%)
 rename platform/linux-generic/include/odp/{ => api}/thrmask.h (82%)
 rename platform/linux-generic/include/odp/{ => api}/ticketlock.h (78%)
 rename platform/linux-generic/include/odp/{ => api}/time.h (73%)
 rename platform/linux-generic/include/odp/{ => api}/timer.h (61%)
 rename platform/linux-generic/include/odp/{ => api}/traffic_mngr.h (81%)
 rename platform/linux-generic/include/odp/{ => api}/version.h (79%)
diff mbox

Patch

diff --git a/example/traffic_mgmt/odp_traffic_mgmt.c b/example/traffic_mgmt/odp_traffic_mgmt.c
index 37a85c7..b4f0101 100644
--- a/example/traffic_mgmt/odp_traffic_mgmt.c
+++ b/example/traffic_mgmt/odp_traffic_mgmt.c
@@ -16,7 +16,7 @@ 
 #include <sys/resource.h>
 #include <execinfo.h>
 #include <odp.h>
-#include <odp/plat/packet_types.h>
+#include <odp/api/plat/packet_types.h>
 #include <example_debug.h>
 
 #define NUM_SVC_CLASSES     4
diff --git a/helper/include/odp/helper/chksum.h b/helper/include/odp/helper/chksum.h
index 215917c..cf5c0e8 100644
--- a/helper/include/odp/helper/chksum.h
+++ b/helper/include/odp/helper/chksum.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /**
  * Checksum
diff --git a/helper/include/odp/helper/eth.h b/helper/include/odp/helper/eth.h
index 7c9c728..34690a4 100644
--- a/helper/include/odp/helper/eth.h
+++ b/helper/include/odp/helper/eth.h
@@ -18,10 +18,10 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/byteorder.h>
-#include <odp/align.h>
-#include <odp/debug.h>
+#include <odp/api/std_types.h>
+#include <odp/api/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
 
 /** @addtogroup odph_header ODPH HEADER
  *  @{
diff --git a/helper/include/odp/helper/icmp.h b/helper/include/odp/helper/icmp.h
index 7f5097b..4f115f8 100644
--- a/helper/include/odp/helper/icmp.h
+++ b/helper/include/odp/helper/icmp.h
@@ -18,9 +18,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
+#include <odp/api/byteorder.h>
 
 /** @addtogroup odph_header ODPH HEADER
  *  @{
diff --git a/helper/include/odp/helper/ip.h b/helper/include/odp/helper/ip.h
index 2fa4aae..20490d4 100644
--- a/helper/include/odp/helper/ip.h
+++ b/helper/include/odp/helper/ip.h
@@ -18,9 +18,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
+#include <odp/api/byteorder.h>
 #include <odp/helper/chksum.h>
 
 #include <string.h>
diff --git a/helper/include/odp/helper/ipsec.h b/helper/include/odp/helper/ipsec.h
index 2cc2403..951f6d3 100644
--- a/helper/include/odp/helper/ipsec.h
+++ b/helper/include/odp/helper/ipsec.h
@@ -18,10 +18,10 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/byteorder.h>
-#include <odp/align.h>
-#include <odp/debug.h>
+#include <odp/api/std_types.h>
+#include <odp/api/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
 
 /** @addtogroup odph_header ODPH HEADER
  *  @{
diff --git a/helper/include/odp/helper/ring.h b/helper/include/odp/helper/ring.h
index 65c32ad..38be271 100644
--- a/helper/include/odp/helper/ring.h
+++ b/helper/include/odp/helper/ring.h
@@ -97,9 +97,9 @@  extern "C" {
 #endif
 
 
-#include <odp/std_types.h>
-#include <odp/hints.h>
-#include <odp/atomic.h>
+#include <odp/api/std_types.h>
+#include <odp/api/hints.h>
+#include <odp/api/atomic.h>
 #include <errno.h>
 #include <sys/queue.h>
 
diff --git a/helper/include/odp/helper/tcp.h b/helper/include/odp/helper/tcp.h
index eb0a268..97bcee6 100644
--- a/helper/include/odp/helper/tcp.h
+++ b/helper/include/odp/helper/tcp.h
@@ -18,9 +18,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
+#include <odp/api/byteorder.h>
 
 /** @addtogroup odph_header ODPH HEADER
  *  @{
diff --git a/helper/include/odp/helper/udp.h b/helper/include/odp/helper/udp.h
index 88a77f8..3b35435 100644
--- a/helper/include/odp/helper/udp.h
+++ b/helper/include/odp/helper/udp.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
+#include <odp/api/byteorder.h>
 
 /** @addtogroup odph_header ODPH HEADER
  *  @{
diff --git a/helper/linux.c b/helper/linux.c
index 7904d5c..4e9e38c 100644
--- a/helper/linux.c
+++ b/helper/linux.c
@@ -18,9 +18,9 @@ 
 #include <stdio.h>
 
 #include <odp/helper/linux.h>
-#include <odp/thread.h>
-#include <odp/init.h>
-#include <odp/system_info.h>
+#include <odp/api/thread.h>
+#include <odp/api/init.h>
+#include <odp/api/system_info.h>
 #include "odph_debug.h"
 
 static void *odp_run_start_routine(void *arg)
diff --git a/include/odp.h b/include/odp.h
index 4a93c23..57559a6 100644
--- a/include/odp.h
+++ b/include/odp.h
@@ -18,47 +18,47 @@ 
 extern "C" {
 #endif
 
-#include <odp/config.h>
+#include <odp/api/config.h>
 
-#include <odp/version.h>
-#include <odp/std_types.h>
-#include <odp/compiler.h>
-#include <odp/align.h>
-#include <odp/hash.h>
-#include <odp/hints.h>
-#include <odp/debug.h>
-#include <odp/byteorder.h>
-#include <odp/cpu.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>
-#include <odp/random.h>
-#include <odp/errno.h>
-#include <odp/thrmask.h>
-#include <odp/traffic_mngr.h>
-#include <odp/spinlock_recursive.h>
-#include <odp/rwlock_recursive.h>
-#include <odp/std_clib.h>
+#include <odp/api/version.h>
+#include <odp/api/std_types.h>
+#include <odp/api/compiler.h>
+#include <odp/api/align.h>
+#include <odp/api/hash.h>
+#include <odp/api/hints.h>
+#include <odp/api/debug.h>
+#include <odp/api/byteorder.h>
+#include <odp/api/cpu.h>
+#include <odp/api/cpumask.h>
+#include <odp/api/barrier.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/atomic.h>
+#include <odp/api/init.h>
+#include <odp/api/system_info.h>
+#include <odp/api/thread.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/buffer.h>
+#include <odp/api/pool.h>
+#include <odp/api/queue.h>
+#include <odp/api/ticketlock.h>
+#include <odp/api/time.h>
+#include <odp/api/timer.h>
+#include <odp/api/schedule.h>
+#include <odp/api/sync.h>
+#include <odp/api/packet.h>
+#include <odp/api/packet_flags.h>
+#include <odp/api/packet_io.h>
+#include <odp/api/crypto.h>
+#include <odp/api/classification.h>
+#include <odp/api/rwlock.h>
+#include <odp/api/event.h>
+#include <odp/api/random.h>
+#include <odp/api/errno.h>
+#include <odp/api/thrmask.h>
+#include <odp/api/traffic_mngr.h>
+#include <odp/api/spinlock_recursive.h>
+#include <odp/api/rwlock_recursive.h>
+#include <odp/api/std_clib.h>
 
 #ifdef __cplusplus
 }
diff --git a/include/odp/api/align.h b/include/odp/api/spec/align.h
similarity index 100%
rename from include/odp/api/align.h
rename to include/odp/api/spec/align.h
diff --git a/include/odp/api/atomic.h b/include/odp/api/spec/atomic.h
similarity index 100%
rename from include/odp/api/atomic.h
rename to include/odp/api/spec/atomic.h
diff --git a/include/odp/api/barrier.h b/include/odp/api/spec/barrier.h
similarity index 100%
rename from include/odp/api/barrier.h
rename to include/odp/api/spec/barrier.h
diff --git a/include/odp/api/buffer.h b/include/odp/api/spec/buffer.h
similarity index 100%
rename from include/odp/api/buffer.h
rename to include/odp/api/spec/buffer.h
diff --git a/include/odp/api/byteorder.h b/include/odp/api/spec/byteorder.h
similarity index 100%
rename from include/odp/api/byteorder.h
rename to include/odp/api/spec/byteorder.h
diff --git a/include/odp/api/classification.h b/include/odp/api/spec/classification.h
similarity index 100%
rename from include/odp/api/classification.h
rename to include/odp/api/spec/classification.h
diff --git a/include/odp/api/compiler.h b/include/odp/api/spec/compiler.h
similarity index 100%
rename from include/odp/api/compiler.h
rename to include/odp/api/spec/compiler.h
diff --git a/include/odp/api/config.h b/include/odp/api/spec/config.h
similarity index 100%
rename from include/odp/api/config.h
rename to include/odp/api/spec/config.h
diff --git a/include/odp/api/cpu.h b/include/odp/api/spec/cpu.h
similarity index 99%
rename from include/odp/api/cpu.h
rename to include/odp/api/spec/cpu.h
index eaee24b..f0e20c4 100644
--- a/include/odp/api/cpu.h
+++ b/include/odp/api/spec/cpu.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /** @defgroup odp_cpu ODP CPU
  *  @{
diff --git a/include/odp/api/cpumask.h b/include/odp/api/spec/cpumask.h
similarity index 99%
rename from include/odp/api/cpumask.h
rename to include/odp/api/spec/cpumask.h
index 4407b10..42098c2 100644
--- a/include/odp/api/cpumask.h
+++ b/include/odp/api/spec/cpumask.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/config.h>
+#include <odp/api/config.h>
 
 /** @defgroup odp_cpumask ODP CPUMASK
  *  CPU mask operations.
diff --git a/include/odp/api/crypto.h b/include/odp/api/spec/crypto.h
similarity index 100%
rename from include/odp/api/crypto.h
rename to include/odp/api/spec/crypto.h
diff --git a/include/odp/api/debug.h b/include/odp/api/spec/debug.h
similarity index 100%
rename from include/odp/api/debug.h
rename to include/odp/api/spec/debug.h
diff --git a/include/odp/api/errno.h b/include/odp/api/spec/errno.h
similarity index 100%
rename from include/odp/api/errno.h
rename to include/odp/api/spec/errno.h
diff --git a/include/odp/api/event.h b/include/odp/api/spec/event.h
similarity index 100%
rename from include/odp/api/event.h
rename to include/odp/api/spec/event.h
diff --git a/include/odp/api/hash.h b/include/odp/api/spec/hash.h
similarity index 98%
rename from include/odp/api/hash.h
rename to include/odp/api/spec/hash.h
index 1b2a580..a6bc753 100644
--- a/include/odp/api/hash.h
+++ b/include/odp/api/spec/hash.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /** @defgroup odp_hash ODP HASH FUNCTIONS
  *  ODP Hash functions
diff --git a/include/odp/api/hints.h b/include/odp/api/spec/hints.h
similarity index 100%
rename from include/odp/api/hints.h
rename to include/odp/api/spec/hints.h
diff --git a/include/odp/api/init.h b/include/odp/api/spec/init.h
similarity index 98%
rename from include/odp/api/init.h
rename to include/odp/api/spec/init.h
index 381f77e..2c98109 100644
--- a/include/odp/api/init.h
+++ b/include/odp/api/spec/init.h
@@ -28,9 +28,9 @@  extern "C" {
 
 
 
-#include <odp/std_types.h>
-#include <odp/hints.h>
-#include <odp/thread.h>
+#include <odp/api/std_types.h>
+#include <odp/api/hints.h>
+#include <odp/api/thread.h>
 
 /** @defgroup odp_initialization ODP INITIALIZATION
  *  Initialisation operations.
diff --git a/include/odp/api/packet.h b/include/odp/api/spec/packet.h
similarity index 100%
rename from include/odp/api/packet.h
rename to include/odp/api/spec/packet.h
diff --git a/include/odp/api/packet_flags.h b/include/odp/api/spec/packet_flags.h
similarity index 99%
rename from include/odp/api/packet_flags.h
rename to include/odp/api/spec/packet_flags.h
index 65fd3ce..0148521 100644
--- a/include/odp/api/packet_flags.h
+++ b/include/odp/api/spec/packet_flags.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/packet.h>
+#include <odp/api/std_types.h>
+#include <odp/api/packet.h>
 
 /** @addtogroup odp_packet
  *  Boolean operations on a packet.
diff --git a/include/odp/api/packet_io.h b/include/odp/api/spec/packet_io.h
similarity index 99%
rename from include/odp/api/packet_io.h
rename to include/odp/api/spec/packet_io.h
index 42796da..b63bd3f 100644
--- a/include/odp/api/packet_io.h
+++ b/include/odp/api/spec/packet_io.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/api/packet_io_stats.h>
-#include <odp/api/queue.h>
+#include <odp/api/spec/packet_io_stats.h>
+#include <odp/api/spec/queue.h>
 
 /** @defgroup odp_packet_io ODP PACKET IO
  *  Operations on a packet Input/Output interface.
diff --git a/include/odp/api/packet_io_stats.h b/include/odp/api/spec/packet_io_stats.h
similarity index 100%
rename from include/odp/api/packet_io_stats.h
rename to include/odp/api/spec/packet_io_stats.h
diff --git a/include/odp/api/pool.h b/include/odp/api/spec/pool.h
similarity index 99%
rename from include/odp/api/pool.h
rename to include/odp/api/spec/pool.h
index deab963..94a302e 100644
--- a/include/odp/api/pool.h
+++ b/include/odp/api/spec/pool.h
@@ -20,7 +20,7 @@  extern "C" {
 
 
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /** @defgroup odp_pool ODP POOL
  *  Operations on a pool.
diff --git a/include/odp/api/queue.h b/include/odp/api/spec/queue.h
similarity index 99%
rename from include/odp/api/queue.h
rename to include/odp/api/spec/queue.h
index bde8ca3..532d6b6 100644
--- a/include/odp/api/queue.h
+++ b/include/odp/api/spec/queue.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/schedule_types.h>
-#include <odp/event.h>
+#include <odp/api/schedule_types.h>
+#include <odp/api/event.h>
 
 /** @defgroup odp_queue ODP QUEUE
  *  Macros and operation on a queue.
diff --git a/include/odp/api/random.h b/include/odp/api/spec/random.h
similarity index 100%
rename from include/odp/api/random.h
rename to include/odp/api/spec/random.h
diff --git a/include/odp/api/rwlock.h b/include/odp/api/spec/rwlock.h
similarity index 100%
rename from include/odp/api/rwlock.h
rename to include/odp/api/spec/rwlock.h
diff --git a/include/odp/api/rwlock_recursive.h b/include/odp/api/spec/rwlock_recursive.h
similarity index 100%
rename from include/odp/api/rwlock_recursive.h
rename to include/odp/api/spec/rwlock_recursive.h
diff --git a/include/odp/api/schedule.h b/include/odp/api/spec/schedule.h
similarity index 98%
rename from include/odp/api/schedule.h
rename to include/odp/api/spec/schedule.h
index 68ba594..4ae681d 100644
--- a/include/odp/api/schedule.h
+++ b/include/odp/api/spec/schedule.h
@@ -19,11 +19,11 @@  extern "C" {
 #endif
 
 
-#include <odp/std_types.h>
-#include <odp/event.h>
-#include <odp/queue.h>
-#include <odp/schedule_types.h>
-#include <odp/thrmask.h>
+#include <odp/api/std_types.h>
+#include <odp/api/event.h>
+#include <odp/api/queue.h>
+#include <odp/api/schedule_types.h>
+#include <odp/api/thrmask.h>
 
 /** @defgroup odp_scheduler ODP SCHEDULER
  *  Operations on the scheduler.
diff --git a/include/odp/api/schedule_types.h b/include/odp/api/spec/schedule_types.h
similarity index 100%
rename from include/odp/api/schedule_types.h
rename to include/odp/api/spec/schedule_types.h
diff --git a/include/odp/api/shared_memory.h b/include/odp/api/spec/shared_memory.h
similarity index 100%
rename from include/odp/api/shared_memory.h
rename to include/odp/api/spec/shared_memory.h
diff --git a/include/odp/api/spinlock.h b/include/odp/api/spec/spinlock.h
similarity index 100%
rename from include/odp/api/spinlock.h
rename to include/odp/api/spec/spinlock.h
diff --git a/include/odp/api/spinlock_recursive.h b/include/odp/api/spec/spinlock_recursive.h
similarity index 100%
rename from include/odp/api/spinlock_recursive.h
rename to include/odp/api/spec/spinlock_recursive.h
diff --git a/include/odp/api/std_clib.h b/include/odp/api/spec/std_clib.h
similarity index 100%
rename from include/odp/api/std_clib.h
rename to include/odp/api/spec/std_clib.h
diff --git a/include/odp/api/std_types.h b/include/odp/api/spec/std_types.h
similarity index 100%
rename from include/odp/api/std_types.h
rename to include/odp/api/spec/std_types.h
diff --git a/include/odp/api/sync.h b/include/odp/api/spec/sync.h
similarity index 100%
rename from include/odp/api/sync.h
rename to include/odp/api/spec/sync.h
diff --git a/include/odp/api/system_info.h b/include/odp/api/spec/system_info.h
similarity index 100%
rename from include/odp/api/system_info.h
rename to include/odp/api/spec/system_info.h
diff --git a/include/odp/api/thread.h b/include/odp/api/spec/thread.h
similarity index 100%
rename from include/odp/api/thread.h
rename to include/odp/api/spec/thread.h
diff --git a/include/odp/api/thrmask.h b/include/odp/api/spec/thrmask.h
similarity index 99%
rename from include/odp/api/thrmask.h
rename to include/odp/api/spec/thrmask.h
index af0d9ba..a22da8c 100644
--- a/include/odp/api/thrmask.h
+++ b/include/odp/api/spec/thrmask.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /** @addtogroup odp_thread
  *  Thread mask operations.
diff --git a/include/odp/api/ticketlock.h b/include/odp/api/spec/ticketlock.h
similarity index 100%
rename from include/odp/api/ticketlock.h
rename to include/odp/api/spec/ticketlock.h
diff --git a/include/odp/api/time.h b/include/odp/api/spec/time.h
similarity index 100%
rename from include/odp/api/time.h
rename to include/odp/api/spec/time.h
diff --git a/include/odp/api/timer.h b/include/odp/api/spec/timer.h
similarity index 100%
rename from include/odp/api/timer.h
rename to include/odp/api/spec/timer.h
diff --git a/include/odp/api/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
similarity index 99%
rename from include/odp/api/traffic_mngr.h
rename to include/odp/api/spec/traffic_mngr.h
index 09b13f2..f9b62c2 100644
--- a/include/odp/api/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -11,8 +11,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/packet_io.h>
+#include <odp/api/std_types.h>
+#include <odp/api/packet_io.h>
 
 /**
  * @file
diff --git a/include/odp/api/version.h b/include/odp/api/spec/version.h
similarity index 100%
rename from include/odp/api/version.h
rename to include/odp/api/spec/version.h
diff --git a/platform/Makefile.inc b/platform/Makefile.inc
index 331cc15..62375a6 100644
--- a/platform/Makefile.inc
+++ b/platform/Makefile.inc
@@ -19,47 +19,47 @@  AM_CFLAGS += -DPLATFORM=${with_platform}
 #The implementation will need to retain the deprecated implementation
 AM_CFLAGS += -Wno-deprecated-declarations
 
-odpapiincludedir= $(includedir)/odp/api
-odpapiinclude_HEADERS = \
-		  $(top_srcdir)/include/odp/api/align.h \
-		  $(top_srcdir)/include/odp/api/atomic.h \
-		  $(top_srcdir)/include/odp/api/barrier.h \
-		  $(top_srcdir)/include/odp/api/buffer.h \
-		  $(top_srcdir)/include/odp/api/byteorder.h \
-		  $(top_srcdir)/include/odp/api/classification.h \
-		  $(top_srcdir)/include/odp/api/compiler.h \
-		  $(top_srcdir)/include/odp/api/config.h \
-		  $(top_srcdir)/include/odp/api/cpu.h \
-		  $(top_srcdir)/include/odp/api/cpumask.h \
-		  $(top_srcdir)/include/odp/api/crypto.h \
-		  $(top_srcdir)/include/odp/api/debug.h \
-		  $(top_srcdir)/include/odp/api/errno.h \
-		  $(top_srcdir)/include/odp/api/event.h \
-		  $(top_srcdir)/include/odp/api/hash.h \
-		  $(top_srcdir)/include/odp/api/hints.h \
-		  $(top_srcdir)/include/odp/api/init.h \
-		  $(top_srcdir)/include/odp/api/packet.h \
-		  $(top_srcdir)/include/odp/api/packet_flags.h \
-		  $(top_srcdir)/include/odp/api/packet_io.h \
-		  $(top_srcdir)/include/odp/api/packet_io_stats.h \
-		  $(top_srcdir)/include/odp/api/pool.h \
-		  $(top_srcdir)/include/odp/api/queue.h \
-		  $(top_srcdir)/include/odp/api/random.h \
-		  $(top_srcdir)/include/odp/api/rwlock.h \
-		  $(top_srcdir)/include/odp/api/rwlock_recursive.h \
-		  $(top_srcdir)/include/odp/api/schedule.h \
-		  $(top_srcdir)/include/odp/api/schedule_types.h \
-		  $(top_srcdir)/include/odp/api/shared_memory.h \
-		  $(top_srcdir)/include/odp/api/spinlock.h \
-		  $(top_srcdir)/include/odp/api/spinlock_recursive.h \
-		  $(top_srcdir)/include/odp/api/std_clib.h \
-		  $(top_srcdir)/include/odp/api/std_types.h \
-		  $(top_srcdir)/include/odp/api/sync.h \
-		  $(top_srcdir)/include/odp/api/system_info.h \
-		  $(top_srcdir)/include/odp/api/thread.h \
-		  $(top_srcdir)/include/odp/api/thrmask.h \
-		  $(top_srcdir)/include/odp/api/ticketlock.h \
-		  $(top_srcdir)/include/odp/api/time.h \
-		  $(top_srcdir)/include/odp/api/timer.h \
-		  $(top_srcdir)/include/odp/api/traffic_mngr.h \
-		  $(top_srcdir)/include/odp/api/version.h
+odpapispecincludedir= $(includedir)/odp/api/spec
+odpapispecinclude_HEADERS = \
+		  $(top_srcdir)/include/odp/api/spec/align.h \
+		  $(top_srcdir)/include/odp/api/spec/atomic.h \
+		  $(top_srcdir)/include/odp/api/spec/barrier.h \
+		  $(top_srcdir)/include/odp/api/spec/buffer.h \
+		  $(top_srcdir)/include/odp/api/spec/byteorder.h \
+		  $(top_srcdir)/include/odp/api/spec/classification.h \
+		  $(top_srcdir)/include/odp/api/spec/compiler.h \
+		  $(top_srcdir)/include/odp/api/spec/config.h \
+		  $(top_srcdir)/include/odp/api/spec/cpu.h \
+		  $(top_srcdir)/include/odp/api/spec/cpumask.h \
+		  $(top_srcdir)/include/odp/api/spec/crypto.h \
+		  $(top_srcdir)/include/odp/api/spec/debug.h \
+		  $(top_srcdir)/include/odp/api/spec/errno.h \
+		  $(top_srcdir)/include/odp/api/spec/event.h \
+		  $(top_srcdir)/include/odp/api/spec/hash.h \
+		  $(top_srcdir)/include/odp/api/spec/hints.h \
+		  $(top_srcdir)/include/odp/api/spec/init.h \
+		  $(top_srcdir)/include/odp/api/spec/packet.h \
+		  $(top_srcdir)/include/odp/api/spec/packet_flags.h \
+		  $(top_srcdir)/include/odp/api/spec/packet_io.h \
+		  $(top_srcdir)/include/odp/api/spec/packet_io_stats.h \
+		  $(top_srcdir)/include/odp/api/spec/pool.h \
+		  $(top_srcdir)/include/odp/api/spec/queue.h \
+		  $(top_srcdir)/include/odp/api/spec/random.h \
+		  $(top_srcdir)/include/odp/api/spec/rwlock.h \
+		  $(top_srcdir)/include/odp/api/spec/rwlock_recursive.h \
+		  $(top_srcdir)/include/odp/api/spec/schedule.h \
+		  $(top_srcdir)/include/odp/api/spec/schedule_types.h \
+		  $(top_srcdir)/include/odp/api/spec/shared_memory.h \
+		  $(top_srcdir)/include/odp/api/spec/spinlock.h \
+		  $(top_srcdir)/include/odp/api/spec/spinlock_recursive.h \
+		  $(top_srcdir)/include/odp/api/spec/std_clib.h \
+		  $(top_srcdir)/include/odp/api/spec/std_types.h \
+		  $(top_srcdir)/include/odp/api/spec/sync.h \
+		  $(top_srcdir)/include/odp/api/spec/system_info.h \
+		  $(top_srcdir)/include/odp/api/spec/thread.h \
+		  $(top_srcdir)/include/odp/api/spec/thrmask.h \
+		  $(top_srcdir)/include/odp/api/spec/ticketlock.h \
+		  $(top_srcdir)/include/odp/api/spec/time.h \
+		  $(top_srcdir)/include/odp/api/spec/timer.h \
+		  $(top_srcdir)/include/odp/api/spec/traffic_mngr.h \
+		  $(top_srcdir)/include/odp/api/spec/version.h
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 94f1408..6762dd7 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -11,80 +11,80 @@  AM_CFLAGS +=  -I$(top_srcdir)/helper/include
 include_HEADERS = \
 		  $(top_srcdir)/include/odp.h
 
-odpincludedir= $(includedir)/odp
-odpinclude_HEADERS = \
-		  $(srcdir)/include/odp/align.h \
-		  $(srcdir)/include/odp/atomic.h \
-		  $(srcdir)/include/odp/barrier.h \
-		  $(srcdir)/include/odp/buffer.h \
-		  $(srcdir)/include/odp/byteorder.h \
-		  $(srcdir)/include/odp/classification.h \
-		  $(srcdir)/include/odp/compiler.h \
-		  $(srcdir)/include/odp/config.h \
-		  $(srcdir)/include/odp/cpu.h \
-		  $(srcdir)/include/odp/cpumask.h \
-		  $(srcdir)/include/odp/crypto.h \
-		  $(srcdir)/include/odp/debug.h \
-		  $(srcdir)/include/odp/errno.h \
-		  $(srcdir)/include/odp/event.h \
-		  $(srcdir)/include/odp/hash.h \
-		  $(srcdir)/include/odp/hints.h \
-		  $(srcdir)/include/odp/init.h \
-		  $(srcdir)/include/odp/packet_flags.h \
-		  $(srcdir)/include/odp/packet.h \
-		  $(srcdir)/include/odp/packet_io.h \
-		  $(srcdir)/include/odp/pool.h \
-		  $(srcdir)/include/odp/queue.h \
-		  $(srcdir)/include/odp/random.h \
-		  $(srcdir)/include/odp/rwlock.h \
-		  $(srcdir)/include/odp/rwlock_recursive.h \
-		  $(srcdir)/include/odp/schedule.h \
-		  $(srcdir)/include/odp/schedule_types.h \
-		  $(srcdir)/include/odp/shared_memory.h \
-		  $(srcdir)/include/odp/spinlock.h \
-		  $(srcdir)/include/odp/spinlock_recursive.h \
-		  $(srcdir)/include/odp/std_clib.h \
-		  $(srcdir)/include/odp/std_types.h \
-		  $(srcdir)/include/odp/sync.h \
-		  $(srcdir)/include/odp/system_info.h \
-		  $(srcdir)/include/odp/thread.h \
-		  $(srcdir)/include/odp/thrmask.h \
-		  $(srcdir)/include/odp/ticketlock.h \
-		  $(srcdir)/include/odp/time.h \
-		  $(srcdir)/include/odp/timer.h \
-		  $(srcdir)/include/odp/traffic_mngr.h \
-		  $(srcdir)/include/odp/version.h \
+odpapiincludedir= $(includedir)/odp/api
+odpapiinclude_HEADERS = \
+		  $(srcdir)/include/odp/api/align.h \
+		  $(srcdir)/include/odp/api/atomic.h \
+		  $(srcdir)/include/odp/api/barrier.h \
+		  $(srcdir)/include/odp/api/buffer.h \
+		  $(srcdir)/include/odp/api/byteorder.h \
+		  $(srcdir)/include/odp/api/classification.h \
+		  $(srcdir)/include/odp/api/compiler.h \
+		  $(srcdir)/include/odp/api/config.h \
+		  $(srcdir)/include/odp/api/cpu.h \
+		  $(srcdir)/include/odp/api/cpumask.h \
+		  $(srcdir)/include/odp/api/crypto.h \
+		  $(srcdir)/include/odp/api/debug.h \
+		  $(srcdir)/include/odp/api/errno.h \
+		  $(srcdir)/include/odp/api/event.h \
+		  $(srcdir)/include/odp/api/hash.h \
+		  $(srcdir)/include/odp/api/hints.h \
+		  $(srcdir)/include/odp/api/init.h \
+		  $(srcdir)/include/odp/api/packet_flags.h \
+		  $(srcdir)/include/odp/api/packet.h \
+		  $(srcdir)/include/odp/api/packet_io.h \
+		  $(srcdir)/include/odp/api/pool.h \
+		  $(srcdir)/include/odp/api/queue.h \
+		  $(srcdir)/include/odp/api/random.h \
+		  $(srcdir)/include/odp/api/rwlock.h \
+		  $(srcdir)/include/odp/api/rwlock_recursive.h \
+		  $(srcdir)/include/odp/api/schedule.h \
+		  $(srcdir)/include/odp/api/schedule_types.h \
+		  $(srcdir)/include/odp/api/shared_memory.h \
+		  $(srcdir)/include/odp/api/spinlock.h \
+		  $(srcdir)/include/odp/api/spinlock_recursive.h \
+		  $(srcdir)/include/odp/api/std_clib.h \
+		  $(srcdir)/include/odp/api/std_types.h \
+		  $(srcdir)/include/odp/api/sync.h \
+		  $(srcdir)/include/odp/api/system_info.h \
+		  $(srcdir)/include/odp/api/thread.h \
+		  $(srcdir)/include/odp/api/thrmask.h \
+		  $(srcdir)/include/odp/api/ticketlock.h \
+		  $(srcdir)/include/odp/api/time.h \
+		  $(srcdir)/include/odp/api/timer.h \
+		  $(srcdir)/include/odp/api/traffic_mngr.h \
+		  $(srcdir)/include/odp/api/version.h \
 		  $(srcdir)/arch/@ARCH@/odp/cpu_arch.h
 
-odpplatincludedir= $(includedir)/odp/plat
-odpplatinclude_HEADERS = \
-		  $(srcdir)/include/odp/plat/atomic_types.h \
-		  $(srcdir)/include/odp/plat/barrier_types.h \
-		  $(srcdir)/include/odp/plat/buffer_types.h \
-		  $(srcdir)/include/odp/plat/byteorder_types.h \
-		  $(srcdir)/include/odp/plat/classification_types.h \
-		  $(srcdir)/include/odp/plat/cpumask_types.h \
-		  $(srcdir)/include/odp/plat/crypto_types.h \
-		  $(srcdir)/include/odp/plat/event_types.h \
-		  $(srcdir)/include/odp/plat/init_types.h \
-		  $(srcdir)/include/odp/plat/packet_types.h \
-		  $(srcdir)/include/odp/plat/packet_io_types.h \
-		  $(srcdir)/include/odp/plat/pool_types.h \
-		  $(srcdir)/include/odp/plat/queue_types.h \
-		  $(srcdir)/include/odp/plat/rwlock_types.h \
-		  $(srcdir)/include/odp/plat/rwlock_recursive_types.h \
-		  $(srcdir)/include/odp/plat/schedule_types.h \
-		  $(srcdir)/include/odp/plat/shared_memory_types.h \
-		  $(srcdir)/include/odp/plat/spinlock_types.h \
-		  $(srcdir)/include/odp/plat/spinlock_recursive_types.h \
-		  $(srcdir)/include/odp/plat/strong_types.h \
-		  $(srcdir)/include/odp/plat/thread_types.h \
-		  $(srcdir)/include/odp/plat/thrmask_types.h \
-		  $(srcdir)/include/odp/plat/ticketlock_types.h \
-		  $(srcdir)/include/odp/plat/time_types.h \
-		  $(srcdir)/include/odp/plat/timer_types.h \
-		  $(srcdir)/include/odp/plat/traffic_mngr_types.h \
-		  $(srcdir)/include/odp/plat/version_types.h
+odpapiplatincludedir= $(includedir)/odp/api/plat
+odpapiplatinclude_HEADERS = \
+		  $(srcdir)/include/odp/api/plat/atomic_types.h \
+		  $(srcdir)/include/odp/api/plat/barrier_types.h \
+		  $(srcdir)/include/odp/api/plat/buffer_types.h \
+		  $(srcdir)/include/odp/api/plat/byteorder_types.h \
+		  $(srcdir)/include/odp/api/plat/classification_types.h \
+		  $(srcdir)/include/odp/api/plat/cpumask_types.h \
+		  $(srcdir)/include/odp/api/plat/crypto_types.h \
+		  $(srcdir)/include/odp/api/plat/event_types.h \
+		  $(srcdir)/include/odp/api/plat/init_types.h \
+		  $(srcdir)/include/odp/api/plat/packet_types.h \
+		  $(srcdir)/include/odp/api/plat/packet_io_types.h \
+		  $(srcdir)/include/odp/api/plat/pool_types.h \
+		  $(srcdir)/include/odp/api/plat/queue_types.h \
+		  $(srcdir)/include/odp/api/plat/rwlock_types.h \
+		  $(srcdir)/include/odp/api/plat/rwlock_recursive_types.h \
+		  $(srcdir)/include/odp/api/plat/schedule_types.h \
+		  $(srcdir)/include/odp/api/plat/shared_memory_types.h \
+		  $(srcdir)/include/odp/api/plat/spinlock_types.h \
+		  $(srcdir)/include/odp/api/plat/spinlock_recursive_types.h \
+		  $(srcdir)/include/odp/api/plat/strong_types.h \
+		  $(srcdir)/include/odp/api/plat/thread_types.h \
+		  $(srcdir)/include/odp/api/plat/thrmask_types.h \
+		  $(srcdir)/include/odp/api/plat/ticketlock_types.h \
+		  $(srcdir)/include/odp/api/plat/time_types.h \
+		  $(srcdir)/include/odp/api/plat/timer_types.h \
+		  $(srcdir)/include/odp/api/plat/traffic_mngr_types.h \
+		  $(srcdir)/include/odp/api/plat/version_types.h
 
 noinst_HEADERS = \
 		  ${srcdir}/include/odp_align_internal.h \
diff --git a/platform/linux-generic/arch/linux/odp_cpu_arch.c b/platform/linux-generic/arch/linux/odp_cpu_arch.c
index 3112d0c..2ac223e 100644
--- a/platform/linux-generic/arch/linux/odp_cpu_arch.c
+++ b/platform/linux-generic/arch/linux/odp_cpu_arch.c
@@ -9,9 +9,9 @@ 
 #include <stdlib.h>
 #include <time.h>
 
-#include <odp/cpu.h>
-#include <odp/hints.h>
-#include <odp/system_info.h>
+#include <odp/api/cpu.h>
+#include <odp/api/hints.h>
+#include <odp/api/system_info.h>
 #include <odp_debug_internal.h>
 
 #define GIGA 1000000000
diff --git a/platform/linux-generic/arch/mips64/odp_cpu_arch.c b/platform/linux-generic/arch/mips64/odp_cpu_arch.c
index a20a313..646acf9 100644
--- a/platform/linux-generic/arch/mips64/odp_cpu_arch.c
+++ b/platform/linux-generic/arch/mips64/odp_cpu_arch.c
@@ -4,9 +4,9 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/cpu.h>
-#include <odp/hints.h>
-#include <odp/system_info.h>
+#include <odp/api/cpu.h>
+#include <odp/api/hints.h>
+#include <odp/api/system_info.h>
 
 uint64_t odp_cpu_cycles(void)
 {
diff --git a/platform/linux-generic/arch/x86/odp_cpu_arch.c b/platform/linux-generic/arch/x86/odp_cpu_arch.c
index 1c5c0ec..c8cf27b 100644
--- a/platform/linux-generic/arch/x86/odp_cpu_arch.c
+++ b/platform/linux-generic/arch/x86/odp_cpu_arch.c
@@ -3,7 +3,7 @@ 
  *
  * SPDX-License-Identifier:     BSD-3-Clause
  */
-#include <odp/cpu.h>
+#include <odp/api/cpu.h>
 
 uint64_t odp_cpu_cycles(void)
 {
diff --git a/platform/linux-generic/include/odp/align.h b/platform/linux-generic/include/odp/api/align.h
similarity index 97%
rename from platform/linux-generic/include/odp/align.h
rename to platform/linux-generic/include/odp/api/align.h
index be8c9ae..2f2d1e4 100644
--- a/platform/linux-generic/include/odp/align.h
+++ b/platform/linux-generic/include/odp/api/align.h
@@ -65,7 +65,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/align.h>
+#include <odp/api/spec/align.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/atomic.h b/platform/linux-generic/include/odp/api/atomic.h
similarity index 99%
rename from platform/linux-generic/include/odp/atomic.h
rename to platform/linux-generic/include/odp/api/atomic.h
index e262f48..b487383 100644
--- a/platform/linux-generic/include/odp/atomic.h
+++ b/platform/linux-generic/include/odp/api/atomic.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/plat/atomic_types.h>
+#include <odp/api/align.h>
+#include <odp/api/plat/atomic_types.h>
 
 /** @ingroup odp_atomic
  *  @{
@@ -411,7 +411,7 @@  static inline int odp_atomic_cas_acq_rel_u64(odp_atomic_u64_t *atom,
  * @}
  */
 
-#include <odp/api/atomic.h>
+#include <odp/api/spec/atomic.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/barrier.h b/platform/linux-generic/include/odp/api/barrier.h
similarity index 62%
rename from platform/linux-generic/include/odp/barrier.h
rename to platform/linux-generic/include/odp/api/barrier.h
index 3447429..ab1b775 100644
--- a/platform/linux-generic/include/odp/barrier.h
+++ b/platform/linux-generic/include/odp/api/barrier.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/atomic.h>
-#include <odp/plat/shared_memory_types.h>
-#include <odp/plat/barrier_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/atomic.h>
+#include <odp/api/plat/shared_memory_types.h>
+#include <odp/api/plat/barrier_types.h>
 
-#include <odp/api/barrier.h>
+#include <odp/api/spec/barrier.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/buffer.h b/platform/linux-generic/include/odp/api/buffer.h
similarity index 65%
rename from platform/linux-generic/include/odp/buffer.h
rename to platform/linux-generic/include/odp/api/buffer.h
index ae80e0c..81dbf12 100644
--- a/platform/linux-generic/include/odp/buffer.h
+++ b/platform/linux-generic/include/odp/api/buffer.h
@@ -17,10 +17,10 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/event_types.h>
-#include <odp/plat/buffer_types.h>
-#include <odp/plat/pool_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/event_types.h>
+#include <odp/api/plat/buffer_types.h>
+#include <odp/api/plat/pool_types.h>
 
 /** @ingroup odp_buffer
  *  @{
@@ -30,7 +30,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/buffer.h>
+#include <odp/api/spec/buffer.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/byteorder.h b/platform/linux-generic/include/odp/api/byteorder.h
similarity index 95%
rename from platform/linux-generic/include/odp/byteorder.h
rename to platform/linux-generic/include/odp/api/byteorder.h
index 6c94556..c347be0 100644
--- a/platform/linux-generic/include/odp/byteorder.h
+++ b/platform/linux-generic/include/odp/api/byteorder.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/byteorder_types.h>
-#include <odp/std_types.h>
-#include <odp/compiler.h>
+#include <odp/api/plat/byteorder_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/compiler.h>
 
 /** @ingroup odp_compiler_optim
  *  @{
@@ -140,7 +140,7 @@  static inline odp_u64le_t odp_cpu_to_le_64(uint64_t cpu64)
  * @}
  */
 
-#include <odp/api/byteorder.h>
+#include <odp/api/spec/byteorder.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/classification.h b/platform/linux-generic/include/odp/api/classification.h
similarity index 57%
rename from platform/linux-generic/include/odp/classification.h
rename to platform/linux-generic/include/odp/api/classification.h
index 5f12266..0bec38b 100644
--- a/platform/linux-generic/include/odp/classification.h
+++ b/platform/linux-generic/include/odp/api/classification.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/pool_types.h>
-#include <odp/plat/classification_types.h>
-#include <odp/plat/packet_types.h>
-#include <odp/plat/packet_io_types.h>
-#include <odp/plat/queue_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/pool_types.h>
+#include <odp/api/plat/classification_types.h>
+#include <odp/api/plat/packet_types.h>
+#include <odp/api/plat/packet_io_types.h>
+#include <odp/api/plat/queue_types.h>
 
 /** @ingroup odp_classification
  *  @{
@@ -32,7 +32,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/classification.h>
+#include <odp/api/spec/classification.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/compiler.h b/platform/linux-generic/include/odp/api/compiler.h
similarity index 90%
rename from platform/linux-generic/include/odp/compiler.h
rename to platform/linux-generic/include/odp/api/compiler.h
index 8f15961..5249d5d 100644
--- a/platform/linux-generic/include/odp/compiler.h
+++ b/platform/linux-generic/include/odp/api/compiler.h
@@ -25,7 +25,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/compiler.h>
+#include <odp/api/spec/compiler.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/config.h b/platform/linux-generic/include/odp/api/config.h
similarity index 99%
rename from platform/linux-generic/include/odp/config.h
rename to platform/linux-generic/include/odp/api/config.h
index da8856f..e21b6f7 100644
--- a/platform/linux-generic/include/odp/config.h
+++ b/platform/linux-generic/include/odp/api/config.h
@@ -187,7 +187,7 @@  static inline int odp_config_shm_blocks(void)
 	return ODP_CONFIG_SHM_BLOCKS;
 }
 
-#include <odp/api/config.h>
+#include <odp/api/spec/config.h>
 
 /**
  * @}
diff --git a/platform/linux-generic/include/odp/cpu.h b/platform/linux-generic/include/odp/api/cpu.h
similarity index 90%
rename from platform/linux-generic/include/odp/cpu.h
rename to platform/linux-generic/include/odp/api/cpu.h
index b98507d..e0bdc9e 100644
--- a/platform/linux-generic/include/odp/cpu.h
+++ b/platform/linux-generic/include/odp/api/cpu.h
@@ -19,7 +19,7 @@  extern "C" {
 
 #include <odp/cpu_arch.h>
 
-#include <odp/api/cpu.h>
+#include <odp/api/spec/cpu.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/cpumask.h b/platform/linux-generic/include/odp/api/cpumask.h
similarity index 76%
rename from platform/linux-generic/include/odp/cpumask.h
rename to platform/linux-generic/include/odp/api/cpumask.h
index cf7ad9d..15bf25e 100644
--- a/platform/linux-generic/include/odp/cpumask.h
+++ b/platform/linux-generic/include/odp/api/cpumask.h
@@ -20,10 +20,10 @@  extern "C" {
 #include <string.h>
 #include <sched.h>
 
-#include <odp/std_types.h>
-#include <odp/plat/cpumask_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/cpumask_types.h>
 
-#include <odp/api/cpumask.h>
+#include <odp/api/spec/cpumask.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/crypto.h b/platform/linux-generic/include/odp/api/crypto.h
similarity index 57%
rename from platform/linux-generic/include/odp/crypto.h
rename to platform/linux-generic/include/odp/api/crypto.h
index 7684c1e..4f65932 100644
--- a/platform/linux-generic/include/odp/crypto.h
+++ b/platform/linux-generic/include/odp/api/crypto.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/packet_types.h>
-#include <odp/plat/crypto_types.h>
-#include <odp/plat/buffer_types.h>
-#include <odp/plat/pool_types.h>
-#include <odp/queue.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/packet_types.h>
+#include <odp/api/plat/crypto_types.h>
+#include <odp/api/plat/buffer_types.h>
+#include <odp/api/plat/pool_types.h>
+#include <odp/api/queue.h>
 
 /** @ingroup odp_crypto
  *  @{
@@ -32,7 +32,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/crypto.h>
+#include <odp/api/spec/crypto.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/debug.h b/platform/linux-generic/include/odp/api/debug.h
similarity index 89%
rename from platform/linux-generic/include/odp/debug.h
rename to platform/linux-generic/include/odp/api/debug.h
index a2e59bf..dc1fce0 100644
--- a/platform/linux-generic/include/odp/debug.h
+++ b/platform/linux-generic/include/odp/api/debug.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/api/debug.h>
+#include <odp/api/spec/debug.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/errno.h b/platform/linux-generic/include/odp/api/errno.h
similarity index 89%
rename from platform/linux-generic/include/odp/errno.h
rename to platform/linux-generic/include/odp/api/errno.h
index e53b49c..f70d84d 100644
--- a/platform/linux-generic/include/odp/errno.h
+++ b/platform/linux-generic/include/odp/api/errno.h
@@ -18,7 +18,7 @@  extern "C" {
 #endif
 
 
-#include <odp/api/errno.h>
+#include <odp/api/spec/errno.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/event.h b/platform/linux-generic/include/odp/api/event.h
similarity index 82%
rename from platform/linux-generic/include/odp/event.h
rename to platform/linux-generic/include/odp/api/event.h
index 753d023..55931b6 100644
--- a/platform/linux-generic/include/odp/event.h
+++ b/platform/linux-generic/include/odp/api/event.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/event_types.h>
+#include <odp/api/plat/event_types.h>
 
 /** @ingroup odp_event
  *  @{
@@ -27,7 +27,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/event.h>
+#include <odp/api/spec/event.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/hash.h b/platform/linux-generic/include/odp/api/hash.h
similarity index 91%
rename from platform/linux-generic/include/odp/hash.h
rename to platform/linux-generic/include/odp/api/hash.h
index df8add0..332029e 100644
--- a/platform/linux-generic/include/odp/hash.h
+++ b/platform/linux-generic/include/odp/api/hash.h
@@ -25,7 +25,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/hash.h>
+#include <odp/api/spec/hash.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/hints.h b/platform/linux-generic/include/odp/api/hints.h
similarity index 91%
rename from platform/linux-generic/include/odp/hints.h
rename to platform/linux-generic/include/odp/api/hints.h
index 002cfa8..3ba1ba9 100644
--- a/platform/linux-generic/include/odp/hints.h
+++ b/platform/linux-generic/include/odp/api/hints.h
@@ -25,7 +25,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/hints.h>
+#include <odp/api/spec/hints.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/init.h b/platform/linux-generic/include/odp/api/init.h
similarity index 83%
rename from platform/linux-generic/include/odp/init.h
rename to platform/linux-generic/include/odp/api/init.h
index 3233e36..1d9f59a 100644
--- a/platform/linux-generic/include/odp/init.h
+++ b/platform/linux-generic/include/odp/api/init.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/init_types.h>
+#include <odp/api/plat/init_types.h>
 
 /** @ingroup odp_initialization
  *  @{
@@ -27,7 +27,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/init.h>
+#include <odp/api/spec/init.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/packet.h b/platform/linux-generic/include/odp/api/packet.h
similarity index 56%
rename from platform/linux-generic/include/odp/packet.h
rename to platform/linux-generic/include/odp/api/packet.h
index a59988b..ebbeaf1 100644
--- a/platform/linux-generic/include/odp/packet.h
+++ b/platform/linux-generic/include/odp/api/packet.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/event_types.h>
-#include <odp/plat/packet_io_types.h>
-#include <odp/plat/packet_types.h>
-#include <odp/plat/buffer_types.h>
-#include <odp/plat/pool_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/event_types.h>
+#include <odp/api/plat/packet_io_types.h>
+#include <odp/api/plat/packet_types.h>
+#include <odp/api/plat/buffer_types.h>
+#include <odp/api/plat/pool_types.h>
 
 /** @ingroup odp_packet
  *  @{
@@ -32,7 +32,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/packet.h>
+#include <odp/api/spec/packet.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/packet_flags.h b/platform/linux-generic/include/odp/api/packet_flags.h
similarity index 90%
rename from platform/linux-generic/include/odp/packet_flags.h
rename to platform/linux-generic/include/odp/api/packet_flags.h
index 5b9c3ca..467f5b1 100644
--- a/platform/linux-generic/include/odp/packet_flags.h
+++ b/platform/linux-generic/include/odp/api/packet_flags.h
@@ -25,7 +25,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/packet_flags.h>
+#include <odp/api/spec/packet_flags.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/packet_io.h b/platform/linux-generic/include/odp/api/packet_io.h
similarity index 56%
rename from platform/linux-generic/include/odp/packet_io.h
rename to platform/linux-generic/include/odp/api/packet_io.h
index 1d690f5..76c7dfe 100644
--- a/platform/linux-generic/include/odp/packet_io.h
+++ b/platform/linux-generic/include/odp/api/packet_io.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/pool_types.h>
-#include <odp/plat/classification_types.h>
-#include <odp/plat/packet_types.h>
-#include <odp/plat/packet_io_types.h>
-#include <odp/plat/queue_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/pool_types.h>
+#include <odp/api/plat/classification_types.h>
+#include <odp/api/plat/packet_types.h>
+#include <odp/api/plat/packet_io_types.h>
+#include <odp/api/plat/queue_types.h>
 
 /** @ingroup odp_packet_io
  *  @{
@@ -32,7 +32,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/packet_io.h>
+#include <odp/api/spec/packet_io.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/plat/atomic_types.h b/platform/linux-generic/include/odp/api/plat/atomic_types.h
similarity index 97%
rename from platform/linux-generic/include/odp/plat/atomic_types.h
rename to platform/linux-generic/include/odp/api/plat/atomic_types.h
index bc0bd8b..3bb2bbd 100644
--- a/platform/linux-generic/include/odp/plat/atomic_types.h
+++ b/platform/linux-generic/include/odp/api/plat/atomic_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/align.h>
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
 
 /**
  * @internal
diff --git a/platform/linux-generic/include/odp/plat/barrier_types.h b/platform/linux-generic/include/odp/api/plat/barrier_types.h
similarity index 89%
rename from platform/linux-generic/include/odp/plat/barrier_types.h
rename to platform/linux-generic/include/odp/api/plat/barrier_types.h
index b8e1d97..440275e 100644
--- a/platform/linux-generic/include/odp/plat/barrier_types.h
+++ b/platform/linux-generic/include/odp/api/plat/barrier_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/atomic.h>
+#include <odp/api/std_types.h>
+#include <odp/api/atomic.h>
 
 /**
  * @internal
diff --git a/platform/linux-generic/include/odp/plat/buffer_types.h b/platform/linux-generic/include/odp/api/plat/buffer_types.h
similarity index 91%
rename from platform/linux-generic/include/odp/plat/buffer_types.h
rename to platform/linux-generic/include/odp/api/plat/buffer_types.h
index 3203020..344121b 100644
--- a/platform/linux-generic/include/odp/plat/buffer_types.h
+++ b/platform/linux-generic/include/odp/api/plat/buffer_types.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** ODP buffer */
 typedef ODP_HANDLE_T(odp_buffer_t);
diff --git a/platform/linux-generic/include/odp/plat/byteorder_types.h b/platform/linux-generic/include/odp/api/plat/byteorder_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/byteorder_types.h
rename to platform/linux-generic/include/odp/api/plat/byteorder_types.h
diff --git a/platform/linux-generic/include/odp/plat/classification_types.h b/platform/linux-generic/include/odp/api/plat/classification_types.h
similarity index 95%
rename from platform/linux-generic/include/odp/plat/classification_types.h
rename to platform/linux-generic/include/odp/api/plat/classification_types.h
index d9b9c77..2093f54 100644
--- a/platform/linux-generic/include/odp/plat/classification_types.h
+++ b/platform/linux-generic/include/odp/api/plat/classification_types.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/strong_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_classification
  *  @{
diff --git a/platform/linux-generic/include/odp/plat/cpumask_types.h b/platform/linux-generic/include/odp/api/plat/cpumask_types.h
similarity index 95%
rename from platform/linux-generic/include/odp/plat/cpumask_types.h
rename to platform/linux-generic/include/odp/api/plat/cpumask_types.h
index 8923f36..c59f407 100644
--- a/platform/linux-generic/include/odp/plat/cpumask_types.h
+++ b/platform/linux-generic/include/odp/api/plat/cpumask_types.h
@@ -22,7 +22,7 @@  extern "C" {
  *  @{
  */
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 #define ODP_CPUMASK_SIZE 1024
 
diff --git a/platform/linux-generic/include/odp/plat/crypto_types.h b/platform/linux-generic/include/odp/api/plat/crypto_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/crypto_types.h
rename to platform/linux-generic/include/odp/api/plat/crypto_types.h
diff --git a/platform/linux-generic/include/odp/plat/event_types.h b/platform/linux-generic/include/odp/api/plat/event_types.h
similarity index 91%
rename from platform/linux-generic/include/odp/plat/event_types.h
rename to platform/linux-generic/include/odp/api/plat/event_types.h
index 06b15cd..9ca0fb8 100644
--- a/platform/linux-generic/include/odp/plat/event_types.h
+++ b/platform/linux-generic/include/odp/api/plat/event_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @defgroup odp_event ODP EVENT
  *  Operations on an event.
diff --git a/platform/linux-generic/include/odp/plat/init_types.h b/platform/linux-generic/include/odp/api/plat/init_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/init_types.h
rename to platform/linux-generic/include/odp/api/plat/init_types.h
diff --git a/platform/linux-generic/include/odp/plat/packet_io_types.h b/platform/linux-generic/include/odp/api/plat/packet_io_types.h
similarity index 93%
rename from platform/linux-generic/include/odp/plat/packet_io_types.h
rename to platform/linux-generic/include/odp/api/plat/packet_io_types.h
index 934d7de..cd43083 100644
--- a/platform/linux-generic/include/odp/plat/packet_io_types.h
+++ b/platform/linux-generic/include/odp/api/plat/packet_io_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_packet_io
  *  Operations on a packet.
diff --git a/platform/linux-generic/include/odp/plat/packet_types.h b/platform/linux-generic/include/odp/api/plat/packet_types.h
similarity index 94%
rename from platform/linux-generic/include/odp/plat/packet_types.h
rename to platform/linux-generic/include/odp/api/plat/packet_types.h
index c3be633..b5345ed 100644
--- a/platform/linux-generic/include/odp/plat/packet_types.h
+++ b/platform/linux-generic/include/odp/api/plat/packet_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_packet ODP PACKET
  *  Operations on a packet.
diff --git a/platform/linux-generic/include/odp/plat/pool_types.h b/platform/linux-generic/include/odp/api/plat/pool_types.h
similarity index 87%
rename from platform/linux-generic/include/odp/plat/pool_types.h
rename to platform/linux-generic/include/odp/api/plat/pool_types.h
index 4b32c29..1ca8f02 100644
--- a/platform/linux-generic/include/odp/plat/pool_types.h
+++ b/platform/linux-generic/include/odp/api/plat/pool_types.h
@@ -13,9 +13,9 @@ 
 #ifndef ODP_POOL_TYPES_H_
 #define ODP_POOL_TYPES_H_
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
-#include <odp/plat/event_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
+#include <odp/api/plat/event_types.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/platform/linux-generic/include/odp/plat/queue_types.h b/platform/linux-generic/include/odp/api/plat/queue_types.h
similarity index 92%
rename from platform/linux-generic/include/odp/plat/queue_types.h
rename to platform/linux-generic/include/odp/api/plat/queue_types.h
index df2a582..fcd8f1d 100644
--- a/platform/linux-generic/include/odp/plat/queue_types.h
+++ b/platform/linux-generic/include/odp/api/plat/queue_types.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_queue ODP QUEUE
  *  Macros and operation on a queue.
diff --git a/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h b/platform/linux-generic/include/odp/api/plat/rwlock_recursive_types.h
similarity index 88%
rename from platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
rename to platform/linux-generic/include/odp/api/plat/rwlock_recursive_types.h
index 474751c..36f9204 100644
--- a/platform/linux-generic/include/odp/plat/rwlock_recursive_types.h
+++ b/platform/linux-generic/include/odp/api/plat/rwlock_recursive_types.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/rwlock.h>
-#include <odp/std_types.h>
-#include <odp/thread.h>
+#include <odp/api/rwlock.h>
+#include <odp/api/std_types.h>
+#include <odp/api/thread.h>
 
 /** @internal */
 struct odp_rwlock_recursive_s {
diff --git a/platform/linux-generic/include/odp/plat/rwlock_types.h b/platform/linux-generic/include/odp/api/plat/rwlock_types.h
similarity index 94%
rename from platform/linux-generic/include/odp/plat/rwlock_types.h
rename to platform/linux-generic/include/odp/api/plat/rwlock_types.h
index 35d65de..f7dc044 100644
--- a/platform/linux-generic/include/odp/plat/rwlock_types.h
+++ b/platform/linux-generic/include/odp/api/plat/rwlock_types.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/atomic.h>
+#include <odp/api/atomic.h>
 
 /** @internal */
 struct odp_rwlock_s {
diff --git a/platform/linux-generic/include/odp/plat/schedule_types.h b/platform/linux-generic/include/odp/api/plat/schedule_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/schedule_types.h
rename to platform/linux-generic/include/odp/api/plat/schedule_types.h
diff --git a/platform/linux-generic/include/odp/plat/shared_memory_types.h b/platform/linux-generic/include/odp/api/plat/shared_memory_types.h
similarity index 90%
rename from platform/linux-generic/include/odp/plat/shared_memory_types.h
rename to platform/linux-generic/include/odp/api/plat/shared_memory_types.h
index 4be7356..4d8bbcc 100644
--- a/platform/linux-generic/include/odp/plat/shared_memory_types.h
+++ b/platform/linux-generic/include/odp/api/plat/shared_memory_types.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_shared_memory ODP SHARED MEMORY
  *  Operations on shared memory.
diff --git a/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h b/platform/linux-generic/include/odp/api/plat/spinlock_recursive_types.h
similarity index 90%
rename from platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
rename to platform/linux-generic/include/odp/api/plat/spinlock_recursive_types.h
index 2809277..c5a1adf 100644
--- a/platform/linux-generic/include/odp/plat/spinlock_recursive_types.h
+++ b/platform/linux-generic/include/odp/api/plat/spinlock_recursive_types.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/spinlock.h>
-#include <odp/std_types.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/std_types.h>
 
 /** @internal */
 struct odp_spinlock_recursive_s {
diff --git a/platform/linux-generic/include/odp/plat/spinlock_types.h b/platform/linux-generic/include/odp/api/plat/spinlock_types.h
similarity index 93%
rename from platform/linux-generic/include/odp/plat/spinlock_types.h
rename to platform/linux-generic/include/odp/api/plat/spinlock_types.h
index 3e0231d..f38ece6 100644
--- a/platform/linux-generic/include/odp/plat/spinlock_types.h
+++ b/platform/linux-generic/include/odp/api/plat/spinlock_types.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 /** @internal */
 struct odp_spinlock_s {
diff --git a/platform/linux-generic/include/odp/plat/strong_types.h b/platform/linux-generic/include/odp/api/plat/strong_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/strong_types.h
rename to platform/linux-generic/include/odp/api/plat/strong_types.h
diff --git a/platform/linux-generic/include/odp/plat/thread_types.h b/platform/linux-generic/include/odp/api/plat/thread_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/thread_types.h
rename to platform/linux-generic/include/odp/api/plat/thread_types.h
diff --git a/platform/linux-generic/include/odp/plat/thrmask_types.h b/platform/linux-generic/include/odp/api/plat/thrmask_types.h
similarity index 95%
rename from platform/linux-generic/include/odp/plat/thrmask_types.h
rename to platform/linux-generic/include/odp/api/plat/thrmask_types.h
index 8b3c2fb..5d93890 100644
--- a/platform/linux-generic/include/odp/plat/thrmask_types.h
+++ b/platform/linux-generic/include/odp/api/plat/thrmask_types.h
@@ -21,7 +21,7 @@  extern "C" {
  *  @{
  */
 
-#include <odp/cpumask.h>
+#include <odp/api/cpumask.h>
 
 /**
  * Minimum size of output buffer for odp_thrmask_to_str()
diff --git a/platform/linux-generic/include/odp/plat/ticketlock_types.h b/platform/linux-generic/include/odp/api/plat/ticketlock_types.h
similarity index 94%
rename from platform/linux-generic/include/odp/plat/ticketlock_types.h
rename to platform/linux-generic/include/odp/api/plat/ticketlock_types.h
index 73f9705..81d479d 100644
--- a/platform/linux-generic/include/odp/plat/ticketlock_types.h
+++ b/platform/linux-generic/include/odp/api/plat/ticketlock_types.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/atomic.h>
+#include <odp/api/atomic.h>
 
 /** @internal */
 struct odp_ticketlock_s {
diff --git a/platform/linux-generic/include/odp/plat/time_types.h b/platform/linux-generic/include/odp/api/plat/time_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/time_types.h
rename to platform/linux-generic/include/odp/api/plat/time_types.h
diff --git a/platform/linux-generic/include/odp/plat/timer_types.h b/platform/linux-generic/include/odp/api/plat/timer_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/timer_types.h
rename to platform/linux-generic/include/odp/api/plat/timer_types.h
diff --git a/platform/linux-generic/include/odp/plat/traffic_mngr_types.h b/platform/linux-generic/include/odp/api/plat/traffic_mngr_types.h
similarity index 98%
rename from platform/linux-generic/include/odp/plat/traffic_mngr_types.h
rename to platform/linux-generic/include/odp/api/plat/traffic_mngr_types.h
index 52df64b..2969fef 100644
--- a/platform/linux-generic/include/odp/plat/traffic_mngr_types.h
+++ b/platform/linux-generic/include/odp/api/plat/traffic_mngr_types.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/strong_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/strong_types.h>
 
 /** @addtogroup odp_traffic_mngr
  *  Macros and operations on a TM system.
diff --git a/platform/linux-generic/include/odp/plat/version_types.h b/platform/linux-generic/include/odp/api/plat/version_types.h
similarity index 100%
rename from platform/linux-generic/include/odp/plat/version_types.h
rename to platform/linux-generic/include/odp/api/plat/version_types.h
diff --git a/platform/linux-generic/include/odp/pool.h b/platform/linux-generic/include/odp/api/pool.h
similarity index 68%
rename from platform/linux-generic/include/odp/pool.h
rename to platform/linux-generic/include/odp/api/pool.h
index 02bc3b7..d712b65 100644
--- a/platform/linux-generic/include/odp/pool.h
+++ b/platform/linux-generic/include/odp/api/pool.h
@@ -25,10 +25,10 @@  extern "C" {
  * @}
  */
 
-#include <odp/plat/pool_types.h>
-#include <odp/plat/shared_memory_types.h>
-#include <odp/plat/event_types.h>
-#include <odp/api/pool.h>
+#include <odp/api/plat/pool_types.h>
+#include <odp/api/plat/shared_memory_types.h>
+#include <odp/api/plat/event_types.h>
+#include <odp/api/spec/pool.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/queue.h b/platform/linux-generic/include/odp/api/queue.h
similarity index 60%
rename from platform/linux-generic/include/odp/queue.h
rename to platform/linux-generic/include/odp/api/queue.h
index 3aa2150..a5cf873 100644
--- a/platform/linux-generic/include/odp/queue.h
+++ b/platform/linux-generic/include/odp/api/queue.h
@@ -17,11 +17,11 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/event_types.h>
-#include <odp/plat/queue_types.h>
-#include <odp/plat/buffer_types.h>
-#include <odp/plat/pool_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/event_types.h>
+#include <odp/api/plat/queue_types.h>
+#include <odp/api/plat/buffer_types.h>
+#include <odp/api/plat/pool_types.h>
 
 /** @ingroup odp_queue
  *  @{
@@ -31,7 +31,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/queue.h>
+#include <odp/api/spec/queue.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/random.h b/platform/linux-generic/include/odp/api/random.h
similarity index 91%
rename from platform/linux-generic/include/odp/random.h
rename to platform/linux-generic/include/odp/api/random.h
index e9b4bd0..c8529b3 100644
--- a/platform/linux-generic/include/odp/random.h
+++ b/platform/linux-generic/include/odp/api/random.h
@@ -25,7 +25,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/random.h>
+#include <odp/api/spec/random.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/rwlock.h b/platform/linux-generic/include/odp/api/rwlock.h
similarity index 80%
rename from platform/linux-generic/include/odp/rwlock.h
rename to platform/linux-generic/include/odp/api/rwlock.h
index f9d8f5f..4a86173 100644
--- a/platform/linux-generic/include/odp/rwlock.h
+++ b/platform/linux-generic/include/odp/api/rwlock.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/rwlock_types.h>
+#include <odp/api/plat/rwlock_types.h>
 
-#include <odp/api/rwlock.h>
+#include <odp/api/spec/rwlock.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/rwlock_recursive.h b/platform/linux-generic/include/odp/api/rwlock_recursive.h
similarity index 77%
rename from platform/linux-generic/include/odp/rwlock_recursive.h
rename to platform/linux-generic/include/odp/api/rwlock_recursive.h
index e9dadc8..4a08153 100644
--- a/platform/linux-generic/include/odp/rwlock_recursive.h
+++ b/platform/linux-generic/include/odp/api/rwlock_recursive.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/rwlock_recursive_types.h>
+#include <odp/api/plat/rwlock_recursive_types.h>
 
-#include <odp/api/rwlock_recursive.h>
+#include <odp/api/spec/rwlock_recursive.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/schedule.h b/platform/linux-generic/include/odp/api/schedule.h
similarity index 81%
rename from platform/linux-generic/include/odp/schedule.h
rename to platform/linux-generic/include/odp/api/schedule.h
index cb4ac2f..0026485 100644
--- a/platform/linux-generic/include/odp/schedule.h
+++ b/platform/linux-generic/include/odp/api/schedule.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/schedule_types.h>
+#include <odp/api/plat/schedule_types.h>
 
 /** @ingroup odp_scheduler
  *  @{
@@ -27,7 +27,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/schedule.h>
+#include <odp/api/spec/schedule.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/schedule_types.h b/platform/linux-generic/include/odp/api/schedule_types.h
similarity index 78%
rename from platform/linux-generic/include/odp/schedule_types.h
rename to platform/linux-generic/include/odp/api/schedule_types.h
index 784ed85..536007d 100644
--- a/platform/linux-generic/include/odp/schedule_types.h
+++ b/platform/linux-generic/include/odp/api/schedule_types.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/schedule_types.h>
+#include <odp/api/plat/schedule_types.h>
 
-#include <odp/api/schedule_types.h>
+#include <odp/api/spec/schedule_types.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/shared_memory.h b/platform/linux-generic/include/odp/api/shared_memory.h
similarity index 81%
rename from platform/linux-generic/include/odp/shared_memory.h
rename to platform/linux-generic/include/odp/api/shared_memory.h
index 957be56..affc290 100644
--- a/platform/linux-generic/include/odp/shared_memory.h
+++ b/platform/linux-generic/include/odp/api/shared_memory.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/shared_memory_types.h>
+#include <odp/api/plat/shared_memory_types.h>
 
 /** @ingroup odp_shared_memory
  *  @{
@@ -27,7 +27,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/shared_memory.h>
+#include <odp/api/spec/shared_memory.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/spinlock.h b/platform/linux-generic/include/odp/api/spinlock.h
similarity index 79%
rename from platform/linux-generic/include/odp/spinlock.h
rename to platform/linux-generic/include/odp/api/spinlock.h
index 046fcfa..830f4ed 100644
--- a/platform/linux-generic/include/odp/spinlock.h
+++ b/platform/linux-generic/include/odp/api/spinlock.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/spinlock_types.h>
+#include <odp/api/plat/spinlock_types.h>
 
-#include <odp/api/spinlock.h>
+#include <odp/api/spec/spinlock.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/spinlock_recursive.h b/platform/linux-generic/include/odp/api/spinlock_recursive.h
similarity index 76%
rename from platform/linux-generic/include/odp/spinlock_recursive.h
rename to platform/linux-generic/include/odp/api/spinlock_recursive.h
index e8a9968..d97b017 100644
--- a/platform/linux-generic/include/odp/spinlock_recursive.h
+++ b/platform/linux-generic/include/odp/api/spinlock_recursive.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/spinlock_recursive_types.h>
+#include <odp/api/plat/spinlock_recursive_types.h>
 
-#include <odp/api/spinlock_recursive.h>
+#include <odp/api/spec/spinlock_recursive.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/std_clib.h b/platform/linux-generic/include/odp/api/std_clib.h
similarity index 94%
rename from platform/linux-generic/include/odp/std_clib.h
rename to platform/linux-generic/include/odp/api/std_clib.h
index 11c59be..1578d09 100644
--- a/platform/linux-generic/include/odp/std_clib.h
+++ b/platform/linux-generic/include/odp/api/std_clib.h
@@ -11,7 +11,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/api/std_types.h>
+#include <odp/api/spec/std_types.h>
 
 static inline void *odp_memcpy(void *dst, const void *src, size_t num)
 {
diff --git a/platform/linux-generic/include/odp/std_types.h b/platform/linux-generic/include/odp/api/std_types.h
similarity index 94%
rename from platform/linux-generic/include/odp/std_types.h
rename to platform/linux-generic/include/odp/api/std_types.h
index 56b5a4e..5737e43 100644
--- a/platform/linux-generic/include/odp/std_types.h
+++ b/platform/linux-generic/include/odp/api/std_types.h
@@ -37,7 +37,7 @@  typedef int odp_bool_t;
  * @}
  */
 
-#include <odp/api/std_types.h>
+#include <odp/api/spec/std_types.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/sync.h b/platform/linux-generic/include/odp/api/sync.h
similarity index 95%
rename from platform/linux-generic/include/odp/sync.h
rename to platform/linux-generic/include/odp/api/sync.h
index b2995e1..45fe6bd 100644
--- a/platform/linux-generic/include/odp/sync.h
+++ b/platform/linux-generic/include/odp/api/sync.h
@@ -40,7 +40,7 @@  static inline void odp_mb_full(void)
  * @}
  */
 
-#include <odp/api/sync.h>
+#include <odp/api/spec/sync.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/system_info.h b/platform/linux-generic/include/odp/api/system_info.h
similarity index 81%
rename from platform/linux-generic/include/odp/system_info.h
rename to platform/linux-generic/include/odp/api/system_info.h
index d692606..36ddc81 100644
--- a/platform/linux-generic/include/odp/system_info.h
+++ b/platform/linux-generic/include/odp/api/system_info.h
@@ -17,10 +17,10 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 
-#include <odp/api/system_info.h>
+#include <odp/api/spec/system_info.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/thread.h b/platform/linux-generic/include/odp/api/thread.h
similarity index 79%
rename from platform/linux-generic/include/odp/thread.h
rename to platform/linux-generic/include/odp/api/thread.h
index 522ca25..c54abc8 100644
--- a/platform/linux-generic/include/odp/thread.h
+++ b/platform/linux-generic/include/odp/api/thread.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/thread_types.h>
+#include <odp/api/plat/thread_types.h>
 
-#include <odp/api/thread.h>
+#include <odp/api/spec/thread.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/thrmask.h b/platform/linux-generic/include/odp/api/thrmask.h
similarity index 82%
rename from platform/linux-generic/include/odp/thrmask.h
rename to platform/linux-generic/include/odp/api/thrmask.h
index 0e98ece..b1c2077 100644
--- a/platform/linux-generic/include/odp/thrmask.h
+++ b/platform/linux-generic/include/odp/api/thrmask.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/thrmask_types.h>
+#include <odp/api/plat/thrmask_types.h>
 
 /** @ingroup odp_thread
  *  @{
@@ -27,7 +27,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/thrmask.h>
+#include <odp/api/spec/thrmask.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/ticketlock.h b/platform/linux-generic/include/odp/api/ticketlock.h
similarity index 78%
rename from platform/linux-generic/include/odp/ticketlock.h
rename to platform/linux-generic/include/odp/api/ticketlock.h
index d349151..85be4bc 100644
--- a/platform/linux-generic/include/odp/ticketlock.h
+++ b/platform/linux-generic/include/odp/api/ticketlock.h
@@ -17,9 +17,9 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/ticketlock_types.h>
+#include <odp/api/plat/ticketlock_types.h>
 
-#include <odp/api/ticketlock.h>
+#include <odp/api/spec/ticketlock.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/time.h b/platform/linux-generic/include/odp/api/time.h
similarity index 73%
rename from platform/linux-generic/include/odp/time.h
rename to platform/linux-generic/include/odp/api/time.h
index 44e0d0d..8d1c33e 100644
--- a/platform/linux-generic/include/odp/time.h
+++ b/platform/linux-generic/include/odp/api/time.h
@@ -17,12 +17,12 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 
 
 
-#include <odp/plat/time_types.h>
-#include <odp/api/time.h>
+#include <odp/api/plat/time_types.h>
+#include <odp/api/spec/time.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/timer.h b/platform/linux-generic/include/odp/api/timer.h
similarity index 61%
rename from platform/linux-generic/include/odp/timer.h
rename to platform/linux-generic/include/odp/api/timer.h
index 3e9cd4e..1450727 100644
--- a/platform/linux-generic/include/odp/timer.h
+++ b/platform/linux-generic/include/odp/api/timer.h
@@ -17,11 +17,11 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/plat/event_types.h>
-#include <odp/plat/pool_types.h>
-#include <odp/plat/queue_types.h>
-#include <odp/plat/timer_types.h>
+#include <odp/api/std_types.h>
+#include <odp/api/plat/event_types.h>
+#include <odp/api/plat/pool_types.h>
+#include <odp/api/plat/queue_types.h>
+#include <odp/api/plat/timer_types.h>
 
 /** @ingroup odp_timer
  *  @{
@@ -31,7 +31,7 @@  extern "C" {
  * @}
  */
 
-#include <odp/api/timer.h>
+#include <odp/api/spec/timer.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/traffic_mngr.h b/platform/linux-generic/include/odp/api/traffic_mngr.h
similarity index 81%
rename from platform/linux-generic/include/odp/traffic_mngr.h
rename to platform/linux-generic/include/odp/api/traffic_mngr.h
index 3aa6267..3e6f5fb 100644
--- a/platform/linux-generic/include/odp/traffic_mngr.h
+++ b/platform/linux-generic/include/odp/api/traffic_mngr.h
@@ -25,8 +25,8 @@  extern "C" {
  * @}
  */
 
-#include <odp/plat/traffic_mngr_types.h>
-#include <odp/api/traffic_mngr.h>
+#include <odp/api/plat/traffic_mngr_types.h>
+#include <odp/api/spec/traffic_mngr.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/version.h b/platform/linux-generic/include/odp/api/version.h
similarity index 79%
rename from platform/linux-generic/include/odp/version.h
rename to platform/linux-generic/include/odp/api/version.h
index c98cb30..fc4ea58 100644
--- a/platform/linux-generic/include/odp/version.h
+++ b/platform/linux-generic/include/odp/api/version.h
@@ -17,8 +17,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/plat/version_types.h>
-#include <odp/api/version.h>
+#include <odp/api/plat/version_types.h>
+#include <odp/api/spec/version.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp_align_internal.h b/platform/linux-generic/include/odp_align_internal.h
index 4ca5ceb..9ccde53 100644
--- a/platform/linux-generic/include/odp_align_internal.h
+++ b/platform/linux-generic/include/odp_align_internal.h
@@ -17,7 +17,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
+#include <odp/api/align.h>
 
 /** @addtogroup odp_compiler_optim
  *  @{
diff --git a/platform/linux-generic/include/odp_atomic_internal.h b/platform/linux-generic/include/odp_atomic_internal.h
index ff3813f..093280f 100644
--- a/platform/linux-generic/include/odp_atomic_internal.h
+++ b/platform/linux-generic/include/odp_atomic_internal.h
@@ -16,10 +16,10 @@ 
 #ifndef ODP_ATOMIC_INTERNAL_H_
 #define ODP_ATOMIC_INTERNAL_H_
 
-#include <odp/std_types.h>
-#include <odp/align.h>
-#include <odp/hints.h>
-#include <odp/atomic.h>
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
+#include <odp/api/hints.h>
+#include <odp/api/atomic.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/platform/linux-generic/include/odp_buffer_internal.h b/platform/linux-generic/include/odp_buffer_internal.h
index abdd320..7a06b00 100644
--- a/platform/linux-generic/include/odp_buffer_internal.h
+++ b/platform/linux-generic/include/odp_buffer_internal.h
@@ -18,17 +18,17 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/atomic.h>
-#include <odp/pool.h>
-#include <odp/buffer.h>
-#include <odp/debug.h>
-#include <odp/align.h>
+#include <odp/api/std_types.h>
+#include <odp/api/atomic.h>
+#include <odp/api/pool.h>
+#include <odp/api/buffer.h>
+#include <odp/api/debug.h>
+#include <odp/api/align.h>
 #include <odp_align_internal.h>
-#include <odp/config.h>
-#include <odp/byteorder.h>
-#include <odp/thread.h>
-#include <odp/event.h>
+#include <odp/api/config.h>
+#include <odp/api/byteorder.h>
+#include <odp/api/thread.h>
+#include <odp/api/event.h>
 #include <odp_forward_typedefs_internal.h>
 
 #define ODP_BITSIZE(x) \
diff --git a/platform/linux-generic/include/odp_classification_datamodel.h b/platform/linux-generic/include/odp_classification_datamodel.h
index 6301f18..63f3ec6 100644
--- a/platform/linux-generic/include/odp_classification_datamodel.h
+++ b/platform/linux-generic/include/odp_classification_datamodel.h
@@ -19,8 +19,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/spinlock.h>
-#include <odp/classification.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/classification.h>
 #include <odp_pool_internal.h>
 #include <odp_packet_internal.h>
 #include <odp_packet_io_internal.h>
diff --git a/platform/linux-generic/include/odp_classification_inlines.h b/platform/linux-generic/include/odp_classification_inlines.h
index 96cf77e..8bd010d 100644
--- a/platform/linux-generic/include/odp_classification_inlines.h
+++ b/platform/linux-generic/include/odp_classification_inlines.h
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/debug.h>
+#include <odp/api/debug.h>
 #include <odp/helper/eth.h>
 #include <odp/helper/ip.h>
 #include <odp/helper/ipsec.h>
diff --git a/platform/linux-generic/include/odp_classification_internal.h b/platform/linux-generic/include/odp_classification_internal.h
index d85eb98..86b40fc 100644
--- a/platform/linux-generic/include/odp_classification_internal.h
+++ b/platform/linux-generic/include/odp_classification_internal.h
@@ -19,10 +19,10 @@ 
 extern "C" {
 #endif
 
-#include <odp/classification.h>
-#include <odp/queue.h>
+#include <odp/api/classification.h>
+#include <odp/api/queue.h>
 #include <odp_packet_internal.h>
-#include <odp/packet_io.h>
+#include <odp/api/packet_io.h>
 #include <odp_packet_io_internal.h>
 #include <odp_classification_datamodel.h>
 
diff --git a/platform/linux-generic/include/odp_debug_internal.h b/platform/linux-generic/include/odp_debug_internal.h
index 24608e1..02ae87a 100644
--- a/platform/linux-generic/include/odp_debug_internal.h
+++ b/platform/linux-generic/include/odp_debug_internal.h
@@ -18,7 +18,7 @@ 
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <odp/debug.h>
+#include <odp/api/debug.h>
 #include <odp_internal.h>
 #ifdef __cplusplus
 extern "C" {
diff --git a/platform/linux-generic/include/odp_internal.h b/platform/linux-generic/include/odp_internal.h
index aac2ba9..d7b71ca 100644
--- a/platform/linux-generic/include/odp_internal.h
+++ b/platform/linux-generic/include/odp_internal.h
@@ -18,8 +18,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/init.h>
-#include <odp/thread.h>
+#include <odp/api/init.h>
+#include <odp/api/thread.h>
 #include <stdio.h>
 
 extern __thread int __odp_errno;
diff --git a/platform/linux-generic/include/odp_packet_internal.h b/platform/linux-generic/include/odp_packet_internal.h
index 1340f8a..976cbc0 100644
--- a/platform/linux-generic/include/odp_packet_internal.h
+++ b/platform/linux-generic/include/odp_packet_internal.h
@@ -18,14 +18,14 @@ 
 extern "C" {
 #endif
 
-#include <odp/align.h>
-#include <odp/debug.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
 #include <odp_buffer_internal.h>
 #include <odp_pool_internal.h>
 #include <odp_buffer_inlines.h>
-#include <odp/packet.h>
-#include <odp/packet_io.h>
-#include <odp/crypto.h>
+#include <odp/api/packet.h>
+#include <odp/api/packet_io.h>
+#include <odp/api/crypto.h>
 #include <odp_crypto_internal.h>
 
 #define PACKET_JUMBO_LEN	(9 * 1024)
diff --git a/platform/linux-generic/include/odp_packet_io_internal.h b/platform/linux-generic/include/odp_packet_io_internal.h
index f871f0a..fd66983 100644
--- a/platform/linux-generic/include/odp_packet_io_internal.h
+++ b/platform/linux-generic/include/odp_packet_io_internal.h
@@ -18,14 +18,14 @@ 
 extern "C" {
 #endif
 
-#include <odp/spinlock.h>
-#include <odp/ticketlock.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/ticketlock.h>
 #include <odp_classification_datamodel.h>
 #include <odp_align_internal.h>
 #include <odp_debug_internal.h>
 
-#include <odp/config.h>
-#include <odp/hints.h>
+#include <odp/api/config.h>
+#include <odp/api/hints.h>
 #include <net/if.h>
 
 #define PKTIO_MAX_QUEUES 64
diff --git a/platform/linux-generic/include/odp_packet_netmap.h b/platform/linux-generic/include/odp_packet_netmap.h
index 26a8da1..fbec15c 100644
--- a/platform/linux-generic/include/odp_packet_netmap.h
+++ b/platform/linux-generic/include/odp_packet_netmap.h
@@ -7,11 +7,11 @@ 
 #ifndef ODP_PACKET_NETMAP_H
 #define ODP_PACKET_NETMAP_H
 
-#include <odp/align.h>
-#include <odp/debug.h>
-#include <odp/packet_io.h>
-#include <odp/pool.h>
-#include <odp/ticketlock.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
+#include <odp/api/packet_io.h>
+#include <odp/api/pool.h>
+#include <odp/api/ticketlock.h>
 #include <odp_align_internal.h>
 
 #include <linux/if_ether.h>
diff --git a/platform/linux-generic/include/odp_packet_socket.h b/platform/linux-generic/include/odp_packet_socket.h
index a7797d1..08ffc6a 100644
--- a/platform/linux-generic/include/odp_packet_socket.h
+++ b/platform/linux-generic/include/odp_packet_socket.h
@@ -13,12 +13,12 @@ 
 #include <sys/socket.h>
 #include <string.h>
 
-#include <odp/align.h>
-#include <odp/buffer.h>
-#include <odp/debug.h>
-#include <odp/pool.h>
-#include <odp/packet.h>
-#include <odp/packet_io.h>
+#include <odp/api/align.h>
+#include <odp/api/buffer.h>
+#include <odp/api/debug.h>
+#include <odp/api/pool.h>
+#include <odp/api/packet.h>
+#include <odp/api/packet_io.h>
 
 #include <linux/version.h>
 
diff --git a/platform/linux-generic/include/odp_packet_tap.h b/platform/linux-generic/include/odp_packet_tap.h
index 7877586..a90bfbc 100644
--- a/platform/linux-generic/include/odp_packet_tap.h
+++ b/platform/linux-generic/include/odp_packet_tap.h
@@ -7,7 +7,7 @@ 
 #ifndef ODP_PACKET_TAP_H_
 #define ODP_PACKET_TAP_H_
 
-#include <odp/pool.h>
+#include <odp/api/pool.h>
 
 typedef struct {
 	int fd;				/**< file descriptor for tap interface*/
diff --git a/platform/linux-generic/include/odp_pool_internal.h b/platform/linux-generic/include/odp_pool_internal.h
index fdac606..6832b31 100644
--- a/platform/linux-generic/include/odp_pool_internal.h
+++ b/platform/linux-generic/include/odp_pool_internal.h
@@ -18,17 +18,17 @@ 
 extern "C" {
 #endif
 
-#include <odp/std_types.h>
-#include <odp/align.h>
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
 #include <odp_align_internal.h>
-#include <odp/pool.h>
+#include <odp/api/pool.h>
 #include <odp_buffer_internal.h>
-#include <odp/hints.h>
-#include <odp/config.h>
-#include <odp/debug.h>
-#include <odp/shared_memory.h>
-#include <odp/atomic.h>
-#include <odp/thread.h>
+#include <odp/api/hints.h>
+#include <odp/api/config.h>
+#include <odp/api/debug.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/atomic.h>
+#include <odp/api/thread.h>
 #include <string.h>
 
 /**
@@ -67,12 +67,12 @@  typedef struct local_cache_t {
 #define POOL_USE_TICKETLOCK
 
 #ifdef POOL_USE_TICKETLOCK
-#include <odp/ticketlock.h>
+#include <odp/api/ticketlock.h>
 #define POOL_LOCK(a)      odp_ticketlock_lock(a)
 #define POOL_UNLOCK(a)    odp_ticketlock_unlock(a)
 #define POOL_LOCK_INIT(a) odp_ticketlock_init(a)
 #else
-#include <odp/spinlock.h>
+#include <odp/api/spinlock.h>
 #define POOL_LOCK(a)      odp_spinlock_lock(a)
 #define POOL_UNLOCK(a)    odp_spinlock_unlock(a)
 #define POOL_LOCK_INIT(a) odp_spinlock_init(a)
diff --git a/platform/linux-generic/include/odp_queue_internal.h b/platform/linux-generic/include/odp_queue_internal.h
index de612eb..912427f 100644
--- a/platform/linux-generic/include/odp_queue_internal.h
+++ b/platform/linux-generic/include/odp_queue_internal.h
@@ -18,21 +18,21 @@ 
 extern "C" {
 #endif
 
-#include <odp/queue.h>
+#include <odp/api/queue.h>
 #include <odp_forward_typedefs_internal.h>
 #include <odp_buffer_internal.h>
 #include <odp_align_internal.h>
-#include <odp/packet_io.h>
-#include <odp/align.h>
-#include <odp/hints.h>
+#include <odp/api/packet_io.h>
+#include <odp/api/align.h>
+#include <odp/api/hints.h>
 
 
 #define USE_TICKETLOCK
 
 #ifdef USE_TICKETLOCK
-#include <odp/ticketlock.h>
+#include <odp/api/ticketlock.h>
 #else
-#include <odp/spinlock.h>
+#include <odp/api/spinlock.h>
 #endif
 
 #define QUEUE_MULTI_MAX 8
diff --git a/platform/linux-generic/include/odp_schedule_internal.h b/platform/linux-generic/include/odp_schedule_internal.h
index 0868394..fe8ff7b 100644
--- a/platform/linux-generic/include/odp_schedule_internal.h
+++ b/platform/linux-generic/include/odp_schedule_internal.h
@@ -14,10 +14,10 @@  extern "C" {
 #endif
 
 
-#include <odp/buffer.h>
+#include <odp/api/buffer.h>
 #include <odp_buffer_internal.h>
-#include <odp/queue.h>
-#include <odp/packet_io.h>
+#include <odp/api/queue.h>
+#include <odp/api/packet_io.h>
 #include <odp_queue_internal.h>
 
 int schedule_queue_init(queue_entry_t *qe);
diff --git a/platform/linux-generic/include/odp_timer_internal.h b/platform/linux-generic/include/odp_timer_internal.h
index 8b0e93d..b1cd73f 100644
--- a/platform/linux-generic/include/odp_timer_internal.h
+++ b/platform/linux-generic/include/odp_timer_internal.h
@@ -14,11 +14,11 @@ 
 #ifndef ODP_TIMER_INTERNAL_H_
 #define ODP_TIMER_INTERNAL_H_
 
-#include <odp/align.h>
-#include <odp/debug.h>
+#include <odp/api/align.h>
+#include <odp/api/debug.h>
 #include <odp_buffer_internal.h>
 #include <odp_pool_internal.h>
-#include <odp/timer.h>
+#include <odp/api/timer.h>
 
 /**
  * Internal Timeout header
diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h b/platform/linux-generic/include/odp_traffic_mngr_internal.h
index e48e213..e09c60a 100644
--- a/platform/linux-generic/include/odp_traffic_mngr_internal.h
+++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h
@@ -19,8 +19,8 @@ 
 extern "C" {
 #endif
 
-#include <odp/traffic_mngr.h>
-#include <odp/packet_io.h>
+#include <odp/api/traffic_mngr.h>
+#include <odp/api/packet_io.h>
 #include <odp_name_table_internal.h>
 #include <odp_timer_wheel_internal.h>
 #include <odp_pkt_queue_internal.h>
diff --git a/platform/linux-generic/odp_atomic.c b/platform/linux-generic/odp_atomic.c
index 5b71ecf..680e66d 100644
--- a/platform/linux-generic/odp_atomic.c
+++ b/platform/linux-generic/odp_atomic.c
@@ -4,7 +4,7 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/atomic.h>
+#include <odp/api/atomic.h>
 
 int odp_atomic_lock_free_u64(odp_atomic_op_t *atomic_op)
 {
diff --git a/platform/linux-generic/odp_barrier.c b/platform/linux-generic/odp_barrier.c
index f3525e2..ef10f29 100644
--- a/platform/linux-generic/odp_barrier.c
+++ b/platform/linux-generic/odp_barrier.c
@@ -4,10 +4,10 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/barrier.h>
-#include <odp/sync.h>
-#include <odp/cpu.h>
-#include <odp/atomic.h>
+#include <odp/api/barrier.h>
+#include <odp/api/sync.h>
+#include <odp/api/cpu.h>
+#include <odp/api/atomic.h>
 
 void odp_barrier_init(odp_barrier_t *barrier, int count)
 {
diff --git a/platform/linux-generic/odp_buffer.c b/platform/linux-generic/odp_buffer.c
index ec2bbba..69f913d 100644
--- a/platform/linux-generic/odp_buffer.c
+++ b/platform/linux-generic/odp_buffer.c
@@ -4,7 +4,7 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/buffer.h>
+#include <odp/api/buffer.h>
 #include <odp_pool_internal.h>
 #include <odp_buffer_internal.h>
 #include <odp_buffer_inlines.h>
diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c
index 9834d36..6c9f7c1 100644
--- a/platform/linux-generic/odp_classification.c
+++ b/platform/linux-generic/odp_classification.c
@@ -4,23 +4,23 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/classification.h>
-#include <odp/align.h>
-#include <odp/queue.h>
-#include <odp/debug.h>
+#include <odp/api/classification.h>
+#include <odp/api/align.h>
+#include <odp/api/queue.h>
+#include <odp/api/debug.h>
 #include <odp_internal.h>
 #include <odp_debug_internal.h>
 #include <odp_packet_internal.h>
-#include <odp/packet_io.h>
+#include <odp/api/packet_io.h>
 #include <odp_packet_io_internal.h>
 #include <odp_classification_datamodel.h>
 #include <odp_classification_inlines.h>
 #include <odp_classification_internal.h>
 #include <odp_pool_internal.h>
-#include <odp/shared_memory.h>
+#include <odp/api/shared_memory.h>
 #include <odp/helper/eth.h>
 #include <string.h>
-#include <odp/spinlock.h>
+#include <odp/api/spinlock.h>
 
 #define LOCK(a)      odp_spinlock_lock(a)
 #define UNLOCK(a)    odp_spinlock_unlock(a)
diff --git a/platform/linux-generic/odp_cpu.c b/platform/linux-generic/odp_cpu.c
index 4bd6a9a..282defd 100644
--- a/platform/linux-generic/odp_cpu.c
+++ b/platform/linux-generic/odp_cpu.c
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/cpu.h>
-#include <odp/hints.h>
+#include <odp/api/cpu.h>
+#include <odp/api/hints.h>
 
 uint64_t odp_cpu_cycles_diff(uint64_t c2, uint64_t c1)
 {
diff --git a/platform/linux-generic/odp_cpumask.c b/platform/linux-generic/odp_cpumask.c
index c5c1260..4249f1d 100644
--- a/platform/linux-generic/odp_cpumask.c
+++ b/platform/linux-generic/odp_cpumask.c
@@ -9,7 +9,7 @@ 
 #include <sched.h>
 #include <pthread.h>
 
-#include <odp/cpumask.h>
+#include <odp/api/cpumask.h>
 #include <odp_debug_internal.h>
 
 #include <stdlib.h>
diff --git a/platform/linux-generic/odp_cpumask_task.c b/platform/linux-generic/odp_cpumask_task.c
index c5093e0..dbedff2 100644
--- a/platform/linux-generic/odp_cpumask_task.c
+++ b/platform/linux-generic/odp_cpumask_task.c
@@ -9,7 +9,7 @@ 
 #include <sched.h>
 #include <pthread.h>
 
-#include <odp/cpumask.h>
+#include <odp/api/cpumask.h>
 #include <odp_debug_internal.h>
 
 int odp_cpumask_default_worker(odp_cpumask_t *mask, int num)
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c
index 65e8503..08b479d 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -4,18 +4,18 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/crypto.h>
+#include <odp/api/crypto.h>
 #include <odp_internal.h>
-#include <odp/atomic.h>
-#include <odp/spinlock.h>
-#include <odp/sync.h>
-#include <odp/debug.h>
-#include <odp/align.h>
-#include <odp/shared_memory.h>
+#include <odp/api/atomic.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/sync.h>
+#include <odp/api/debug.h>
+#include <odp/api/align.h>
+#include <odp/api/shared_memory.h>
 #include <odp_crypto_internal.h>
 #include <odp_debug_internal.h>
-#include <odp/hints.h>
-#include <odp/random.h>
+#include <odp/api/hints.h>
+#include <odp/api/random.h>
 #include <odp_packet_internal.h>
 
 #include <string.h>
diff --git a/platform/linux-generic/odp_errno.c b/platform/linux-generic/odp_errno.c
index 1a76d43..408a4b9 100644
--- a/platform/linux-generic/odp_errno.c
+++ b/platform/linux-generic/odp_errno.c
@@ -4,7 +4,7 @@ 
  * SPDX-License-Identifier:	BSD-3-Clause
  */
 
-#include <odp/errno.h>
+#include <odp/api/errno.h>
 #include <odp_internal.h>
 #include <string.h>
 #include <stdio.h>
diff --git a/platform/linux-generic/odp_event.c b/platform/linux-generic/odp_event.c
index 30dde56..cc3fb0a 100644
--- a/platform/linux-generic/odp_event.c
+++ b/platform/linux-generic/odp_event.c
@@ -4,12 +4,12 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/event.h>
-#include <odp/buffer.h>
-#include <odp/crypto.h>
-#include <odp/packet.h>
-#include <odp/timer.h>
-#include <odp/pool.h>
+#include <odp/api/event.h>
+#include <odp/api/buffer.h>
+#include <odp/api/crypto.h>
+#include <odp/api/packet.h>
+#include <odp/api/timer.h>
+#include <odp/api/pool.h>
 #include <odp_buffer_internal.h>
 #include <odp_buffer_inlines.h>
 #include <odp_debug_internal.h>
diff --git a/platform/linux-generic/odp_hash.c b/platform/linux-generic/odp_hash.c
index 6bee4ef..0e09282 100644
--- a/platform/linux-generic/odp_hash.c
+++ b/platform/linux-generic/odp_hash.c
@@ -37,8 +37,8 @@ 
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <odp/hash.h>
-#include <odp/std_types.h>
+#include <odp/api/hash.h>
+#include <odp/api/std_types.h>
 
 static const uint32_t crc32c_tables[8][256] = {{
 	0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C,
diff --git a/platform/linux-generic/odp_impl.c b/platform/linux-generic/odp_impl.c
index 46d0e40..b1109ef 100644
--- a/platform/linux-generic/odp_impl.c
+++ b/platform/linux-generic/odp_impl.c
@@ -18,7 +18,7 @@ 
 extern "C" {
 #endif
 
-#include <odp/version.h>
+#include <odp/api/version.h>
 
 #define ODP_VERSION_IMPL 0
 #define ODP_VERSION_IMPL_STR \
diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c
index 6ad3320..a8c91a5 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -4,9 +4,9 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/init.h>
+#include <odp/api/init.h>
 #include <odp_internal.h>
-#include <odp/debug.h>
+#include <odp/api/debug.h>
 #include <odp_debug_internal.h>
 
 struct odp_global_data_s odp_global_data;
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index db85b5e..2a4f312 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -4,11 +4,11 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/packet.h>
+#include <odp/api/packet.h>
 #include <odp_packet_internal.h>
 #include <odp_debug_internal.h>
-#include <odp/hints.h>
-#include <odp/byteorder.h>
+#include <odp/api/hints.h>
+#include <odp/api/byteorder.h>
 
 #include <odp/helper/eth.h>
 #include <odp/helper/ip.h>
diff --git a/platform/linux-generic/odp_packet_flags.c b/platform/linux-generic/odp_packet_flags.c
index ae9a9ed..63ce2dd 100644
--- a/platform/linux-generic/odp_packet_flags.c
+++ b/platform/linux-generic/odp_packet_flags.c
@@ -4,7 +4,7 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/packet_flags.h>
+#include <odp/api/packet_flags.h>
 #include <odp_packet_internal.h>
 
 #define retflag(p, x) do {			       \
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index 27b6553..fe96133 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -4,17 +4,17 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/packet_io.h>
+#include <odp/api/packet_io.h>
 #include <odp_packet_io_internal.h>
 #include <odp_packet_io_queue.h>
-#include <odp/packet.h>
+#include <odp/api/packet.h>
 #include <odp_packet_internal.h>
 #include <odp_internal.h>
-#include <odp/spinlock.h>
-#include <odp/ticketlock.h>
-#include <odp/shared_memory.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/ticketlock.h>
+#include <odp/api/shared_memory.h>
 #include <odp_packet_socket.h>
-#include <odp/config.h>
+#include <odp/api/config.h>
 #include <odp_queue_internal.h>
 #include <odp_schedule_internal.h>
 #include <odp_classification_internal.h>
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index 64668cc..588362b 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -4,20 +4,20 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/std_types.h>
-#include <odp/pool.h>
+#include <odp/api/std_types.h>
+#include <odp/api/pool.h>
 #include <odp_buffer_internal.h>
 #include <odp_pool_internal.h>
 #include <odp_buffer_inlines.h>
 #include <odp_packet_internal.h>
 #include <odp_timer_internal.h>
 #include <odp_align_internal.h>
-#include <odp/shared_memory.h>
-#include <odp/align.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/align.h>
 #include <odp_internal.h>
-#include <odp/config.h>
-#include <odp/hints.h>
-#include <odp/thread.h>
+#include <odp/api/config.h>
+#include <odp/api/hints.h>
+#include <odp/api/thread.h>
 #include <odp_debug_internal.h>
 
 #include <string.h>
diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c
index e0ba586..26c0063 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -4,35 +4,35 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/queue.h>
+#include <odp/api/queue.h>
 #include <odp_queue_internal.h>
-#include <odp/std_types.h>
-#include <odp/align.h>
-#include <odp/buffer.h>
+#include <odp/api/std_types.h>
+#include <odp/api/align.h>
+#include <odp/api/buffer.h>
 #include <odp_buffer_internal.h>
 #include <odp_pool_internal.h>
 #include <odp_buffer_inlines.h>
 #include <odp_internal.h>
-#include <odp/shared_memory.h>
-#include <odp/schedule.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/schedule.h>
 #include <odp_schedule_internal.h>
-#include <odp/config.h>
+#include <odp/api/config.h>
 #include <odp_packet_io_internal.h>
 #include <odp_packet_io_queue.h>
 #include <odp_debug_internal.h>
-#include <odp/hints.h>
-#include <odp/sync.h>
-#include <odp/traffic_mngr.h>
+#include <odp/api/hints.h>
+#include <odp/api/sync.h>
+#include <odp/api/traffic_mngr.h>
 #include <odp_traffic_mngr_internal.h>
 
 #ifdef USE_TICKETLOCK
-#include <odp/ticketlock.h>
+#include <odp/api/ticketlock.h>
 #define LOCK(a)      odp_ticketlock_lock(a)
 #define UNLOCK(a)    odp_ticketlock_unlock(a)
 #define LOCK_INIT(a) odp_ticketlock_init(a)
 #define LOCK_TRY(a)  odp_ticketlock_trylock(a)
 #else
-#include <odp/spinlock.h>
+#include <odp/api/spinlock.h>
 #define LOCK(a)      odp_spinlock_lock(a)
 #define UNLOCK(a)    odp_spinlock_unlock(a)
 #define LOCK_INIT(a) odp_spinlock_init(a)
diff --git a/platform/linux-generic/odp_rwlock.c b/platform/linux-generic/odp_rwlock.c
index 42ad0cc..f50fd5f 100644
--- a/platform/linux-generic/odp_rwlock.c
+++ b/platform/linux-generic/odp_rwlock.c
@@ -5,9 +5,9 @@ 
  */
 
 #include <stdbool.h>
-#include <odp/atomic.h>
-#include <odp/rwlock.h>
-#include <odp/cpu.h>
+#include <odp/api/atomic.h>
+#include <odp/api/rwlock.h>
+#include <odp/api/cpu.h>
 
 void odp_rwlock_init(odp_rwlock_t *rwlock)
 {
diff --git a/platform/linux-generic/odp_rwlock_recursive.c b/platform/linux-generic/odp_rwlock_recursive.c
index e3a383c..2338b53 100644
--- a/platform/linux-generic/odp_rwlock_recursive.c
+++ b/platform/linux-generic/odp_rwlock_recursive.c
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/rwlock_recursive.h>
-#include <odp/thread.h>
+#include <odp/api/rwlock_recursive.h>
+#include <odp/api/thread.h>
 #include <string.h>
 
 #define NO_OWNER (-1)
diff --git a/platform/linux-generic/odp_schedule.c b/platform/linux-generic/odp_schedule.c
index fc54ee5..2e24079 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -5,21 +5,21 @@ 
  */
 
 #include <string.h>
-#include <odp/schedule.h>
+#include <odp/api/schedule.h>
 #include <odp_schedule_internal.h>
-#include <odp/align.h>
-#include <odp/queue.h>
-#include <odp/shared_memory.h>
-#include <odp/buffer.h>
-#include <odp/pool.h>
+#include <odp/api/align.h>
+#include <odp/api/queue.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/buffer.h>
+#include <odp/api/pool.h>
 #include <odp_internal.h>
-#include <odp/config.h>
+#include <odp/api/config.h>
 #include <odp_debug_internal.h>
-#include <odp/thread.h>
-#include <odp/time.h>
-#include <odp/spinlock.h>
-#include <odp/hints.h>
-#include <odp/cpu.h>
+#include <odp/api/thread.h>
+#include <odp/api/time.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/hints.h>
+#include <odp/api/cpu.h>
 
 #include <odp_queue_internal.h>
 #include <odp_packet_io_internal.h>
diff --git a/platform/linux-generic/odp_shared_memory.c b/platform/linux-generic/odp_shared_memory.c
index 7847cc9..8dddffc 100644
--- a/platform/linux-generic/odp_shared_memory.c
+++ b/platform/linux-generic/odp_shared_memory.c
@@ -6,15 +6,15 @@ 
 
 #include <odp_posix_extensions.h>
 
-#include <odp/shared_memory.h>
+#include <odp/api/shared_memory.h>
 #include <odp_internal.h>
-#include <odp/spinlock.h>
-#include <odp/align.h>
-#include <odp/system_info.h>
-#include <odp/debug.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/align.h>
+#include <odp/api/system_info.h>
+#include <odp/api/debug.h>
 #include <odp_debug_internal.h>
 #include <odp_align_internal.h>
-#include <odp/config.h>
+#include <odp/api/config.h>
 
 #include <unistd.h>
 #include <sys/mman.h>
diff --git a/platform/linux-generic/odp_spinlock.c b/platform/linux-generic/odp_spinlock.c
index 6a16dc4..6fc138b 100644
--- a/platform/linux-generic/odp_spinlock.c
+++ b/platform/linux-generic/odp_spinlock.c
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/spinlock.h>
-#include <odp/cpu.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/cpu.h>
 #include <odp_atomic_internal.h>
 
 void odp_spinlock_init(odp_spinlock_t *spinlock)
diff --git a/platform/linux-generic/odp_spinlock_recursive.c b/platform/linux-generic/odp_spinlock_recursive.c
index 8ffe6b3..5ed481c 100644
--- a/platform/linux-generic/odp_spinlock_recursive.c
+++ b/platform/linux-generic/odp_spinlock_recursive.c
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/spinlock_recursive.h>
-#include <odp/thread.h>
+#include <odp/api/spinlock_recursive.h>
+#include <odp/api/thread.h>
 
 #define NO_OWNER (-1)
 
diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c
index 42aef8a..a64dd0a 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -6,11 +6,11 @@ 
 
 #include <odp_posix_extensions.h>
 
-#include <odp/system_info.h>
+#include <odp/api/system_info.h>
 #include <odp_internal.h>
 #include <odp_debug_internal.h>
-#include <odp/align.h>
-#include <odp/cpu.h>
+#include <odp/api/align.h>
+#include <odp/api/cpu.h>
 #include <pthread.h>
 #include <sched.h>
 #include <string.h>
diff --git a/platform/linux-generic/odp_thread.c b/platform/linux-generic/odp_thread.c
index 4ac1c37..420e4eb 100644
--- a/platform/linux-generic/odp_thread.c
+++ b/platform/linux-generic/odp_thread.c
@@ -7,15 +7,15 @@ 
 #include <odp_posix_extensions.h>
 
 #include <sched.h>
-#include <odp/thread.h>
-#include <odp/thrmask.h>
+#include <odp/api/thread.h>
+#include <odp/api/thrmask.h>
 #include <odp_internal.h>
-#include <odp/spinlock.h>
-#include <odp/config.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/config.h>
 #include <odp_debug_internal.h>
-#include <odp/shared_memory.h>
-#include <odp/align.h>
-#include <odp/cpu.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/align.h>
+#include <odp/api/cpu.h>
 
 #include <string.h>
 #include <stdio.h>
diff --git a/platform/linux-generic/odp_thrmask.c b/platform/linux-generic/odp_thrmask.c
index 4545a82..c176a5c 100644
--- a/platform/linux-generic/odp_thrmask.c
+++ b/platform/linux-generic/odp_thrmask.c
@@ -4,8 +4,8 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/thrmask.h>
-#include <odp/cpumask.h>
+#include <odp/api/thrmask.h>
+#include <odp/api/cpumask.h>
 
 void odp_thrmask_from_str(odp_thrmask_t *mask, const char *str)
 {
diff --git a/platform/linux-generic/odp_ticketlock.c b/platform/linux-generic/odp_ticketlock.c
index 84b893a..7b4246f 100644
--- a/platform/linux-generic/odp_ticketlock.c
+++ b/platform/linux-generic/odp_ticketlock.c
@@ -4,10 +4,10 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/ticketlock.h>
-#include <odp/atomic.h>
-#include <odp/sync.h>
-#include <odp/cpu.h>
+#include <odp/api/ticketlock.h>
+#include <odp/api/atomic.h>
+#include <odp/api/sync.h>
+#include <odp/api/cpu.h>
 
 void odp_ticketlock_init(odp_ticketlock_t *ticketlock)
 {
diff --git a/platform/linux-generic/odp_time.c b/platform/linux-generic/odp_time.c
index ca8a955..040f754 100644
--- a/platform/linux-generic/odp_time.c
+++ b/platform/linux-generic/odp_time.c
@@ -7,8 +7,8 @@ 
 #include <odp_posix_extensions.h>
 
 #include <time.h>
-#include <odp/time.h>
-#include <odp/hints.h>
+#include <odp/api/time.h>
+#include <odp/api/hints.h>
 #include <odp_debug_internal.h>
 
 typedef union {
diff --git a/platform/linux-generic/odp_timer.c b/platform/linux-generic/odp_timer.c
index fe3d40f..ac72709 100644
--- a/platform/linux-generic/odp_timer.c
+++ b/platform/linux-generic/odp_timer.c
@@ -31,27 +31,27 @@ 
 #include <unistd.h>
 #include <sys/syscall.h>
 
-#include <odp/align.h>
+#include <odp/api/align.h>
 #include <odp_align_internal.h>
-#include <odp/atomic.h>
+#include <odp/api/atomic.h>
 #include <odp_atomic_internal.h>
-#include <odp/buffer.h>
+#include <odp/api/buffer.h>
 #include <odp_buffer_inlines.h>
-#include <odp/cpu.h>
-#include <odp/pool.h>
+#include <odp/api/cpu.h>
+#include <odp/api/pool.h>
 #include <odp_pool_internal.h>
-#include <odp/debug.h>
+#include <odp/api/debug.h>
 #include <odp_debug_internal.h>
-#include <odp/event.h>
-#include <odp/hints.h>
+#include <odp/api/event.h>
+#include <odp/api/hints.h>
 #include <odp_internal.h>
-#include <odp/queue.h>
-#include <odp/shared_memory.h>
-#include <odp/spinlock.h>
-#include <odp/std_types.h>
-#include <odp/sync.h>
-#include <odp/time.h>
-#include <odp/timer.h>
+#include <odp/api/queue.h>
+#include <odp/api/shared_memory.h>
+#include <odp/api/spinlock.h>
+#include <odp/api/std_types.h>
+#include <odp/api/sync.h>
+#include <odp/api/time.h>
+#include <odp/api/timer.h>
 #include <odp_timer_internal.h>
 
 #define TMO_UNUSED   ((uint64_t)0xFFFFFFFFFFFFFFFF)
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index 6179568..9c56c9b 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -14,7 +14,7 @@ 
 #include <sys/stat.h>
 #include <unistd.h>
 #include <pthread.h>
-#include <odp/std_types.h>
+#include <odp/api/std_types.h>
 #include <odp_traffic_mngr_internal.h>
 
 /* Local vars */
diff --git a/platform/linux-generic/odp_version.c b/platform/linux-generic/odp_version.c
index b5219d4..7b704d0 100644
--- a/platform/linux-generic/odp_version.c
+++ b/platform/linux-generic/odp_version.c
@@ -4,7 +4,7 @@ 
  * SPDX-License-Identifier:     BSD-3-Clause
  */
 
-#include <odp/version.h>
+#include <odp/api/version.h>
 
 const char *odp_version_api_str(void)
 {
diff --git a/platform/linux-generic/odp_weak.c b/platform/linux-generic/odp_weak.c
index 21fb5ed..0fbf664 100644
--- a/platform/linux-generic/odp_weak.c
+++ b/platform/linux-generic/odp_weak.c
@@ -5,9 +5,9 @@ 
  */
 
 #include <odp_internal.h>
-#include <odp/debug.h>
+#include <odp/api/debug.h>
 #include <odp_debug_internal.h>
-#include <odp/hints.h>
+#include <odp/api/hints.h>
 
 #include <stdarg.h>
 
diff --git a/platform/linux-generic/pktio/loop.c b/platform/linux-generic/pktio/loop.c
index e8203ff..340e106 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -10,7 +10,7 @@ 
 #include <odp_packet_io_internal.h>
 #include <odp_classification_internal.h>
 #include <odp_debug_internal.h>
-#include <odp/hints.h>
+#include <odp/api/hints.h>
 
 #include <odp/helper/eth.h>
 #include <odp/helper/ip.h>
diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c
index ed338c2..9c5be22 100644
--- a/platform/linux-generic/pktio/socket.c
+++ b/platform/linux-generic/pktio/socket.c
@@ -41,7 +41,7 @@ 
 #include <odp_classification_datamodel.h>
 #include <odp_classification_inlines.h>
 #include <odp_classification_internal.h>
-#include <odp/hints.h>
+#include <odp/api/hints.h>
 
 #include <odp/helper/eth.h>
 #include <odp/helper/ip.h>
diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c
index 07fbee6..887fccc 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -30,7 +30,7 @@ 
 #include <odp_classification_datamodel.h>
 #include <odp_classification_inlines.h>
 #include <odp_classification_internal.h>
-#include <odp/hints.h>
+#include <odp/api/hints.h>
 
 #include <odp/helper/eth.h>
 #include <odp/helper/ip.h>
diff --git a/test/validation/system/system.c b/test/validation/system/system.c
index ac34b24..de953f0 100644
--- a/test/validation/system/system.c
+++ b/test/validation/system/system.c
@@ -6,7 +6,7 @@ 
 
 #include <ctype.h>
 #include <odp.h>
-#include <odp/cpumask.h>
+#include <odp/api/cpumask.h>
 #include "odp_cunit_common.h"
 #include "test_debug.h"
 #include "system.h"