/* * Public Key Padding Utility Header * (C) 2015 Jack Lloyd * * Botan is released under the Simplified BSD License (see license.txt) */ #ifndef BOTAN_PK_PAD_UTILS_H__ #define BOTAN_PK_PAD_UTILS_H__ #include #include #include #include #include namespace Botan { #define BOTAN_REGISTER_EME(name, maker) BOTAN_REGISTER_T(EME, name, maker) #define BOTAN_REGISTER_EME_NOARGS(name) BOTAN_REGISTER_T_NOARGS(EME, name) #define BOTAN_REGISTER_EME_NAMED_NOARGS(type, name) \ BOTAN_REGISTER_NAMED_T(EME, name, type, make_new_T) #define BOTAN_REGISTER_EMSA_1HASH_1LEN(type, name) \ BOTAN_REGISTER_NAMED_T(EMSA, name, type, (make_new_T_1X_1len)) #define BOTAN_REGISTER_EME_NAMED_1LEN(type, name, def) \ BOTAN_REGISTER_NAMED_T(EME, name, type, (make_new_T_1len)) #define BOTAN_REGISTER_EME_NAMED_1STR(type, name, def) \ BOTAN_REGISTER_NAMED_T(EME, name, type, \ std::bind(make_new_T_1str, std::placeholders::_1, def)); #define BOTAN_REGISTER_EMSA_NAMED_NOARGS(type, name) \ BOTAN_REGISTER_NAMED_T(EMSA, name, type, make_new_T) #define BOTAN_REGISTER_EMSA(name, maker) BOTAN_REGISTER_T(EMSA, name, maker) #define BOTAN_REGISTER_EMSA_NOARGS(name) BOTAN_REGISTER_T_NOARGS(EMSA, name) #define BOTAN_REGISTER_EMSA_1HASH(type, name) \ BOTAN_REGISTER_NAMED_T(EMSA, name, type, (make_new_T_1X)) } #endif