diff --git a/include/mbedtls/x509.h b/include/mbedtls/x509.h
index 57e0727..abd36b8 100644
--- a/include/mbedtls/x509.h
+++ b/include/mbedtls/x509.h
@@ -148,7 +148,7 @@
 
 /*
  * X.509 v3 Key Usage Extension flags
- * Reminder: update x509_info_key_usage() when adding new flags.
+ * Reminder: update mbedtls_x509_info_key_usage() when adding new flags.
  */
 #define MBEDTLS_X509_KU_DIGITAL_SIGNATURE            (0x80)  /* bit 0 */
 #define MBEDTLS_X509_KU_NON_REPUDIATION              (0x40)  /* bit 1 */
@@ -370,23 +370,23 @@
 int mbedtls_x509_write_sig(unsigned char **p, unsigned char *start,
                            const char *oid, size_t oid_len,
                            unsigned char *sig, size_t size);
-int x509_get_ns_cert_type(unsigned char **p,
-                          const unsigned char *end,
-                          unsigned char *ns_cert_type);
-int x509_get_key_usage(unsigned char **p,
-                       const unsigned char *end,
-                       unsigned int *key_usage);
-int x509_get_subject_alt_name(unsigned char **p,
-                              const unsigned char *end,
-                              mbedtls_x509_sequence *subject_alt_name);
-int x509_info_subject_alt_name(char **buf, size_t *size,
-                               const mbedtls_x509_sequence
-                               *subject_alt_name,
-                               const char *prefix);
-int x509_info_cert_type(char **buf, size_t *size,
-                        unsigned char ns_cert_type);
-int x509_info_key_usage(char **buf, size_t *size,
-                        unsigned int key_usage);
+int mbedtls_x509_get_ns_cert_type(unsigned char **p,
+                                  const unsigned char *end,
+                                  unsigned char *ns_cert_type);
+int mbedtls_x509_get_key_usage(unsigned char **p,
+                               const unsigned char *end,
+                               unsigned int *key_usage);
+int mbedtls_x509_get_subject_alt_name(unsigned char **p,
+                                      const unsigned char *end,
+                                      mbedtls_x509_sequence *subject_alt_name);
+int mbedtls_x509_info_subject_alt_name(char **buf, size_t *size,
+                                       const mbedtls_x509_sequence
+                                       *subject_alt_name,
+                                       const char *prefix);
+int mbedtls_x509_info_cert_type(char **buf, size_t *size,
+                                unsigned char ns_cert_type);
+int mbedtls_x509_info_key_usage(char **buf, size_t *size,
+                                unsigned int key_usage);
 
 #define MBEDTLS_X509_SAFE_SNPRINTF                          \
     do {                                                    \
