diff --git a/configure.ac b/configure.ac
index 7fac27a8d..a6e2f595a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1080,7 +1080,7 @@ AC_CONFIG_FILES([
Makefile
include/Makefile
include/openthread/Makefile
-include/platform/Makefile
+include/openthread/platform/Makefile
src/Makefile
src/cli/Makefile
src/ncp/Makefile
diff --git a/etc/visual-studio/libopenthread_k.vcxproj b/etc/visual-studio/libopenthread_k.vcxproj
index ba259acd6..3efb46e3d 100644
--- a/etc/visual-studio/libopenthread_k.vcxproj
+++ b/etc/visual-studio/libopenthread_k.vcxproj
@@ -57,7 +57,7 @@
4100;4706;4748;%(DisableSpecificWarnings)
true
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
-km %(WppAdditionalOptions)
otCore
WPP_INIT_TRACING
diff --git a/etc/visual-studio/otApi.vcxproj b/etc/visual-studio/otApi.vcxproj
index fb7f10050..f051e2117 100644
--- a/etc/visual-studio/otApi.vcxproj
+++ b/etc/visual-studio/otApi.vcxproj
@@ -49,7 +49,7 @@
..\..\include;
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
otApi
true
Sync
diff --git a/etc/visual-studio/otLwf.vcxproj b/etc/visual-studio/otLwf.vcxproj
index fffb5ad27..4811f0a7d 100644
--- a/etc/visual-studio/otLwf.vcxproj
+++ b/etc/visual-studio/otLwf.vcxproj
@@ -60,7 +60,7 @@
precomp.h
Use
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
-km %(WppAdditionalOptions)
otLwf
WPP_INIT_TRACING
diff --git a/etc/visual-studio/otNodeApi.vcxproj b/etc/visual-studio/otNodeApi.vcxproj
index ec3f11940..d918a4b68 100644
--- a/etc/visual-studio/otNodeApi.vcxproj
+++ b/etc/visual-studio/otNodeApi.vcxproj
@@ -48,7 +48,7 @@
Level3
true
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
otNodeApi
true
Sync
diff --git a/etc/visual-studio/ottmp.vcxproj b/etc/visual-studio/ottmp.vcxproj
index 2ca62f1ad..7d0a8eb5c 100644
--- a/etc/visual-studio/ottmp.vcxproj
+++ b/etc/visual-studio/ottmp.vcxproj
@@ -50,7 +50,7 @@
true
%(DisableSpecificWarnings);4200;4201;4214
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
-km %(WppAdditionalOptions)
ottmp
WPP_INIT_TRACING
diff --git a/etc/visual-studio/spinel_k.vcxproj b/etc/visual-studio/spinel_k.vcxproj
index b9d207a63..3d350d4bd 100644
--- a/etc/visual-studio/spinel_k.vcxproj
+++ b/etc/visual-studio/spinel_k.vcxproj
@@ -50,7 +50,7 @@
4100;4706;4748;%(DisableSpecificWarnings)
true
true
- ..\..\include\platform\logging-windows.h
+ ..\..\include\openthread\platform\logging-windows.h
-km %(WppAdditionalOptions)
otCore
WPP_INIT_TRACING
diff --git a/examples/apps/cli/main.c b/examples/apps/cli/main.c
index 25f7683ed..d9fb87c71 100644
--- a/examples/apps/cli/main.c
+++ b/examples/apps/cli/main.c
@@ -34,11 +34,10 @@
#include "openthread/openthread.h"
#include "openthread/cli.h"
+#include "openthread/platform/platform.h"
#include
#include
-#include
-#include
#include
#ifdef OPENTHREAD_MULTIPLE_INSTANCE
diff --git a/examples/apps/ncp/main.c b/examples/apps/ncp/main.c
index e17b23686..a15416c26 100644
--- a/examples/apps/ncp/main.c
+++ b/examples/apps/ncp/main.c
@@ -34,12 +34,11 @@
#include "openthread/openthread.h"
#include "openthread/ncp.h"
+#include "openthread/platform/platform.h"
#include
#include
-#include
#include
-#include
#ifdef OPENTHREAD_MULTIPLE_INSTANCE
void *otPlatCAlloc(size_t aNum, size_t aSize)
diff --git a/examples/drivers/windows/otApi/precomp.h b/examples/drivers/windows/otApi/precomp.h
index f82c0d8b7..25627c556 100644
--- a/examples/drivers/windows/otApi/precomp.h
+++ b/examples/drivers/windows/otApi/precomp.h
@@ -24,7 +24,7 @@
#include
#include
#include
-#include
+#include
#include
#include
diff --git a/examples/drivers/windows/otCli/main.cpp b/examples/drivers/windows/otCli/main.cpp
index dfe2566dc..6c869c24b 100644
--- a/examples/drivers/windows/otCli/main.cpp
+++ b/examples/drivers/windows/otCli/main.cpp
@@ -31,7 +31,7 @@
#include
#include
-#include
+#include
bool skipNextLine = false;
diff --git a/examples/drivers/windows/otLwf/precomp.h b/examples/drivers/windows/otLwf/precomp.h
index abc996e64..a5831e2d3 100644
--- a/examples/drivers/windows/otLwf/precomp.h
+++ b/examples/drivers/windows/otLwf/precomp.h
@@ -70,12 +70,12 @@ RtlCopyBufferToMdl(
#include
#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
+#include
#include
#include
diff --git a/examples/drivers/windows/otNodeApi/precomp.h b/examples/drivers/windows/otNodeApi/precomp.h
index 3866643ff..3acf1b247 100644
--- a/examples/drivers/windows/otNodeApi/precomp.h
+++ b/examples/drivers/windows/otNodeApi/precomp.h
@@ -52,7 +52,7 @@ using namespace std;
#include
#include
#include
-#include
+#include
#include
void Unload();
diff --git a/examples/drivers/windows/ottmp/pch.hpp b/examples/drivers/windows/ottmp/pch.hpp
index 9f3af0e82..4c791670d 100644
--- a/examples/drivers/windows/ottmp/pch.hpp
+++ b/examples/drivers/windows/ottmp/pch.hpp
@@ -71,4 +71,4 @@ typedef struct _OTTMP_DEVICE_CONTEXT *POTTMP_DEVICE_CONTEXT;
#include "device.hpp"
#include "serial.hpp"
#include "oid.hpp"
-#include "platform/logging-windows.h"
+#include "openthread/platform/logging-windows.h"
diff --git a/examples/platforms/cc2538/alarm.c b/examples/platforms/cc2538/alarm.c
index 0c5db1ffd..e0a3a5716 100644
--- a/examples/platforms/cc2538/alarm.c
+++ b/examples/platforms/cc2538/alarm.c
@@ -37,10 +37,9 @@
#include
#include "openthread/openthread.h"
-
-#include
-#include
-#include
+#include "openthread/platform/platform.h"
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/diag.h"
#include "platform-cc2538.h"
enum
diff --git a/examples/platforms/cc2538/diag.c b/examples/platforms/cc2538/diag.c
index ef467e525..4bb787c0e 100644
--- a/examples/platforms/cc2538/diag.c
+++ b/examples/platforms/cc2538/diag.c
@@ -34,8 +34,8 @@
#include
#include "openthread/openthread.h"
-#include
-#include
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/radio.h"
#include "platform-cc2538.h"
/**
diff --git a/examples/platforms/cc2538/flash.c b/examples/platforms/cc2538/flash.c
index 49632550d..33dac72bd 100644
--- a/examples/platforms/cc2538/flash.c
+++ b/examples/platforms/cc2538/flash.c
@@ -32,7 +32,7 @@
#include
#include
-#include
+#include "openthread/platform/alarm.h"
#include
#include
diff --git a/examples/platforms/cc2538/misc.c b/examples/platforms/cc2538/misc.c
index 3d8a5d5eb..e957e10e5 100644
--- a/examples/platforms/cc2538/misc.c
+++ b/examples/platforms/cc2538/misc.c
@@ -27,7 +27,7 @@
*/
#include "openthread/types.h"
-#include
+#include "openthread/platform/misc.h"
#include "platform-cc2538.h"
void otPlatReset(otInstance *aInstance)
diff --git a/examples/platforms/cc2538/radio.c b/examples/platforms/cc2538/radio.c
index 57ebe7b5b..723fb5007 100644
--- a/examples/platforms/cc2538/radio.c
+++ b/examples/platforms/cc2538/radio.c
@@ -32,14 +32,15 @@
*
*/
-#include "openthread/openthread.h"
#include
+#include "openthread/openthread.h"
+#include "openthread/platform/platform.h"
+#include "openthread/platform/radio.h"
+#include "openthread/platform/diag.h"
+
#include
-#include
#include
-#include
-#include
#include "platform-cc2538.h"
enum
diff --git a/examples/platforms/cc2538/random.c b/examples/platforms/cc2538/random.c
index 7651fb888..4fe262af0 100644
--- a/examples/platforms/cc2538/random.c
+++ b/examples/platforms/cc2538/random.c
@@ -33,10 +33,10 @@
*/
#include "openthread/types.h"
+#include "openthread/platform/radio.h"
+#include "openthread/platform/random.h"
#include
-#include
-#include
#include "platform-cc2538.h"
static void generateRandom(uint16_t aInputLength, uint8_t *aOutput, uint16_t *aOutputLength)
diff --git a/examples/platforms/cc2538/uart.c b/examples/platforms/cc2538/uart.c
index 8d205ddb7..9c00d2ef3 100644
--- a/examples/platforms/cc2538/uart.c
+++ b/examples/platforms/cc2538/uart.c
@@ -35,9 +35,9 @@
#include
#include "openthread/types.h"
+#include "openthread/platform/uart.h"
#include
-#include
#include "platform-cc2538.h"
enum
diff --git a/examples/platforms/cc2650/alarm.c b/examples/platforms/cc2650/alarm.c
index ba43dd6ae..adffe9c59 100644
--- a/examples/platforms/cc2650/alarm.c
+++ b/examples/platforms/cc2650/alarm.c
@@ -31,8 +31,8 @@
#include
#include
-#include
-#include
+#include
+#include
/**
* /NOTE: we could use systick, but that would sacrifice atleast a few ops
diff --git a/examples/platforms/cc2650/crypto/cc2650-mbedtls-config.h b/examples/platforms/cc2650/crypto/cc2650-mbedtls-config.h
index c43ef4934..510f3268f 100644
--- a/examples/platforms/cc2650/crypto/cc2650-mbedtls-config.h
+++ b/examples/platforms/cc2650/crypto/cc2650-mbedtls-config.h
@@ -32,7 +32,7 @@
#include
#include
-#include
+#include
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
#define _CRT_SECURE_NO_DEPRECATE 1
diff --git a/examples/platforms/cc2650/diag.c b/examples/platforms/cc2650/diag.c
index a3324b05b..30ee896f9 100644
--- a/examples/platforms/cc2650/diag.c
+++ b/examples/platforms/cc2650/diag.c
@@ -29,7 +29,7 @@
#include
#include
#include
-#include
+#include
/**
diff --git a/examples/platforms/cc2650/misc.c b/examples/platforms/cc2650/misc.c
index 06fa4a3ff..16a269a37 100644
--- a/examples/platforms/cc2650/misc.c
+++ b/examples/platforms/cc2650/misc.c
@@ -27,7 +27,7 @@
*/
#include
-#include
+#include
#include
/**
diff --git a/examples/platforms/cc2650/radio.c b/examples/platforms/cc2650/radio.c
index ad71fa140..3c847896c 100644
--- a/examples/platforms/cc2650/radio.c
+++ b/examples/platforms/cc2650/radio.c
@@ -31,8 +31,8 @@
#include
#include
#include "cc2650_radio.h"
-#include
-#include /* to seed the CSMA-CA funciton */
+#include
+#include /* to seed the CSMA-CA funciton */
#include
#include
diff --git a/examples/platforms/cc2650/random.c b/examples/platforms/cc2650/random.c
index 43ab4a269..ff8ce32ee 100644
--- a/examples/platforms/cc2650/random.c
+++ b/examples/platforms/cc2650/random.c
@@ -32,7 +32,7 @@
#include
#include
-#include
+#include
#include
diff --git a/examples/platforms/cc2650/uart.c b/examples/platforms/cc2650/uart.c
index ab4f38d2d..eb04575da 100644
--- a/examples/platforms/cc2650/uart.c
+++ b/examples/platforms/cc2650/uart.c
@@ -35,7 +35,7 @@
#include
#include
-#include
+#include
/**
* \note this will configure the uart for 115200 baud 8-N-1, no HW flow control
diff --git a/examples/platforms/da15000/alarm.c b/examples/platforms/da15000/alarm.c
index 141ec18b9..aed477c5c 100644
--- a/examples/platforms/da15000/alarm.c
+++ b/examples/platforms/da15000/alarm.c
@@ -33,7 +33,7 @@
#include
#include
-#include
+#include "openthread/platform/alarm.h"
#include "hw_timer0.h"
#include "hw_gpio.h"
#include "platform-da15000.h"
diff --git a/examples/platforms/da15000/flash.c b/examples/platforms/da15000/flash.c
index 4ba690829..45563a214 100644
--- a/examples/platforms/da15000/flash.c
+++ b/examples/platforms/da15000/flash.c
@@ -26,12 +26,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-
#include "openthread/types.h"
+#include "openthread/platform/alarm.h"
#include "hw_qspi.h"
#include "qspi_automode.h"
-#include "platform/alarm.h"
#include "openthread-config.h"
#define FLASH_SECTOR_SIZE 0x1000
diff --git a/examples/platforms/da15000/logging.c b/examples/platforms/da15000/logging.c
index 19698ebbe..8d3bddcdd 100644
--- a/examples/platforms/da15000/logging.c
+++ b/examples/platforms/da15000/logging.c
@@ -31,7 +31,7 @@
* Platform abstraction for the logging
*
*/
-#include
+#include "openthread/platform/logging.h"
void otPlatLog(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, ...)
{
diff --git a/examples/platforms/da15000/misc.c b/examples/platforms/da15000/misc.c
index f10b9eee7..8859fbf47 100755
--- a/examples/platforms/da15000/misc.c
+++ b/examples/platforms/da15000/misc.c
@@ -28,7 +28,7 @@
#include "openthread/types.h"
-#include "platform/misc.h"
+#include "openthread/platform/misc.h"
#include "sdk_defs.h"
void otPlatReset(otInstance *aInstance)
diff --git a/examples/platforms/da15000/platform.c b/examples/platforms/da15000/platform.c
index af5f75a98..3323eb08b 100644
--- a/examples/platforms/da15000/platform.c
+++ b/examples/platforms/da15000/platform.c
@@ -35,7 +35,8 @@
#include
#include "openthread/openthread.h"
-#include "platform/alarm.h"
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/uart.h"
#include "platform-da15000.h"
#include "sdk_defs.h"
#include "hw_cpm.h"
diff --git a/examples/platforms/da15000/radio.c b/examples/platforms/da15000/radio.c
index 5d82a2c05..4ffbbf903 100644
--- a/examples/platforms/da15000/radio.c
+++ b/examples/platforms/da15000/radio.c
@@ -32,8 +32,9 @@
*/
#include
-#include
-#include
+#include "openthread/openthread.h"
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/radio.h"
#include "platform-da15000.h"
#include
diff --git a/examples/platforms/da15000/random.c b/examples/platforms/da15000/random.c
index 129beb517..728025f72 100644
--- a/examples/platforms/da15000/random.c
+++ b/examples/platforms/da15000/random.c
@@ -34,7 +34,7 @@
* This implementation is not a true random number generator and does @em satisfy the Thread requirements.
*/
-#include
+#include "openthread/platform/random.h"
#include "platform-da15000.h"
#include "sdk_defs.h"
#include "hw_trng.h"
diff --git a/examples/platforms/da15000/uart.c b/examples/platforms/da15000/uart.c
index 4476dc29c..e35d6a0f3 100644
--- a/examples/platforms/da15000/uart.c
+++ b/examples/platforms/da15000/uart.c
@@ -32,8 +32,9 @@
#include
#include
+#include "openthread/platform/uart.h"
+
#include
-#include
#include "hw_gpio.h"
#include "platform-da15000.h"
diff --git a/examples/platforms/nrf52840/alarm.c b/examples/platforms/nrf52840/alarm.c
index 8a7a03a1f..4993b607a 100644
--- a/examples/platforms/nrf52840/alarm.c
+++ b/examples/platforms/nrf52840/alarm.c
@@ -37,9 +37,9 @@
#include
#include
-#include
-#include
-#include
+#include
+#include
+#include
#include "platform-config.h"
#include "cmsis/cmsis_gcc.h"
diff --git a/examples/platforms/nrf52840/diag.c b/examples/platforms/nrf52840/diag.c
index 60ece6868..5c5f140af 100644
--- a/examples/platforms/nrf52840/diag.c
+++ b/examples/platforms/nrf52840/diag.c
@@ -32,9 +32,9 @@
#include
#include
-#include
-#include
-#include
+#include
+#include
+#include
#include
#include
diff --git a/examples/platforms/nrf52840/flash.c b/examples/platforms/nrf52840/flash.c
index b9a1d2765..bb46b1174 100644
--- a/examples/platforms/nrf52840/flash.c
+++ b/examples/platforms/nrf52840/flash.c
@@ -32,7 +32,7 @@
#include
#include
-#include
+#include
#include
#include "hal/nrf_nvmc.h"
diff --git a/examples/platforms/nrf52840/logging.c b/examples/platforms/nrf52840/logging.c
index 1897139ed..a6196e42c 100644
--- a/examples/platforms/nrf52840/logging.c
+++ b/examples/platforms/nrf52840/logging.c
@@ -35,8 +35,8 @@
#include
#include
-#include
-#include
+#include
+#include
#include
#include "platform-nrf5.h"
diff --git a/examples/platforms/nrf52840/misc.c b/examples/platforms/nrf52840/misc.c
index 1d14c0970..61a4ff83d 100644
--- a/examples/platforms/nrf52840/misc.c
+++ b/examples/platforms/nrf52840/misc.c
@@ -27,7 +27,7 @@
*/
#include
-#include
+#include
#include "device/nrf.h"
diff --git a/examples/platforms/nrf52840/platform.c b/examples/platforms/nrf52840/platform.c
index 01cccc3f2..f9fc5fbdd 100644
--- a/examples/platforms/nrf52840/platform.c
+++ b/examples/platforms/nrf52840/platform.c
@@ -32,7 +32,7 @@
*
*/
-#include
+#include
#include "drivers/nrf_drv_clock.h"
#include "platform-nrf5.h"
diff --git a/examples/platforms/nrf52840/radio.c b/examples/platforms/nrf52840/radio.c
index 28968ce78..ca0d52b40 100644
--- a/examples/platforms/nrf52840/radio.c
+++ b/examples/platforms/nrf52840/radio.c
@@ -40,9 +40,9 @@
#include
#include
-#include
-#include
-#include
+#include
+#include
+#include
#include "device/nrf.h"
#include "drivers/nrf_drv_radio802154.h"
diff --git a/examples/platforms/nrf52840/random.c b/examples/platforms/nrf52840/random.c
index 843e3b372..cbf852eb1 100644
--- a/examples/platforms/nrf52840/random.c
+++ b/examples/platforms/nrf52840/random.c
@@ -36,7 +36,7 @@
#include
#include
-#include
+#include
#include
#include "hal/nrf_rng.h"
diff --git a/examples/platforms/nrf52840/uart.c b/examples/platforms/nrf52840/uart.c
index 038b0940a..9176de192 100644
--- a/examples/platforms/nrf52840/uart.c
+++ b/examples/platforms/nrf52840/uart.c
@@ -36,7 +36,7 @@
#include
#include
-#include
+#include
#include
#include "drivers/nrf_drv_clock.h"
diff --git a/examples/platforms/posix/alarm.c b/examples/platforms/posix/alarm.c
index bdfc68889..d936925d4 100644
--- a/examples/platforms/posix/alarm.c
+++ b/examples/platforms/posix/alarm.c
@@ -32,8 +32,8 @@
#include
#include
-#include
-#include
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/diag.h"
static bool s_is_running = false;
static uint32_t s_alarm = 0;
diff --git a/examples/platforms/posix/diag.c b/examples/platforms/posix/diag.c
index 9832390b5..e7d1a47dd 100644
--- a/examples/platforms/posix/diag.c
+++ b/examples/platforms/posix/diag.c
@@ -36,8 +36,8 @@
#include
#include "openthread/openthread.h"
-#include
-#include
+#include "openthread/platform/alarm.h"
+#include "openthread/platform/radio.h"
/**
* Diagnostics mode variables.
diff --git a/examples/platforms/posix/logging.c b/examples/platforms/posix/logging.c
index 20bd3598d..9c543a8c5 100644
--- a/examples/platforms/posix/logging.c
+++ b/examples/platforms/posix/logging.c
@@ -39,7 +39,7 @@
#include
#endif
-#include
+#include "openthread/platform/logging.h"
// Macro to append content to end of the log string.
diff --git a/examples/platforms/posix/misc.c b/examples/platforms/posix/misc.c
index 955bade0d..4201f1357 100644
--- a/examples/platforms/posix/misc.c
+++ b/examples/platforms/posix/misc.c
@@ -29,8 +29,7 @@
#include "platform-posix.h"
#include "openthread/types.h"
-
-#include
+#include "openthread/platform/misc.h"
void otPlatReset(otInstance *aInstance)
{
diff --git a/examples/platforms/posix/platform.c b/examples/platforms/posix/platform.c
index 9fe8697bd..f79f0b166 100644
--- a/examples/platforms/posix/platform.c
+++ b/examples/platforms/posix/platform.c
@@ -48,7 +48,7 @@
#include "openthread/openthread.h"
#include "openthread/tasklet.h"
-#include
+#include "openthread/platform/alarm.h"
uint32_t NODE_ID = 1;
uint32_t WELLKNOWN_NODE_ID = 34;
diff --git a/examples/platforms/posix/radio.c b/examples/platforms/posix/radio.c
index 9d082dd11..16b3e7c2e 100644
--- a/examples/platforms/posix/radio.c
+++ b/examples/platforms/posix/radio.c
@@ -28,8 +28,8 @@
#include "platform-posix.h"
-#include
-#include
+#include "openthread/platform/diag.h"
+#include "openthread/platform/radio.h"
enum
{
diff --git a/examples/platforms/posix/random.c b/examples/platforms/posix/random.c
index cbf28b396..6fd55945a 100644
--- a/examples/platforms/posix/random.c
+++ b/examples/platforms/posix/random.c
@@ -37,9 +37,9 @@
#include "platform-posix.h"
#include "openthread/types.h"
+#include "openthread/platform/random.h"
#include
-#include
static uint32_t s_state = 1;
diff --git a/examples/platforms/posix/spi-stubs.c b/examples/platforms/posix/spi-stubs.c
index 96ba5bc23..0fcdb49b4 100644
--- a/examples/platforms/posix/spi-stubs.c
+++ b/examples/platforms/posix/spi-stubs.c
@@ -30,8 +30,9 @@
#include
#include
-#include
-#include
+
+#include "openthread/platform/uart.h"
+#include "openthread/platform/spi-slave.h"
// Spi-slave stubs
diff --git a/examples/platforms/posix/uart-posix.c b/examples/platforms/posix/uart-posix.c
index c9b1805c5..0699dbf40 100644
--- a/examples/platforms/posix/uart-posix.c
+++ b/examples/platforms/posix/uart-posix.c
@@ -38,8 +38,9 @@
#include
#include
+#include "openthread/platform/uart.h"
+
#include
-#include
#ifdef OPENTHREAD_TARGET_LINUX
#include
diff --git a/examples/platforms/posix/uart-windows.c b/examples/platforms/posix/uart-windows.c
index 6152f1796..644185829 100644
--- a/examples/platforms/posix/uart-windows.c
+++ b/examples/platforms/posix/uart-windows.c
@@ -28,7 +28,7 @@
#include "platform-posix.h"
-#include
+#include "openthread/platform/uart.h"
static HANDLE s_WorkerThread;
static HANDLE s_StopWorkerEvent;
diff --git a/examples/platforms/utils/settings.cpp b/examples/platforms/utils/settings.cpp
index 73e45fd76..5563078ba 100644
--- a/examples/platforms/utils/settings.cpp
+++ b/examples/platforms/utils/settings.cpp
@@ -40,9 +40,9 @@
#include
#include "openthread/types.h"
+#include "openthread/platform/settings.h"
#include
-#include
#include "flash.h"
diff --git a/include/Makefile.am b/include/Makefile.am
index 8f520893a..d29065558 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -32,21 +32,18 @@ include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
DIST_SUBDIRS = \
openthread \
- platform \
$(NULL)
# Always build (e.g. for 'make all') these subdirectories.
SUBDIRS = \
openthread \
- platform \
$(NULL)
# Always pretty (e.g. for 'make pretty') these subdirectories.
PRETTY_SUBDIRS = \
openthread \
- platform \
$(NULL)
include_HEADERS = \
diff --git a/include/openthread/Makefile.am b/include/openthread/Makefile.am
index 10b7e20e1..0453cbdb5 100644
--- a/include/openthread/Makefile.am
+++ b/include/openthread/Makefile.am
@@ -28,6 +28,24 @@
include $(abs_top_nlbuild_autotools_dir)/automake/pre.am
+# Always package (e.g. for 'make dist') these subdirectories.
+
+DIST_SUBDIRS = \
+ platform \
+ $(NULL)
+
+# Always build (e.g. for 'make all') these subdirectories.
+
+SUBDIRS = \
+ platform \
+ $(NULL)
+
+# Always pretty (e.g. for 'make pretty') these subdirectories.
+
+PRETTY_SUBDIRS = \
+ platform \
+ $(NULL)
+
openthread_headers = \
cli.h \
coap.h \
diff --git a/include/openthread/commissioner.h b/include/openthread/commissioner.h
index 0b6bcfe93..5524ac6a2 100644
--- a/include/openthread/commissioner.h
+++ b/include/openthread/commissioner.h
@@ -36,7 +36,7 @@
#define OPENTHREAD_COMMISSIONER_H_
#include "openthread/types.h"
-#include
+#include "openthread/platform/toolchain.h"
#ifdef __cplusplus
extern "C" {
diff --git a/include/openthread/joiner.h b/include/openthread/joiner.h
index c765e267f..746be1686 100644
--- a/include/openthread/joiner.h
+++ b/include/openthread/joiner.h
@@ -36,7 +36,7 @@
#define OPENTHREAD_JOINER_H_
#include "openthread/types.h"
-#include
+#include "openthread/platform/toolchain.h"
#ifdef __cplusplus
extern "C" {
diff --git a/include/platform/Makefile.am b/include/openthread/platform/Makefile.am
similarity index 97%
rename from include/platform/Makefile.am
rename to include/openthread/platform/Makefile.am
index 0921d4e44..dda796790 100644
--- a/include/platform/Makefile.am
+++ b/include/openthread/platform/Makefile.am
@@ -45,7 +45,7 @@ ot_platform_headers =\
usec-alarm.h \
$(NULL)
-ot_platformdir = $(includedir)/platform
+ot_platformdir = $(includedir)/openthread/platform
dist_ot_platform_HEADERS = $(ot_platform_headers)
install-headers: install-includeHEADERS
diff --git a/include/platform/alarm.h b/include/openthread/platform/alarm.h
similarity index 100%
rename from include/platform/alarm.h
rename to include/openthread/platform/alarm.h
diff --git a/include/platform/diag.h b/include/openthread/platform/diag.h
similarity index 98%
rename from include/platform/diag.h
rename to include/openthread/platform/diag.h
index e00d21521..051dadd50 100644
--- a/include/platform/diag.h
+++ b/include/openthread/platform/diag.h
@@ -39,7 +39,7 @@
#include
#include
-#include
+#include
#include
diff --git a/include/platform/logging-windows.h b/include/openthread/platform/logging-windows.h
similarity index 100%
rename from include/platform/logging-windows.h
rename to include/openthread/platform/logging-windows.h
diff --git a/include/platform/logging.h b/include/openthread/platform/logging.h
similarity index 100%
rename from include/platform/logging.h
rename to include/openthread/platform/logging.h
diff --git a/include/platform/memory.h b/include/openthread/platform/memory.h
similarity index 100%
rename from include/platform/memory.h
rename to include/openthread/platform/memory.h
diff --git a/include/platform/messagepool.h b/include/openthread/platform/messagepool.h
similarity index 100%
rename from include/platform/messagepool.h
rename to include/openthread/platform/messagepool.h
diff --git a/include/platform/misc.h b/include/openthread/platform/misc.h
similarity index 100%
rename from include/platform/misc.h
rename to include/openthread/platform/misc.h
diff --git a/include/platform/platform.h b/include/openthread/platform/platform.h
similarity index 100%
rename from include/platform/platform.h
rename to include/openthread/platform/platform.h
diff --git a/include/platform/radio.h b/include/openthread/platform/radio.h
similarity index 100%
rename from include/platform/radio.h
rename to include/openthread/platform/radio.h
diff --git a/include/platform/random.h b/include/openthread/platform/random.h
similarity index 100%
rename from include/platform/random.h
rename to include/openthread/platform/random.h
diff --git a/include/platform/settings.h b/include/openthread/platform/settings.h
similarity index 100%
rename from include/platform/settings.h
rename to include/openthread/platform/settings.h
diff --git a/include/platform/spi-slave.h b/include/openthread/platform/spi-slave.h
similarity index 100%
rename from include/platform/spi-slave.h
rename to include/openthread/platform/spi-slave.h
diff --git a/include/platform/toolchain.h b/include/openthread/platform/toolchain.h
similarity index 100%
rename from include/platform/toolchain.h
rename to include/openthread/platform/toolchain.h
diff --git a/include/platform/uart.h b/include/openthread/platform/uart.h
similarity index 100%
rename from include/platform/uart.h
rename to include/openthread/platform/uart.h
diff --git a/include/platform/usec-alarm.h b/include/openthread/platform/usec-alarm.h
similarity index 99%
rename from include/platform/usec-alarm.h
rename to include/openthread/platform/usec-alarm.h
index 438b83cca..139cc80c2 100644
--- a/include/platform/usec-alarm.h
+++ b/include/openthread/platform/usec-alarm.h
@@ -37,7 +37,7 @@
#include
-#include
+#include "openthread/types.h"
#ifdef __cplusplus
extern "C" {
diff --git a/include/openthread/types.h b/include/openthread/types.h
index 182d2a4c2..bc7246267 100644
--- a/include/openthread/types.h
+++ b/include/openthread/types.h
@@ -41,7 +41,7 @@
#include
#endif
-#include
+#include "openthread/platform/toolchain.h"
#ifdef __cplusplus
extern "C" {
diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp
index 1a5510d65..0a167b05a 100644
--- a/src/cli/cli.cpp
+++ b/src/cli/cli.cpp
@@ -58,7 +58,7 @@
#include
#include "openthread/dhcp6_client.h"
#include "openthread/dhcp6_server.h"
-#include
+#include "openthread/platform/uart.h"
#endif
#include
diff --git a/src/cli/cli_uart.cpp b/src/cli/cli_uart.cpp
index 325aaf6e1..ddf7cb3fe 100644
--- a/src/cli/cli_uart.cpp
+++ b/src/cli/cli_uart.cpp
@@ -37,6 +37,8 @@
#include
#include "openthread/cli.h"
+#include "openthread/platform/logging.h"
+#include "openthread/platform/uart.h"
#include
#include
@@ -44,8 +46,6 @@
#include
#include
#include
-#include
-#include
namespace Thread {
namespace Cli {
diff --git a/src/core/api/instance_api.cpp b/src/core/api/instance_api.cpp
index 16b38bb05..808885356 100644
--- a/src/core/api/instance_api.cpp
+++ b/src/core/api/instance_api.cpp
@@ -34,8 +34,8 @@
#define WPP_NAME "instance_api.tmh"
#include "openthread/instance.h"
-#include "platform/misc.h"
-#include "platform/settings.h"
+#include "openthread/platform/misc.h"
+#include "openthread/platform/settings.h"
#include "openthread-instance.h"
diff --git a/src/core/api/link_raw_api.cpp b/src/core/api/link_raw_api.cpp
index 0c876ec6a..7cb10a51d 100644
--- a/src/core/api/link_raw_api.cpp
+++ b/src/core/api/link_raw_api.cpp
@@ -33,8 +33,8 @@
#include
#include
-#include
-#include
+#include "openthread/platform/random.h"
+#include "openthread/platform/usec-alarm.h"
#include "openthread-instance.h"
#ifdef __cplusplus
diff --git a/src/core/api/thread_api.cpp b/src/core/api/thread_api.cpp
index 04c694f93..464fb4a78 100644
--- a/src/core/api/thread_api.cpp
+++ b/src/core/api/thread_api.cpp
@@ -38,7 +38,7 @@
#include "openthread-instance.h"
#include "common/logging.hpp"
#include "common/settings.hpp"
-#include "platform/settings.h"
+#include "openthread/platform/settings.h"
using namespace Thread;
diff --git a/src/core/coap/coap_client.cpp b/src/core/coap/coap_client.cpp
index 68de88aae..a55733bbd 100644
--- a/src/core/coap/coap_client.cpp
+++ b/src/core/coap/coap_client.cpp
@@ -28,12 +28,13 @@
#include
+#include "openthread/platform/random.h"
+
#include
#include
#include
#include
#include
-#include
/**
* @file
diff --git a/src/core/coap/coap_header.cpp b/src/core/coap/coap_header.cpp
index d483e4539..6e72cf9c2 100644
--- a/src/core/coap/coap_header.cpp
+++ b/src/core/coap/coap_header.cpp
@@ -31,12 +31,13 @@
* This file implements the CoAP header generation and parsing.
*/
+#include "openthread/platform/random.h"
+
#include
#include
#include
#include
#include
-#include
namespace Thread {
namespace Coap {
diff --git a/src/core/common/logging.hpp b/src/core/common/logging.hpp
index f3dbd83f6..c6da9b51b 100644
--- a/src/core/common/logging.hpp
+++ b/src/core/common/logging.hpp
@@ -39,13 +39,13 @@
#include
#include
-#include
+#include "openthread/platform/logging.h"
#ifdef WINDOWS_LOGGING
#ifdef _KERNEL_MODE
#include
#endif
-#include
+#include "openthread/platform/logging-windows.h"
#ifdef WPP_NAME
#include WPP_NAME
#endif
diff --git a/src/core/common/message.hpp b/src/core/common/message.hpp
index 7bf411d1d..d6904b2ff 100644
--- a/src/core/common/message.hpp
+++ b/src/core/common/message.hpp
@@ -44,11 +44,11 @@
#include
#include "openthread/message.h"
+#include "openthread/platform/messagepool.h"
#include
#include
#include
-#include
namespace Thread {
diff --git a/src/core/common/new.hpp b/src/core/common/new.hpp
index 07ce7e463..80e45439d 100644
--- a/src/core/common/new.hpp
+++ b/src/core/common/new.hpp
@@ -35,7 +35,8 @@
#define NEW_HPP_
#include
-#include
+
+#include "openthread/platform/toolchain.h"
inline void *operator new(size_t, void *p) throw() { return p; }
diff --git a/src/core/common/timer.cpp b/src/core/common/timer.cpp
index abcebda74..5a0efb861 100644
--- a/src/core/common/timer.cpp
+++ b/src/core/common/timer.cpp
@@ -33,12 +33,13 @@
#define WPP_NAME "timer.tmh"
+#include "openthread/platform/alarm.h"
+
#include
#include
#include
#include