diff --git a/interface/include/os_wrapper/mutex.h b/interface/include/os_wrapper/mutex.h
index 2bdca0c..e55ef70 100644
--- a/interface/include/os_wrapper/mutex.h
+++ b/interface/include/os_wrapper/mutex.h
@@ -17,16 +17,15 @@
 /**
  * \brief Creates a mutex for mutual exclusion of resources
  *
- * \return The ID of the created mutex on success or \ref OS_WRAPPER_ERROR on
- *         error
+ * \return The handle of the created mutex on success or NULL on error
  */
-uint32_t os_wrapper_mutex_create(void);
+void *os_wrapper_mutex_create(void);
 
 /**
  * \brief Acquires a mutex that is created by \ref os_wrapper_mutex_create()
  *
- * \param[in] mutex_id The ID of the mutex to acquire. Should be one of the IDs
- *                     returned by \ref os_wrapper_mutex_create()
+ * \param[in] handle   The handle of the mutex to acquire. Should be one of the
+ *                     handles returned by \ref os_wrapper_mutex_create()
  * \param[in] timeout  The maximum amount of time(in tick periods) for the
  *                     thread to wait for the mutex to be available.
  *                     If timeout is zero, the function will return immediately.
@@ -35,25 +34,26 @@
  *
  * \return \ref OS_WRAPPER_SUCCESS on success or \ref OS_WRAPPER_ERROR on error
  */
-uint32_t os_wrapper_mutex_acquire(uint32_t mutex_id, uint32_t timeout);
+uint32_t os_wrapper_mutex_acquire(void *handle, uint32_t timeout);
 
 /**
  * \brief Releases the mutex acquired previously
  *
- * \param[in] mutex_id The ID of the mutex that has been acquired
+
+ * \param[in] handle The handle of the mutex that has been acquired
  *
  * \return \ref OS_WRAPPER_SUCCESS on success or \ref OS_WRAPPER_ERROR on error
  */
-uint32_t os_wrapper_mutex_release(uint32_t mutex_id);
+uint32_t os_wrapper_mutex_release(void *handle);
 
 /**
  * \brief Deletes a mutex that is created by \ref os_wrapper_mutex_create()
  *
- * \param[in] mutex_id The ID of the mutex to be deleted
+ * \param[in] handle The handle of the mutex to be deleted
  *
  * \return \ref OS_WRAPPER_SUCCESS on success or \ref OS_WRAPPER_ERROR on error
  */
-uint32_t os_wrapper_mutex_delete(uint32_t mutex_id);
+uint32_t os_wrapper_mutex_delete(void *handle);
 
 #ifdef __cplusplus
 }
