// argnames.h - originally written and placed in the public domain by Wei Dai /// \file argnames.h /// \brief Standard names for retrieving values by name when working with \p NameValuePairs #ifndef CRYPTOPP_ARGNAMES_H #define CRYPTOPP_ARGNAMES_H #include "cryptlib.h" NAMESPACE_BEGIN(CryptoPP) DOCUMENTED_NAMESPACE_BEGIN(Name) #define CRYPTOPP_DEFINE_NAME_STRING(name) inline const char *name() {return #name;} CRYPTOPP_DEFINE_NAME_STRING(ValueNames) ///< string, a list of value names with a semicolon (';') after each name CRYPTOPP_DEFINE_NAME_STRING(Version) ///< int CRYPTOPP_DEFINE_NAME_STRING(Seed) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Key) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(IV) ///< ConstByteArrayParameter, also accepts const byte * for backwards compatibility CRYPTOPP_DEFINE_NAME_STRING(StolenIV) ///< byte * CRYPTOPP_DEFINE_NAME_STRING(Nonce) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Rounds) ///< int CRYPTOPP_DEFINE_NAME_STRING(FeedbackSize) ///< int CRYPTOPP_DEFINE_NAME_STRING(WordSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(BlockSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(EffectiveKeyLength) ///< int, in bits CRYPTOPP_DEFINE_NAME_STRING(KeySize) ///< int, in bits CRYPTOPP_DEFINE_NAME_STRING(ModulusSize) ///< int, in bits CRYPTOPP_DEFINE_NAME_STRING(SubgroupOrderSize) ///< int, in bits CRYPTOPP_DEFINE_NAME_STRING(PrivateExponentSize)///< int, in bits CRYPTOPP_DEFINE_NAME_STRING(Modulus) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(PublicExponent) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(PrivateExponent) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(PublicElement) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(SubgroupOrder) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(Cofactor) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(SubgroupGenerator) ///< Integer, ECP::Point, or EC2N::Point CRYPTOPP_DEFINE_NAME_STRING(Curve) ///< ECP or EC2N CRYPTOPP_DEFINE_NAME_STRING(GroupOID) ///< OID CRYPTOPP_DEFINE_NAME_STRING(PointerToPrimeSelector) ///< const PrimeSelector * CRYPTOPP_DEFINE_NAME_STRING(Prime1) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(Prime2) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(ModPrime1PrivateExponent) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(ModPrime2PrivateExponent) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(MultiplicativeInverseOfPrime2ModPrime1) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(QuadraticResidueModPrime1) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(QuadraticResidueModPrime2) ///< Integer CRYPTOPP_DEFINE_NAME_STRING(PutMessage) ///< bool CRYPTOPP_DEFINE_NAME_STRING(TruncatedDigestSize) ///< int CRYPTOPP_DEFINE_NAME_STRING(BlockPaddingScheme) ///< StreamTransformationFilter::BlockPaddingScheme CRYPTOPP_DEFINE_NAME_STRING(HashVerificationFilterFlags) ///< word32 CRYPTOPP_DEFINE_NAME_STRING(AuthenticatedDecryptionFilterFlags) ///< word32 CRYPTOPP_DEFINE_NAME_STRING(SignatureVerificationFilterFlags) ///< word32 CRYPTOPP_DEFINE_NAME_STRING(InputBuffer) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(OutputBuffer) ///< ByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(InputFileName) ///< const char * CRYPTOPP_DEFINE_NAME_STRING(InputFileNameWide) ///< const wchar_t * CRYPTOPP_DEFINE_NAME_STRING(InputStreamPointer) ///< std::istream * CRYPTOPP_DEFINE_NAME_STRING(InputBinaryMode) ///< bool CRYPTOPP_DEFINE_NAME_STRING(OutputFileName) ///< const char * CRYPTOPP_DEFINE_NAME_STRING(OutputFileNameWide) ///< const wchar_t * CRYPTOPP_DEFINE_NAME_STRING(OutputStreamPointer) ///< std::ostream * CRYPTOPP_DEFINE_NAME_STRING(OutputBinaryMode) ///< bool CRYPTOPP_DEFINE_NAME_STRING(EncodingParameters) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(KeyDerivationParameters) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Separator) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Terminator) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Uppercase) ///< bool CRYPTOPP_DEFINE_NAME_STRING(GroupSize) ///< int CRYPTOPP_DEFINE_NAME_STRING(Pad) ///< bool CRYPTOPP_DEFINE_NAME_STRING(PaddingByte) ///< byte CRYPTOPP_DEFINE_NAME_STRING(Log2Base) ///< int CRYPTOPP_DEFINE_NAME_STRING(EncodingLookupArray) ///< const byte * CRYPTOPP_DEFINE_NAME_STRING(DecodingLookupArray) ///< const byte * CRYPTOPP_DEFINE_NAME_STRING(InsertLineBreaks) ///< bool CRYPTOPP_DEFINE_NAME_STRING(MaxLineLength) ///< int CRYPTOPP_DEFINE_NAME_STRING(DigestSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(L1KeyLength) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(TableSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(Blinding) ///< bool, timing attack mitigations, ON by default CRYPTOPP_DEFINE_NAME_STRING(DerivedKey) ///< ByteArrayParameter, key derivation, derived key CRYPTOPP_DEFINE_NAME_STRING(DerivedKeyLength) ///< int, key derivation, derived key length in bytes CRYPTOPP_DEFINE_NAME_STRING(Personalization) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(PersonalizationSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(Salt) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(Tweak) ///< ConstByteArrayParameter CRYPTOPP_DEFINE_NAME_STRING(SaltSize) ///< int, in bytes CRYPTOPP_DEFINE_NAME_STRING(TreeMode) ///< byte CRYPTOPP_DEFINE_NAME_STRING(FileName) ///< const char * CRYPTOPP_DEFINE_NAME_STRING(FileTime) ///< int CRYPTOPP_DEFINE_NAME_STRING(Comment) ///< const char * CRYPTOPP_DEFINE_NAME_STRING(Identity) ///< ConstByteArrayParameter DOCUMENTED_NAMESPACE_END NAMESPACE_END #endif