diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
index 78ea4da..4c085b0 100644
--- a/include/mbedtls/ssl.h
+++ b/include/mbedtls/ssl.h
@@ -2724,7 +2724,8 @@
  *
  * \return         The address of the session-id buffer.
  */
-static inline const unsigned char[32]* mbedtls_ssl_session_get_id(const mbedtls_ssl_session *session)
+static inline unsigned const char (*mbedtls_ssl_session_get_id(const mbedtls_ssl_session *
+                                                               session))[32]
 {
     return &session->MBEDTLS_PRIVATE(id);
 }
@@ -2736,7 +2737,7 @@
  *
  * \return         size_t size of session-id buffer.
  */
-static inline const size_t mbedtls_ssl_session_get_id_len(const mbedtls_ssl_session *session)
+static inline size_t mbedtls_ssl_session_get_id_len(const mbedtls_ssl_session *session)
 {
     return session->MBEDTLS_PRIVATE(id_len);
 }
diff --git a/include/mbedtls/ssl_ciphersuites.h b/include/mbedtls/ssl_ciphersuites.h
index f755ef3..01865b6 100644
--- a/include/mbedtls/ssl_ciphersuites.h
+++ b/include/mbedtls/ssl_ciphersuites.h
@@ -468,6 +468,11 @@
     return info->MBEDTLS_PRIVATE(name);
 }
 
+static inline const int mbedtls_ssl_ciphersuite_get_id(const mbedtls_ssl_ciphersuite_t *info)
+{
+    return info->MBEDTLS_PRIVATE(id);
+}
+
 size_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t *info);
 
 #ifdef __cplusplus
