diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index 80fd6d9..b85f977 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -134,7 +134,7 @@
                        const unsigned char *input,
                        unsigned char *output );
 
-/*
+/**
  * \brief               AES-CTR buffer encryption/decryption
  *
  * Warning: You have to keep the maximum use of your counter in mind!
diff --git a/include/polarssl/arc4.h b/include/polarssl/arc4.h
index 48ad60b..7233384 100644
--- a/include/polarssl/arc4.h
+++ b/include/polarssl/arc4.h
@@ -66,7 +66,7 @@
 int arc4_crypt( arc4_context *ctx, size_t length, const unsigned char *input,
                 unsigned char *output );
 
-/*
+/**
  * \brief          Checkup routine
  *
  * \return         0 if successful, or 1 if the test failed
diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h
index aed779d..474324a 100644
--- a/include/polarssl/bignum.h
+++ b/include/polarssl/bignum.h
@@ -184,7 +184,7 @@
  */
 int mpi_lset( mpi *X, t_sint z );
 
-/*
+/**
  * \brief          Get a specific bit from X
  *
  * \param X        MPI to use
@@ -194,7 +194,7 @@
  */
 int mpi_get_bit( mpi *X, size_t pos );
 
-/*
+/**
  * \brief          Set a bit of X to a specific value of 0 or 1
  *
  * \note           Will grow X if necessary to set a bit to 1 in a not yet
diff --git a/include/polarssl/camellia.h b/include/polarssl/camellia.h
index b2b1294..f073d46 100644
--- a/include/polarssl/camellia.h
+++ b/include/polarssl/camellia.h
@@ -139,7 +139,7 @@
                        const unsigned char *input,
                        unsigned char *output );
 
-/*
+/**
  * \brief               CAMELLIA-CTR buffer encryption/decryption
  *
  * Warning: You have to keep the maximum use of your counter in mind!
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index ea518d7..6d4aca8 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -606,7 +606,7 @@
  */
 #define POLARSSL_SSL_CLI_C
 
-/*
+/**
  * \def POLARSSL_SSL_SRV_C
  *
  * Enable the SSL/TLS server code.
diff --git a/include/polarssl/des.h b/include/polarssl/des.h
index 653e68b..a6be471 100644
--- a/include/polarssl/des.h
+++ b/include/polarssl/des.h
@@ -213,7 +213,7 @@
                      const unsigned char *input,
                      unsigned char *output );
 
-/*
+/**
  * \brief          Checkup routine
  *
  * \return         0 if successful, or 1 if the test failed
diff --git a/include/polarssl/dhm.h b/include/polarssl/dhm.h
index 0c8dd55..ee491c1 100644
--- a/include/polarssl/dhm.h
+++ b/include/polarssl/dhm.h
@@ -134,7 +134,7 @@
 int dhm_calc_secret( dhm_context *ctx,
                      unsigned char *output, size_t *olen );
 
-/*
+/**
  * \brief          Free the components of a DHM key
  */
 void dhm_free( dhm_context *ctx );
diff --git a/include/polarssl/x509.h b/include/polarssl/x509.h
index cd0dc84..9b07a09 100644
--- a/include/polarssl/x509.h
+++ b/include/polarssl/x509.h
@@ -617,7 +617,7 @@
  */
 const char *x509_oid_get_description( x509_buf *oid );
 
-/*
+/**
  * \brief          Give an OID, return a string version of its OID number.
  *
  * \param buf      Buffer to write to
diff --git a/include/polarssl/xtea.h b/include/polarssl/xtea.h
index e2adb87..0db7bc8 100644
--- a/include/polarssl/xtea.h
+++ b/include/polarssl/xtea.h
@@ -97,7 +97,7 @@
                     unsigned char *input,
                     unsigned char *output);
 
-/*
+/**
  * \brief          Checkup routine
  *
  * \return         0 if successful, or 1 if the test failed
