diff --git a/nettle-meta.h b/nettle-meta.h
index ba500eacd71ff1add3e19ef4a5835fad554b334f..d64f92f71c15e3c559b724da2fffb3695eff0da2 100644
--- a/nettle-meta.h
+++ b/nettle-meta.h
@@ -84,7 +84,7 @@ extern const struct nettle_cipher nettle_twofish192;
 extern const struct nettle_cipher nettle_twofish256;
 
 
-/* Hash algorithm */
+/* Hash algorithms */
 typedef void (*nettle_hash_init_func)(void *ctx);
 typedef void (*nettle_hash_update_func)(void *ctx,
 					unsigned length,
@@ -124,4 +124,32 @@ extern const struct nettle_hash nettle_md5;
 extern const struct nettle_hash nettle_sha1;
 extern const struct nettle_hash nettle_sha256;
 
+
+/* ASCII armor codecs */
+typedef unsigned (*nettle_armor_func)(uint8_t *dst,
+                                      unsigned src_length,
+                                      const uint8_t *src);
+
+struct nettle_armor
+{
+  const char *name;
+
+  unsigned ascii_block_size;
+  unsigned raw_block_size;
+
+  nettle_armor_func encode;
+  nettle_armor_func decode;
+};
+
+#define _NETTLE_ARMOR(name, NAME) {		\
+  #name,					\
+  NAME##_ASCII_BLOCK_SIZE,			\
+  NAME##_RAW_BLOCK_SIZE,			\
+  name##_encode,				\
+  name##_decode					\
+}
+
+extern const struct nettle_armor nettle_base64;
+extern const struct nettle_armor nettle_base16;
+
 #endif /* NETTLE_META_H_INCLUDED */