diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg
index b3a033d..939b237 100644
--- a/doc/doxygen.cfg
+++ b/doc/doxygen.cfg
@@ -9,7 +9,7 @@ TYPEDEF_HIDES_STRUCT = YES
 EXTRACT_STATIC = YES
 SORT_MEMBER_DOCS = NO
 WARN_NO_PARAMDOC = YES
-INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/include $(SRCDIR)/example
+INPUT = $(SRCDIR)/doc $(SRCDIR)/doc/users-guide $(SRCDIR)/doc/api $(SRCDIR)/platform/linux-generic/include/api $(SRCDIR)/include/helper $(SRCDIR)/example
 FILE_PATTERNS = odp*.h odp*.c *.dox
 RECURSIVE = YES
 SOURCE_BROWSER = YES
diff --git a/platform/linux-dpdk/Makefile.am b/platform/linux-dpdk/Makefile.am
index fb87d41..ff49b7d 100644
--- a/platform/linux-dpdk/Makefile.am
+++ b/platform/linux-dpdk/Makefile.am
@@ -22,35 +22,35 @@ DPDK_LIBS="-lintel_dpdk -ldl"
 LIBS += $(DPDK_LIBS)
 
 include_HEADERS = \
-		  $(top_srcdir)/platform/linux-dpdk/include/api/odp_buffer.h \
-		  $(top_srcdir)/include/odp.h \
-		  $(top_srcdir)/include/odp_align.h \
-		  $(top_srcdir)/include/odp_atomic.h \
-		  $(top_srcdir)/include/odp_barrier.h \
-		  $(top_srcdir)/include/odp_buffer_pool.h \
-		  $(top_srcdir)/include/odp_byteorder.h \
-		  $(top_srcdir)/include/odp_compiler.h \
-		  $(top_srcdir)/include/odp_config.h \
-		  $(top_srcdir)/include/odp_coremask.h \
-		  $(top_srcdir)/include/odp_debug.h \
-		  $(top_srcdir)/include/odp_hints.h \
-		  $(top_srcdir)/include/odp_init.h \
-		  $(top_srcdir)/include/odp_packet_flags.h \
-		  $(top_srcdir)/include/odp_packet.h \
-		  $(top_srcdir)/include/odp_packet_io.h \
-		  $(top_srcdir)/include/odp_queue.h \
-		  $(top_srcdir)/include/odp_rwlock.h \
-		  $(top_srcdir)/include/odp_schedule.h \
-		  $(top_srcdir)/include/odp_shared_memory.h \
-		  $(top_srcdir)/include/odp_spinlock.h \
-		  $(top_srcdir)/include/odp_std_types.h \
-		  $(top_srcdir)/include/odp_sync.h \
-		  $(top_srcdir)/include/odp_system_info.h \
-		  $(top_srcdir)/include/odp_thread.h \
-		  $(top_srcdir)/include/odp_ticketlock.h \
-		  $(top_srcdir)/include/odp_time.h \
-		  $(top_srcdir)/include/odp_timer.h \
-		  $(top_srcdir)/include/odp_version.h
+		  $(srcdir)/include/api/odp_buffer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_align.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_atomic.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_barrier.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_buffer_pool.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_byteorder.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_compiler.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_config.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_coremask.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_debug.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_hints.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_init.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_flags.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_io.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_queue.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_rwlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_schedule.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_shared_memory.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_spinlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_std_types.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_sync.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_system_info.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_thread.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_time.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_timer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_version.h
 
 subdirheadersdir = $(includedir)/helper
 subdirheaders_HEADERS = \
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 41458d8..4bcb0eb 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -6,35 +6,35 @@ AM_CFLAGS +=  -I$(srcdir)/include/api
 AM_CFLAGS +=  -I$(top_srcdir)/include
 
 include_HEADERS = \
-		  $(top_srcdir)/include/odp.h \
-		  $(top_srcdir)/include/odp_align.h \
-		  $(top_srcdir)/include/odp_atomic.h \
-		  $(top_srcdir)/include/odp_barrier.h \
-		  $(top_srcdir)/include/odp_buffer.h \
-		  $(top_srcdir)/include/odp_buffer_pool.h \
-		  $(top_srcdir)/include/odp_byteorder.h \
-		  $(top_srcdir)/include/odp_compiler.h \
-		  $(top_srcdir)/include/odp_config.h \
-		  $(top_srcdir)/include/odp_coremask.h \
-		  $(top_srcdir)/include/odp_debug.h \
-		  $(top_srcdir)/include/odp_hints.h \
-		  $(top_srcdir)/include/odp_init.h \
-		  $(top_srcdir)/include/odp_packet_flags.h \
-		  $(top_srcdir)/include/odp_packet.h \
-		  $(top_srcdir)/include/odp_packet_io.h \
-		  $(top_srcdir)/include/odp_queue.h \
-		  $(top_srcdir)/include/odp_rwlock.h \
-		  $(top_srcdir)/include/odp_schedule.h \
-		  $(top_srcdir)/include/odp_shared_memory.h \
-		  $(top_srcdir)/include/odp_spinlock.h \
-		  $(top_srcdir)/include/odp_std_types.h \
-		  $(top_srcdir)/include/odp_sync.h \
-		  $(top_srcdir)/include/odp_system_info.h \
-		  $(top_srcdir)/include/odp_thread.h \
-		  $(top_srcdir)/include/odp_ticketlock.h \
-		  $(top_srcdir)/include/odp_time.h \
-		  $(top_srcdir)/include/odp_timer.h \
-		  $(top_srcdir)/include/odp_version.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_align.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_atomic.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_barrier.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_buffer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_buffer_pool.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_byteorder.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_compiler.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_config.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_coremask.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_debug.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_hints.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_init.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_flags.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_io.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_queue.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_rwlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_schedule.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_shared_memory.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_spinlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_std_types.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_sync.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_system_info.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_thread.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_time.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_timer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_version.h \
 		  $(top_srcdir)/platform/linux-generic/include/api/odp_pktio_types.h \
 		  $(top_srcdir)/platform/linux-generic/include/api/odp_pktio_netmap.h \
 		  $(top_srcdir)/platform/linux-generic/include/api/odp_pktio_socket.h
