diff --git a/ChangeLog b/ChangeLog
index 02141f5bc5da099d7dbece2631a26c4a4e99fef7..e8adc45ad79fe984488e5f25f5d4b77738d33a2d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,16 @@
 2017-04-09  Niels Möller  <nisse@lysator.liu.se>
 
-	* nettle-meta.h (nettle_ciphers): New macro, analogous to below
-	change to nettle_hashes.
+	* nettle-meta.h (nettle_ciphers, nettle_aeads): New macros,
+	analogous to below change to nettle_hashes.
 
 	* nettle-meta-ciphers.c (_nettle_ciphers): Renamed array, from...
 	(nettle_ciphers: ... old name.
 	(nettle_get_ciphers): New function.
 
+	* nettle-meta-aeads.c (_nettle_aeads): Renamed array, from...
+	(nettle_aeads: ... old name.
+	(nettle_get_aeads): New function.
+
 2017-01-12  Niels Möller  <nisse@lysator.liu.se>
 
 	* tools/nettle-hash.c (find_algorithm): Deleted function.
diff --git a/nettle-meta-aeads.c b/nettle-meta-aeads.c
index 8c0526464d870da29534fcb13899150e0193cc7e..c99cc46518dd38cee6450a8435ff505d26a27a81 100644
--- a/nettle-meta-aeads.c
+++ b/nettle-meta-aeads.c
@@ -37,7 +37,7 @@
 
 #include "nettle-meta.h"
 
-const struct nettle_aead * const nettle_aeads[] = {
+const struct nettle_aead * const _nettle_aeads[] = {
   &nettle_gcm_aes128,
   &nettle_gcm_aes192,
   &nettle_gcm_aes256,
@@ -47,3 +47,9 @@ const struct nettle_aead * const nettle_aeads[] = {
   &nettle_chacha_poly1305,
   NULL
 };
+
+const struct nettle_aead * const *
+nettle_get_aeads (void)
+{
+  return _nettle_aeads;
+}
diff --git a/nettle-meta.h b/nettle-meta.h
index b645fb1b669b38ee027fa475c058b5854d2937d0..c0320b45af7b5ed9aaaed6e616c8d3b7eaa66779 100644
--- a/nettle-meta.h
+++ b/nettle-meta.h
@@ -176,7 +176,15 @@ struct nettle_aead
 
 /* null-terminated list of aead constructions implemented by this
    version of nettle */
-extern const struct nettle_aead * const nettle_aeads[];
+extern const struct nettle_aead * const _nettle_aeads[];
+
+const struct nettle_aead * const *
+#ifdef __GNUC__
+__attribute__((pure))
+#endif
+nettle_get_aeads (void);
+
+#define nettle_aeads (nettle_get_aeads())
 
 extern const struct nettle_aead nettle_gcm_aes128;
 extern const struct nettle_aead nettle_gcm_aes192;