- { "serpent", 16, sizeof(SerpentKeySchedule), 16,32,
- serpent_byteswap_block,
- { alg_serpent_makekey, alg_serpent_encrypt },
- { alg_serpent_makekey, alg_serpent_decrypt } },
+#define ALIAS(alias,name,NAME) \
+ { #alias, NAME##_BLOCK_SIZE, sizeof(struct name##_ctx), \
+ NAME##_MIN_KEY_SIZE, NAME##_MAX_KEY_SIZE, \
+ 0, \
+ { alg_##name##_makekey, alg_##name##_encr }, \
+ { alg_##name##_makekey, alg_##name##_decr } \
+ },
+#define DO(name,NAME) ALIAS(name,name,NAME)
+ NETTLE_BLOCKCIPHERS
+#undef DO
+#undef ALIAS
+ { 0 }
+};
+
+const BlockCipherPropInfo blockcipherpropinfos[]= {
+ { "blocklen", offsetof(BlockCipherAlgInfo, blocksize) },
+ { "minkeylen", offsetof(BlockCipherAlgInfo, key_min) },
+ { "maxkeylen", offsetof(BlockCipherAlgInfo, key_max) },