diff --git a/include/odp.h b/platform/linux-generic/include/api/odp.h
similarity index 100%
rename from include/odp.h
rename to platform/linux-generic/include/api/odp.h
diff --git a/include/odp_align.h b/platform/linux-generic/include/api/odp_align.h
similarity index 100%
rename from include/odp_align.h
rename to platform/linux-generic/include/api/odp_align.h
diff --git a/include/odp_atomic.h b/platform/linux-generic/include/api/odp_atomic.h
similarity index 100%
rename from include/odp_atomic.h
rename to platform/linux-generic/include/api/odp_atomic.h
diff --git a/include/odp_barrier.h b/platform/linux-generic/include/api/odp_barrier.h
similarity index 100%
rename from include/odp_barrier.h
rename to platform/linux-generic/include/api/odp_barrier.h
diff --git a/include/odp_buffer.h b/platform/linux-generic/include/api/odp_buffer.h
similarity index 100%
rename from include/odp_buffer.h
rename to platform/linux-generic/include/api/odp_buffer.h
diff --git a/include/odp_buffer_pool.h b/platform/linux-generic/include/api/odp_buffer_pool.h
similarity index 100%
rename from include/odp_buffer_pool.h
rename to platform/linux-generic/include/api/odp_buffer_pool.h
diff --git a/include/odp_byteorder.h b/platform/linux-generic/include/api/odp_byteorder.h
similarity index 100%
rename from include/odp_byteorder.h
rename to platform/linux-generic/include/api/odp_byteorder.h
diff --git a/include/odp_compiler.h b/platform/linux-generic/include/api/odp_compiler.h
similarity index 100%
rename from include/odp_compiler.h
rename to platform/linux-generic/include/api/odp_compiler.h
diff --git a/include/odp_config.h b/platform/linux-generic/include/api/odp_config.h
similarity index 100%
rename from include/odp_config.h
rename to platform/linux-generic/include/api/odp_config.h
diff --git a/include/odp_coremask.h b/platform/linux-generic/include/api/odp_coremask.h
similarity index 100%
rename from include/odp_coremask.h
rename to platform/linux-generic/include/api/odp_coremask.h
diff --git a/include/odp_debug.h b/platform/linux-generic/include/api/odp_debug.h
similarity index 100%
rename from include/odp_debug.h
rename to platform/linux-generic/include/api/odp_debug.h
diff --git a/include/odp_hints.h b/platform/linux-generic/include/api/odp_hints.h
similarity index 100%
rename from include/odp_hints.h
rename to platform/linux-generic/include/api/odp_hints.h
diff --git a/include/odp_init.h b/platform/linux-generic/include/api/odp_init.h
similarity index 100%
rename from include/odp_init.h
rename to platform/linux-generic/include/api/odp_init.h
diff --git a/include/odp_packet.h b/platform/linux-generic/include/api/odp_packet.h
similarity index 100%
rename from include/odp_packet.h
rename to platform/linux-generic/include/api/odp_packet.h
diff --git a/include/odp_packet_flags.h b/platform/linux-generic/include/api/odp_packet_flags.h
similarity index 100%
rename from include/odp_packet_flags.h
rename to platform/linux-generic/include/api/odp_packet_flags.h
diff --git a/include/odp_packet_io.h b/platform/linux-generic/include/api/odp_packet_io.h
similarity index 100%
rename from include/odp_packet_io.h
rename to platform/linux-generic/include/api/odp_packet_io.h
diff --git a/include/odp_queue.h b/platform/linux-generic/include/api/odp_queue.h
similarity index 100%
rename from include/odp_queue.h
rename to platform/linux-generic/include/api/odp_queue.h
diff --git a/include/odp_rwlock.h b/platform/linux-generic/include/api/odp_rwlock.h
similarity index 100%
rename from include/odp_rwlock.h
rename to platform/linux-generic/include/api/odp_rwlock.h
diff --git a/include/odp_schedule.h b/platform/linux-generic/include/api/odp_schedule.h
similarity index 100%
rename from include/odp_schedule.h
rename to platform/linux-generic/include/api/odp_schedule.h
diff --git a/include/odp_shared_memory.h b/platform/linux-generic/include/api/odp_shared_memory.h
similarity index 100%
rename from include/odp_shared_memory.h
rename to platform/linux-generic/include/api/odp_shared_memory.h
diff --git a/include/odp_spinlock.h b/platform/linux-generic/include/api/odp_spinlock.h
similarity index 100%
rename from include/odp_spinlock.h
rename to platform/linux-generic/include/api/odp_spinlock.h
diff --git a/include/odp_std_types.h b/platform/linux-generic/include/api/odp_std_types.h
similarity index 100%
rename from include/odp_std_types.h
rename to platform/linux-generic/include/api/odp_std_types.h
diff --git a/include/odp_sync.h b/platform/linux-generic/include/api/odp_sync.h
similarity index 100%
rename from include/odp_sync.h
rename to platform/linux-generic/include/api/odp_sync.h
diff --git a/include/odp_system_info.h b/platform/linux-generic/include/api/odp_system_info.h
similarity index 100%
rename from include/odp_system_info.h
rename to platform/linux-generic/include/api/odp_system_info.h
diff --git a/include/odp_thread.h b/platform/linux-generic/include/api/odp_thread.h
similarity index 100%
rename from include/odp_thread.h
rename to platform/linux-generic/include/api/odp_thread.h
diff --git a/include/odp_ticketlock.h b/platform/linux-generic/include/api/odp_ticketlock.h
similarity index 100%
rename from include/odp_ticketlock.h
rename to platform/linux-generic/include/api/odp_ticketlock.h
diff --git a/include/odp_time.h b/platform/linux-generic/include/api/odp_time.h
similarity index 100%
rename from include/odp_time.h
rename to platform/linux-generic/include/api/odp_time.h
diff --git a/include/odp_timer.h b/platform/linux-generic/include/api/odp_timer.h
similarity index 100%
rename from include/odp_timer.h
rename to platform/linux-generic/include/api/odp_timer.h
diff --git a/include/odp_version.h b/platform/linux-generic/include/api/odp_version.h
similarity index 100%
rename from include/odp_version.h
rename to platform/linux-generic/include/api/odp_version.h
diff --git a/platform/linux-keystone2/Makefile.am b/platform/linux-keystone2/Makefile.am
index b32c539..8e5fbb3 100644
--- a/platform/linux-keystone2/Makefile.am
+++ b/platform/linux-keystone2/Makefile.am
@@ -25,35 +25,35 @@ KS2_LIBS="-lopenem_rh -lopenem_osal"
 LIBS += $(KS2_LIBS)
 
 include_HEADERS = \
