diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h
index b8b1997..6c14636 100644
--- a/include/polarssl/ecp.h
+++ b/include/polarssl/ecp.h
@@ -89,12 +89,14 @@
  * \warning This library does not support validation of arbitrary domain
  * parameters. Therefore, only well-known domain parameters from trusted
  * sources should be used. See ecp_use_known_dp().
+ *
+ * \note The values are taken from RFC 4492's enum NamedCurve.
  */
-#define POLARSSL_ECP_DP_SECP192R1   0
-#define POLARSSL_ECP_DP_SECP224R1   1
-#define POLARSSL_ECP_DP_SECP256R1   2
-#define POLARSSL_ECP_DP_SECP384R1   3
-#define POLARSSL_ECP_DP_SECP521R1   4
+#define POLARSSL_ECP_DP_SECP192R1   19
+#define POLARSSL_ECP_DP_SECP224R1   21
+#define POLARSSL_ECP_DP_SECP256R1   23
+#define POLARSSL_ECP_DP_SECP384R1   24
+#define POLARSSL_ECP_DP_SECP521R1   25
 
 /**
  * Maximum bit size of the groups (that is, of N)
@@ -120,6 +122,12 @@
 #define POLARSSL_ECP_PF_UNCOMPRESSED    0   /**< Uncompressed point format */
 #define POLARSSL_ECP_PF_COMPRESSED      1   /**< Compressed point format */
 
+/*
+ * Some constants from RFC 4492 (ECC for TLS)
+ */
+#define POLARSSL_ECP_TLS_NAMED_CURVE    3   /**< ECCurveType named_curve */
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -259,6 +267,7 @@
  */
 int ecp_read_binary( const ecp_group *grp, ecp_point *P, int format,
                      const unsigned char *buf, size_t ilen );
+
 /**
  * \brief           Set a group using well-known domain parameters
  *
@@ -269,9 +278,23 @@
  *                  POLARSSL_ERR_MPI_XXX if initialization failed
  *                  POLARSSL_ERR_ECP_GENERIC if index is out of range
  *
- * \note            Index should be a POLARSSL_ECP_DP_XXX macro.
+ * \note            Index should be a value of RFC 4492's enum NamdeCurve,
+ *                  possibly in the form of a POLARSSL_ECP_DP_XXX macro.
  */
-int ecp_use_known_dp( ecp_group *grp, size_t index );
+int ecp_use_known_dp( ecp_group *grp, uint16_t index );
+
+/**
+ * \brief           Read a group from an ECParameters record
+ *
+ * \param grp       Destination group
+ * \param buf       Start of input buffer
+ * \param len       Buffer length
+ *
+ * \return          O if successful,
+ *                  POLARSSL_ERR_MPI_XXX if initialization failed
+ *                  POLARSSL_ERR_ECP_BAD_INPUT_DATA if input is invalid
+ */
+int ecp_tls_read_group( ecp_group *grp, const unsigned char *buf, size_t len );
 
 /**
  * \brief           Addition: R = P + Q
