From f424a18112032cf61d2871a6b91a5af607c171ae Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 20 Jul 2012 16:21:49 +0000 Subject: CryptoPP: changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1083 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h | 176 +++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 plugins/CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h (limited to 'plugins/CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h') diff --git a/plugins/CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h b/plugins/CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h new file mode 100644 index 0000000000..96016ad2b5 --- /dev/null +++ b/plugins/CryptoPP/src/PGPw/sdk6/include/pgpFeatures.h @@ -0,0 +1,176 @@ +/*____________________________________________________________________________ + Copyright (C) 1997 Network Associates Inc. and affiliated companies. + All rights reserved. + + Determine which features are present in the PGPsdk. This is the only + way to correctly determine which features are present. The version + number may be the same for different builds that lack some features. + + $Id: pgpFeatures.h,v 1.18.20.1 1999/08/17 20:04:30 cpeterson Exp $ +____________________________________________________________________________*/ +#ifndef Included_pgpFeatures_h /* [ */ +#define Included_pgpFeatures_h + + +#include "pgpPubTypes.h" + + + +#if PRAGMA_ALIGN_SUPPORTED +#pragma options align=mac68k /* [ */ +#endif + + +/*____________________________________________________________________________ + Each selector designates a PGPFlags word, which can be obtained via + PGPGetFeatureFlags(). The flags can be tested using the + supplied masks. We can add more selectors as needed. The masks + are not intended to be restricted to a single bit. + Flags should not be used for attributes that have unknown length. + + A kPGPError_ItemNotFound will be returned if the caller specifies + a selector which is not recognized by the PGPsdk. This could + occur if an app links to an older version of the SDK. +____________________________________________________________________________*/ + +/* selectors which are passed to PGPGetFeatureFlags */ +enum PGPFeatureSelector_ +{ + kPGPFeatures_GeneralSelector = 1, + kPGPFeatures_ImplementationSelector = 2, + PGP_ENUM_FORCE( PGPFeatureSelector_ ) +}; +PGPENUM_TYPEDEF( PGPFeatureSelector_, PGPFeatureSelector ); + + +/* flags for kPGPFeatures_GeneralSelector */ +enum +{ + kPGPFeatureMask_CanEncrypt = 0x1, + kPGPFeatureMask_CanDecrypt = 0x2, + kPGPFeatureMask_CanSign = 0x4, + kPGPFeatureMask_CanVerify = 0x8, + kPGPFeatureMask_CanGenerate = 0x10, + kPGPFeatureMask_RngHardware = 0x20 +}; + + +/* flags for kPGPFeatures_ImplementationSelector */ +enum +{ + kPGPFeatureMask_IsDebugBuild = 0x1, + kPGPFeatureMask_HasTimeout = 0x2 +}; + + + +typedef struct PGPAlgorithmInfo +{ + char shortName[ 32 ]; + char longName[ 96 ]; + char copyright[ 128 ]; + PGPFlags flags; /* reserved; 0 for now */ + PGPUInt32 reserved[ 16 ]; /* reserved; 0 for now */ +} PGPAlgorithmInfo; + + +typedef struct PGPPublicKeyAlgorithmInfo +{ + PGPAlgorithmInfo info; + + PGPPublicKeyAlgorithm algID; + + PGPBoolean canEncrypt; + PGPBoolean canDecrypt; + PGPBoolean canSign; + PGPBoolean canVerify; + PGPBoolean canGenerate; + PGPBoolean reserved1; + PGPBoolean reserved2; + PGPBoolean reserved3; + + PGPUInt32 reserved[ 8 ]; +} PGPPublicKeyAlgorithmInfo; + + +typedef struct PGPSymmetricCipherInfo +{ + PGPAlgorithmInfo info; + + PGPCipherAlgorithm algID; + + PGPUInt32 reserved[ 8 ]; +} PGPSymmetricCipherInfo; + + + +#if PRAGMA_ALIGN_SUPPORTED +#pragma options align=reset /* ] */ +#endif + + + + + +PGP_BEGIN_C_DECLARATIONS +#if PRAGMA_IMPORT_SUPPORTED +#pragma import on +#endif + + +/* see kPGPsdkAPIVersion in pgpUtilities.h for version format */ +PGPError PGPGetSDKVersion( PGPUInt32 *version ); + + +/*____________________________________________________________________________ + Return a C string of the form: + + "PGPsdk version 1.0 (C) Network Associates, Inc" +____________________________________________________________________________*/ +PGPError PGPGetSDKString( char theString[ 256 ] ); + + + +/* return a flags word for the feature selector */ +PGPError PGPGetFeatureFlags( PGPFeatureSelector selector, + PGPFlags *flags ); + +/* use this to test whether a feature exists after getting flags */ +#define PGPFeatureExists( flags, maskValue ) \ + ( ( (flags) & (maskValue) ) != 0 ) + + +/*____________________________________________________________________________ + Routines to determine which algorithms are present. + + To determine if a specific algorithm is available, you will need to + index through the available algorithms and check the algorithm ID. +____________________________________________________________________________*/ +PGPError PGPCountPublicKeyAlgorithms( PGPUInt32 *numPKAlgs ); +PGPError PGPGetIndexedPublicKeyAlgorithmInfo( PGPUInt32 theIndex, + PGPPublicKeyAlgorithmInfo *info); + +PGPError PGPCountSymmetricCiphers( PGPUInt32 *numPKAlgs ); +PGPError PGPGetIndexedSymmetricCipherInfo( PGPUInt32 theIndex, + PGPSymmetricCipherInfo *info); + + + +#if PRAGMA_IMPORT_SUPPORTED +#pragma import reset +#endif +PGP_END_C_DECLARATIONS + + + + +#endif /* ] Included_pgpFeatures_h */ + +/*__Editor_settings____ + + Local Variables: + tab-width: 4 + End: + vi: ts=4 sw=4 + vim: si +_____________________*/ -- cgit v1.2.3