diff options
author | Martin Willi <martin@revosec.ch> | 2011-09-21 11:17:56 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2011-10-14 10:05:46 +0200 |
commit | 3cd28acce0405af40d02d9e935b2c2610e0940c2 (patch) | |
tree | 8dc7ea418ee3fad0d35c0123477238bb3102e715 /src/libstrongswan/plugins/plugin_feature.h | |
parent | 02572b84f99bb5e29a05dcb1d0a314b00df71b91 (diff) | |
download | strongswan-3cd28acce0405af40d02d9e935b2c2610e0940c2.tar.bz2 strongswan-3cd28acce0405af40d02d9e935b2c2610e0940c2.tar.xz |
Add aead plugin features
Diffstat (limited to 'src/libstrongswan/plugins/plugin_feature.h')
-rw-r--r-- | src/libstrongswan/plugins/plugin_feature.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/plugin_feature.h b/src/libstrongswan/plugins/plugin_feature.h index c10c3c499..1f7762973 100644 --- a/src/libstrongswan/plugins/plugin_feature.h +++ b/src/libstrongswan/plugins/plugin_feature.h @@ -95,6 +95,8 @@ struct plugin_feature_t { FEATURE_NONE, /** crypter_t */ FEATURE_CRYPTER, + /** aead_t */ + FEATURE_AEAD, /** signer_t */ FEATURE_SIGNER, /** hasher_t */ @@ -141,6 +143,11 @@ struct plugin_feature_t { encryption_algorithm_t alg; size_t key_size; } crypter; + /** FEATURE_AEAD */ + struct { + encryption_algorithm_t alg; + size_t key_size; + } aead; /** FEATURE_SIGNER */ integrity_algorithm_t signer; /** FEATURE_PRF */ @@ -240,6 +247,7 @@ struct plugin_feature_t { #define __PLUGIN_FEATURE(kind, type, ...) (plugin_feature_t){ FEATURE_##kind, FEATURE_##type, { __VA_ARGS__ }} #define _PLUGIN_FEATURE_CRYPTER(kind, alg, size) __PLUGIN_FEATURE(kind, CRYPTER, .crypter = { alg, size }) +#define _PLUGIN_FEATURE_AEAD(kind, alg, size) __PLUGIN_FEATURE(kind, AEAD, .aead = { alg, size }) #define _PLUGIN_FEATURE_SIGNER(kind, alg) __PLUGIN_FEATURE(kind, SIGNER, .signer = alg) #define _PLUGIN_FEATURE_HASHER(kind, alg) __PLUGIN_FEATURE(kind, HASHER, .hasher = alg) #define _PLUGIN_FEATURE_PRF(kind, alg) __PLUGIN_FEATURE(kind, PRF, .prf = alg) @@ -262,6 +270,7 @@ struct plugin_feature_t { #define __PLUGIN_FEATURE_REGISTER(type, _f) (plugin_feature_t){ FEATURE_REGISTER, FEATURE_##type, .reg.f = _f } #define __PLUGIN_FEATURE_REGISTER_BUILDER(type, _f, _final) (plugin_feature_t){ FEATURE_REGISTER, FEATURE_##type, .reg = {.f = _f, .final = _final, }} #define _PLUGIN_FEATURE_REGISTER_CRYPTER(type, f) __PLUGIN_FEATURE_REGISTER(type, f) +#define _PLUGIN_FEATURE_REGISTER_AEAD(type, f) __PLUGIN_FEATURE_REGISTER(type, f) #define _PLUGIN_FEATURE_REGISTER_SIGNER(type, f) __PLUGIN_FEATURE_REGISTER(type, f) #define _PLUGIN_FEATURE_REGISTER_HASHER(type, f) __PLUGIN_FEATURE_REGISTER(type, f) #define _PLUGIN_FEATURE_REGISTER_PRF(type, f) __PLUGIN_FEATURE_REGISTER(type, f) |