argnames.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. // argnames.h - originally written and placed in the public domain by Wei Dai
  2. /// \file argnames.h
  3. /// \brief Standard names for retrieving values by name when working with \p NameValuePairs
  4. #ifndef CRYPTOPP_ARGNAMES_H
  5. #define CRYPTOPP_ARGNAMES_H
  6. #include "cryptlib.h"
  7. NAMESPACE_BEGIN(CryptoPP)
  8. DOCUMENTED_NAMESPACE_BEGIN(Name)
  9. #define CRYPTOPP_DEFINE_NAME_STRING(name) inline const char *name() {return #name;}
  10. CRYPTOPP_DEFINE_NAME_STRING(ValueNames) ///< string, a list of value names with a semicolon (';') after each name
  11. CRYPTOPP_DEFINE_NAME_STRING(Version) ///< int
  12. CRYPTOPP_DEFINE_NAME_STRING(Seed) ///< ConstByteArrayParameter
  13. CRYPTOPP_DEFINE_NAME_STRING(Key) ///< ConstByteArrayParameter
  14. CRYPTOPP_DEFINE_NAME_STRING(IV) ///< ConstByteArrayParameter, also accepts const byte * for backwards compatibility
  15. CRYPTOPP_DEFINE_NAME_STRING(StolenIV) ///< byte *
  16. CRYPTOPP_DEFINE_NAME_STRING(Nonce) ///< ConstByteArrayParameter
  17. CRYPTOPP_DEFINE_NAME_STRING(Rounds) ///< int
  18. CRYPTOPP_DEFINE_NAME_STRING(FeedbackSize) ///< int
  19. CRYPTOPP_DEFINE_NAME_STRING(WordSize) ///< int, in bytes
  20. CRYPTOPP_DEFINE_NAME_STRING(BlockSize) ///< int, in bytes
  21. CRYPTOPP_DEFINE_NAME_STRING(EffectiveKeyLength) ///< int, in bits
  22. CRYPTOPP_DEFINE_NAME_STRING(KeySize) ///< int, in bits
  23. CRYPTOPP_DEFINE_NAME_STRING(ModulusSize) ///< int, in bits
  24. CRYPTOPP_DEFINE_NAME_STRING(SubgroupOrderSize) ///< int, in bits
  25. CRYPTOPP_DEFINE_NAME_STRING(PrivateExponentSize)///< int, in bits
  26. CRYPTOPP_DEFINE_NAME_STRING(Modulus) ///< Integer
  27. CRYPTOPP_DEFINE_NAME_STRING(PublicExponent) ///< Integer
  28. CRYPTOPP_DEFINE_NAME_STRING(PrivateExponent) ///< Integer
  29. CRYPTOPP_DEFINE_NAME_STRING(PublicElement) ///< Integer
  30. CRYPTOPP_DEFINE_NAME_STRING(SubgroupOrder) ///< Integer
  31. CRYPTOPP_DEFINE_NAME_STRING(Cofactor) ///< Integer
  32. CRYPTOPP_DEFINE_NAME_STRING(SubgroupGenerator) ///< Integer, ECP::Point, or EC2N::Point
  33. CRYPTOPP_DEFINE_NAME_STRING(Curve) ///< ECP or EC2N
  34. CRYPTOPP_DEFINE_NAME_STRING(GroupOID) ///< OID
  35. CRYPTOPP_DEFINE_NAME_STRING(PointerToPrimeSelector) ///< const PrimeSelector *
  36. CRYPTOPP_DEFINE_NAME_STRING(Prime1) ///< Integer
  37. CRYPTOPP_DEFINE_NAME_STRING(Prime2) ///< Integer
  38. CRYPTOPP_DEFINE_NAME_STRING(ModPrime1PrivateExponent) ///< Integer
  39. CRYPTOPP_DEFINE_NAME_STRING(ModPrime2PrivateExponent) ///< Integer
  40. CRYPTOPP_DEFINE_NAME_STRING(MultiplicativeInverseOfPrime2ModPrime1) ///< Integer
  41. CRYPTOPP_DEFINE_NAME_STRING(QuadraticResidueModPrime1) ///< Integer
  42. CRYPTOPP_DEFINE_NAME_STRING(QuadraticResidueModPrime2) ///< Integer
  43. CRYPTOPP_DEFINE_NAME_STRING(PutMessage) ///< bool
  44. CRYPTOPP_DEFINE_NAME_STRING(TruncatedDigestSize) ///< int
  45. CRYPTOPP_DEFINE_NAME_STRING(BlockPaddingScheme) ///< StreamTransformationFilter::BlockPaddingScheme
  46. CRYPTOPP_DEFINE_NAME_STRING(HashVerificationFilterFlags) ///< word32
  47. CRYPTOPP_DEFINE_NAME_STRING(AuthenticatedDecryptionFilterFlags) ///< word32
  48. CRYPTOPP_DEFINE_NAME_STRING(SignatureVerificationFilterFlags) ///< word32
  49. CRYPTOPP_DEFINE_NAME_STRING(InputBuffer) ///< ConstByteArrayParameter
  50. CRYPTOPP_DEFINE_NAME_STRING(OutputBuffer) ///< ByteArrayParameter
  51. CRYPTOPP_DEFINE_NAME_STRING(InputFileName) ///< const char *
  52. CRYPTOPP_DEFINE_NAME_STRING(InputFileNameWide) ///< const wchar_t *
  53. CRYPTOPP_DEFINE_NAME_STRING(InputStreamPointer) ///< std::istream *
  54. CRYPTOPP_DEFINE_NAME_STRING(InputBinaryMode) ///< bool
  55. CRYPTOPP_DEFINE_NAME_STRING(OutputFileName) ///< const char *
  56. CRYPTOPP_DEFINE_NAME_STRING(OutputFileNameWide) ///< const wchar_t *
  57. CRYPTOPP_DEFINE_NAME_STRING(OutputStreamPointer) ///< std::ostream *
  58. CRYPTOPP_DEFINE_NAME_STRING(OutputBinaryMode) ///< bool
  59. CRYPTOPP_DEFINE_NAME_STRING(EncodingParameters) ///< ConstByteArrayParameter
  60. CRYPTOPP_DEFINE_NAME_STRING(KeyDerivationParameters) ///< ConstByteArrayParameter
  61. CRYPTOPP_DEFINE_NAME_STRING(Separator) ///< ConstByteArrayParameter
  62. CRYPTOPP_DEFINE_NAME_STRING(Terminator) ///< ConstByteArrayParameter
  63. CRYPTOPP_DEFINE_NAME_STRING(Uppercase) ///< bool
  64. CRYPTOPP_DEFINE_NAME_STRING(GroupSize) ///< int
  65. CRYPTOPP_DEFINE_NAME_STRING(Pad) ///< bool
  66. CRYPTOPP_DEFINE_NAME_STRING(PaddingByte) ///< byte
  67. CRYPTOPP_DEFINE_NAME_STRING(Log2Base) ///< int
  68. CRYPTOPP_DEFINE_NAME_STRING(EncodingLookupArray) ///< const byte *
  69. CRYPTOPP_DEFINE_NAME_STRING(DecodingLookupArray) ///< const byte *
  70. CRYPTOPP_DEFINE_NAME_STRING(InsertLineBreaks) ///< bool
  71. CRYPTOPP_DEFINE_NAME_STRING(MaxLineLength) ///< int
  72. CRYPTOPP_DEFINE_NAME_STRING(DigestSize) ///< int, in bytes
  73. CRYPTOPP_DEFINE_NAME_STRING(L1KeyLength) ///< int, in bytes
  74. CRYPTOPP_DEFINE_NAME_STRING(TableSize) ///< int, in bytes
  75. CRYPTOPP_DEFINE_NAME_STRING(Blinding) ///< bool, timing attack mitigations, ON by default
  76. CRYPTOPP_DEFINE_NAME_STRING(DerivedKey) ///< ByteArrayParameter, key derivation, derived key
  77. CRYPTOPP_DEFINE_NAME_STRING(DerivedKeyLength) ///< int, key derivation, derived key length in bytes
  78. CRYPTOPP_DEFINE_NAME_STRING(Personalization) ///< ConstByteArrayParameter
  79. CRYPTOPP_DEFINE_NAME_STRING(PersonalizationSize) ///< int, in bytes
  80. CRYPTOPP_DEFINE_NAME_STRING(Salt) ///< ConstByteArrayParameter
  81. CRYPTOPP_DEFINE_NAME_STRING(Tweak) ///< ConstByteArrayParameter
  82. CRYPTOPP_DEFINE_NAME_STRING(SaltSize) ///< int, in bytes
  83. CRYPTOPP_DEFINE_NAME_STRING(TreeMode) ///< byte
  84. CRYPTOPP_DEFINE_NAME_STRING(FileName) ///< const char *
  85. CRYPTOPP_DEFINE_NAME_STRING(FileTime) ///< int
  86. CRYPTOPP_DEFINE_NAME_STRING(Comment) ///< const char *
  87. CRYPTOPP_DEFINE_NAME_STRING(Identity) ///< ConstByteArrayParameter
  88. DOCUMENTED_NAMESPACE_END
  89. NAMESPACE_END
  90. #endif