diff --git a/include/mbedtls/platform.h b/include/mbedtls/platform.h
index b1b019e..a9ff7e4 100644
--- a/include/mbedtls/platform.h
+++ b/include/mbedtls/platform.h
@@ -288,6 +288,51 @@
 #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */
 #endif /* MBEDTLS_ENTROPY_NV_SEED */
 
+#if !defined(MBEDTLS_PLATFORM_SETUP_ALT)
+typedef struct mbedtls_platform_context mbedtls_platform_context;
+#else
+#include "platform_alt.h"
+#endif /* !MBEDTLS_PLATFORM_SETUP_ALT */
+
+/**
+ * \brief   Perform any platform initialisation operations
+ *
+ * \param   ctx     mbed TLS context
+ *
+ * \return  0 if successful
+ *
+ * \note    This function should be called before any other library function
+ */
+int mbedtls_platform_setup( mbedtls_platform_context *ctx );
+/**
+ * \brief   Perform any platform teardown operations
+ *
+ * \param   ctx     mbed TLS context
+ *
+ * \return  0 if successful
+ *
+ * \note    This function should be after every other mbed TLS module has been
+ *          correctly freed using the appropriate free function.
+ */
+void mbedtls_platform_teardown( mbedtls_platform_context *ctx );
+
+/**
+ * \brief   Internal function to perform any platform initialisation operations
+ *          Only exposed to allow overriding it, see MBEDTLS_PLATFORM_SETUP_ALT
+ *
+ * \param   ctx     mbed TLS context
+ *
+ * \return  0 if successful
+ */
+int mbedtls_internal_platform_setup( mbedtls_platform_context *ctx );
+/**
+ * \brief   Internal function to perform any platform teardown operations
+ *          Only exposed to allow overriding it, see MBEDTLS_PLATFORM_SETUP_ALT
+ *
+ * \param   ctx     mbed TLS context
+ */
+void mbedtls_internal_platform_teardown( mbedtls_platform_context *ctx );
+
 #ifdef __cplusplus
 }
 #endif
