Interface: Split os_wrapper to multiple headers

To enable the ability to optionally install the os_wrapper headers for
different build configurations and make the os_wrapper more clear in
the file structure.
This patch splits the os_wrapper.h to multiple files by modules.

Change-Id: I48ad677f745fdee20a5a9b5e366e862d7b7dc58e
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/interface/include/os_wrapper/thread.h b/interface/include/os_wrapper/thread.h
new file mode 100644
index 0000000..cfd2e13
--- /dev/null
+++ b/interface/include/os_wrapper/thread.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2017-2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __OS_WRAPPER_THREAD_H__
+#define __OS_WRAPPER_THREAD_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "common.h"
+
+/* prototype for the thread entry function */
+typedef void (*os_wrapper_thread_func) (void *argument);
+
+/**
+ * \brief Creates a new thread
+ *
+ * \param[in] name        Name of the thread
+ * \param[in] stack_size  Size of stack to be allocated for this thread. It can
+ *                        be \ref OS_WRAPPER_DEFAULT_STACK_SIZE to use the
+ *                        default value provided by the underlying RTOS
+ * \param[in] func        Pointer to the function invoked by thread
+ * \param[in] arg         Argument to pass to the function invoked by thread
+ * \param[in] priority    Initial thread priority
+ *
+ * \return Returns thread ID, or \ref OS_WRAPPER_ERROR in case of error
+ */
+uint32_t os_wrapper_thread_new(const char *name, int32_t stack_size,
+                               os_wrapper_thread_func func, void *arg,
+                               uint32_t priority);
+/**
+ * \brief Gets current thread ID
+ *
+ * \return Returns thread ID, or \ref OS_WRAPPER_ERROR in case of error
+ */
+uint32_t os_wrapper_thread_get_id(void);
+
+/**
+ * \brief Gets thread priority
+ *
+ * \param[in] id Thread ID
+ *
+ * \return Returns thread priority value, or \ref OS_WRAPPER_ERROR in case of
+ *         error
+ */
+uint32_t os_wrapper_thread_get_priority(uint32_t id);
+
+/**
+ * \brief Exits the calling thread
+ */
+void os_wrapper_thread_exit(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __OS_WRAPPER_THREAD_H__ */