-		  $(top_srcdir)/platform/linux-keystone2/include/api/odp_buffer.h \
-		  $(top_srcdir)/include/odp.h \
-		  $(top_srcdir)/include/odp_align.h \
-		  $(top_srcdir)/include/odp_atomic.h \
-		  $(top_srcdir)/include/odp_barrier.h \
-		  $(top_srcdir)/include/odp_buffer_pool.h \
-		  $(top_srcdir)/include/odp_byteorder.h \
-		  $(top_srcdir)/include/odp_compiler.h \
-		  $(top_srcdir)/include/odp_config.h \
-		  $(top_srcdir)/include/odp_coremask.h \
-		  $(top_srcdir)/include/odp_debug.h \
-		  $(top_srcdir)/include/odp_hints.h \
-		  $(top_srcdir)/include/odp_init.h \
-		  $(top_srcdir)/include/odp_packet_flags.h \
-		  $(top_srcdir)/include/odp_packet.h \
-		  $(top_srcdir)/include/odp_packet_io.h \
-		  $(top_srcdir)/include/odp_queue.h \
-		  $(top_srcdir)/include/odp_rwlock.h \
-		  $(top_srcdir)/include/odp_schedule.h \
-		  $(top_srcdir)/include/odp_shared_memory.h \
-		  $(top_srcdir)/include/odp_spinlock.h \
-		  $(top_srcdir)/include/odp_std_types.h \
-		  $(top_srcdir)/include/odp_sync.h \
-		  $(top_srcdir)/include/odp_system_info.h \
-		  $(top_srcdir)/include/odp_thread.h \
-		  $(top_srcdir)/include/odp_ticketlock.h \
-		  $(top_srcdir)/include/odp_time.h \
-		  $(top_srcdir)/include/odp_timer.h \
-		  $(top_srcdir)/include/odp_version.h
+		  $(srcdir)/include/api/odp_buffer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_align.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_atomic.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_barrier.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_buffer_pool.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_byteorder.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_compiler.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_config.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_coremask.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_debug.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_hints.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_init.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_flags.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_packet_io.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_queue.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_rwlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_schedule.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_shared_memory.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_spinlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_std_types.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_sync.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_system_info.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_thread.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_time.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_timer.h \
+		  $(top_srcdir)/platform/linux-generic/include/api/odp_version.h
 
 subdirheadersdir = $(includedir)/helper
 subdirheaders_HEADERS = \
