diff --git a/libcelt/modes.h b/libcelt/modes.h
index 3b836cce8bd7bc7d6cbfa0a06b22adf7f9b44b26..4fcdbf09632a54a2376858b1a5ccc74f110fe922 100644
--- a/libcelt/modes.h
+++ b/libcelt/modes.h
@@ -39,6 +39,8 @@
 #include "arch.h"
 #include "mdct.h"
 #include "pitch.h"
+#include "entenc.h"
+#include "entdec.h"
 
 #define MAX_CONFIG_SIZES 5
 
@@ -110,4 +112,10 @@ struct CELTMode {
 
 int check_mode(const CELTMode *mode);
 
+/* Prototypes for _ec versions of the encoder/decoder calls (not public) */
+int celt_encode_with_ec(CELTEncoder * restrict st, const celt_int16 * pcm, celt_int16 * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
+int celt_encode_with_ec_float(CELTEncoder * restrict st, const float * pcm, float * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
+int celt_decode_with_ec(CELTDecoder * restrict st, const unsigned char *data, int len, celt_int16 * restrict pcm, int frame_size, ec_dec *dec);
+int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *data, int len, celt_sig * restrict pcm, int frame_size, ec_dec *dec);
+
 #endif