Add ccm_init/free()
diff --git a/include/polarssl/ccm.h b/include/polarssl/ccm.h
index b794cd8..24405e4 100644
--- a/include/polarssl/ccm.h
+++ b/include/polarssl/ccm.h
@@ -36,6 +36,34 @@
 extern "C" {
 #endif
 
+/**
+ * \brief          CCM context structure
+ */
+typedef struct {
+    cipher_context_t cipher_ctx;    /*!< cipher context used */
+}
+ccm_context;
+
+/**
+ * \brief           CCM initialization (encryption and decryption)
+ *
+ * \param ctx       CCM context to be initialized
+ * \param cipher    cipher to use (a 128-bit block cipher)
+ * \param key       encryption key
+ * \param keysize   key size in bits (must be acceptable by the cipher)
+ *
+ * \return          0 if successful, or a cipher specific error code
+ */
+int ccm_init( ccm_context *ctx, cipher_id_t cipher,
+              const unsigned char *key, unsigned int keysize );
+
+/**
+ * \brief           Free a CCM context and underlying cipher sub-context
+ *
+ * \param ctx       CCM context to free
+ */
+void ccm_free( ccm_context *ctx );
+
 #if defined(POLARSSL_SELF_TEST) && defined(POLARSSL_AES_C)
 /**
  * \brief          Checkup routine