crypto/weakcryptospi/inc/spi/pluginentrydef.h
changeset 8 35751d3474b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcryptospi/inc/spi/pluginentrydef.h	Thu Sep 10 14:01:51 2009 +0300
@@ -0,0 +1,357 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* plugin entry interface & ordinal definition
+*
+*/
+
+
+/**
+ @file
+ @publishedPartner
+ @released
+*/
+ 
+#ifndef __CRYPTOAPI_PLUGINENTRYDEF_H__
+#define __CRYPTOAPI_PLUGINENTRYDEF_H__
+
+#include <cryptospi/plugincharacteristics.h>
+
+namespace CryptoSpi
+	{
+	class CCryptoParam;
+	class CCryptoParams;
+	class MRandom;
+	class MHash;
+	class MSymmetricCipher;
+	class MAsymmetricCipher;
+	class MSigner;
+	class MVerifier;
+	class MKeyAgreement;
+	class MKeyPairGenerator;
+	class MAsyncRandom;
+	class MAsyncHash;
+	class MAsyncSymmetricCipher;
+	class MAsyncAsymmetricCipher;
+	class MAsyncSigner;
+	class MAsyncVerifier;
+	class MAsyncKeyAgreement;
+	class MAsyncKeyPairGenerator;
+	class CKey;
+	class CExtendedCharacteristics;
+	
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT		
+	class MMac;
+	class MAsyncMac;
+#endif	
+	
+	/**
+	Crypto plugin entry points ordinals in the plugin DLLs
+	*/
+	enum TPluginEntryOrdinal
+		{
+		/**
+		Enumeration function ordinal
+		*/
+		EEnumerateCharacteristicsOrdinal=1,
+		/**
+		Get Extended Characteristic function ordinal
+		*/		
+		EGetExtendedCharacteristicOrdinal=2,
+		/**
+		Asymmetric Cipher creation function ordinal
+		*/		
+		ECreateAsymmetricCipherOrdinal=3,
+		/**
+		Signer creation function ordinal
+		*/				
+		ECreateSignerOrdinal=4,
+		/**
+		Verifier creation function ordinal
+		*/						
+		ECreateVerifierOrdinal=5,
+		/**
+		Hash creation function ordinal
+		*/								
+		ECreateHashOrdinal=6,
+		/**
+		Key agreement creation function ordinal
+		*/								
+		ECreateKeyAgreementOrdinal=7,
+		/**
+		Key Pair Generator creation function ordinal
+		*/								
+		ECreateKeyPairGeneratorOrdinal=8,
+		/**
+		Random creation function ordinal
+		*/										
+		ECreateRandomOrdinal=9,
+		/**
+		Symmetric Cipher creation function ordinal
+		*/		
+		ECreateSymmetricCipherOrdinal=10,
+        /**
+		Symmetric key generator creation function ordinal
+		*/				
+		ECreateSymmetricKeyGeneratorOrdinal=11,
+		/**
+		Asynchronous Asymmetric Cipher creation function ordinal
+		*/					
+		ECreateAsyncAsymmetricCipherOrdinal=12,
+		/**
+		Asynchronous Signer creation function ordinal
+		*/						
+		ECreateAsyncSignerOrdinal=13,
+		/**
+		Asynchronous Verifier creation function ordinal
+		*/								
+		ECreateAsyncVerifierOrdinal=14,
+		/**
+		Asynchronous Hash creation function ordinal
+		*/										
+		ECreateAsyncHashOrdinal=15,
+		/**
+		Asynchronous Key agreement creation function ordinal
+		*/
+		ECreateAsyncKeyAgreementOrdinal=16,
+		/**
+		Asynchronous Key Pair Generator creation function ordinal
+		*/								
+		ECreateAsyncKeyPairGeneratorOrdinal=17,
+		/**
+		Asynchronous Random creation function ordinal
+		*/										
+		ECreateAsyncRandomOrdinal=18,
+		/**
+		Asynchronous Symmetric Cipher creation function ordinal
+		*/		
+		ECreateAsyncSymmetricCipherOrdinal=19,
+		/**
+		Asynchronous Symmetric key generator creation function ordinal
+		*/		
+		ECreateAsyncSymmetricKeyGeneratorOrdinal=20,
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT			
+		/**
+		Mac creation function ordinal
+		*/								
+		ECreateMacOrdinal=21,
+		/**
+		Asynchronous Mac creation function ordinal
+		*/										
+		ECreateAsyncMacOrdinal=22,
+		/**
+		Hash creation function ordinal
+		*/								
+		ECreateHashOrdinalv2=23,
+		/**
+		Asynchronous Mac creation function ordinal
+		*/										
+		ECreateAsyncMacOrdinalv2=24,
+#endif		
+		};
+	
+	/**
+	Crypto Plugin entry function definition
+	*/
+	/**
+	The enumeration function definition 
+	@param TUid the interface Uid
+	@param TInt& the number of the characteristics
+	@return the pointer to characteristics
+	*/
+	typedef const TCharacteristics** (*EnumerateCharacteristicsFunc)(TUid, TInt&);
+	
+	/**
+	The Extended characteristic function definition 
+	@param TUid the implementation Uid
+	@param CCryptoParams* the extended characteristics
+	*/	
+	typedef void (*GetExtendedCharacteristicsFuncL)(TUid, CExtendedCharacteristics*&);
+	
+	/**
+	Random object Creation function
+	@param MRandom*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/
+	typedef void (*CreateRandomFuncL)(MRandom*&, TUid, const CCryptoParams*);
+	
+	/**
+	 * @deprecated
+	 *  
+	 * Hash object Creation function
+	 * @param	MHash*& the new created plugin instance, should not be set if leaves with error
+	 * @param 	CCryptoParams* the extra paramters for creation.
+	 * @leave 	System wide error code.
+	 */	
+	typedef void (*CreateHashFuncL)(MHash*&, TUid, TUid, const CKey*, const CCryptoParams*);
+	
+	/**
+	Symmetric Cipher object Creation function
+	@param MSymmetricCipher*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	typedef void (*CreateSymmetricCipherFuncL)(MSymmetricCipher*&, TUid, const CKey&, TUid, TUid, TUid, const CCryptoParams*);
+	
+	/**
+	Asymmetric Cipher object Creation function
+	@param MAsymmetricCipher*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	typedef void (*CreateAsymmetricCipherFuncL)(MAsymmetricCipher*&, TUid, const CKey&, TUid, TUid, const CCryptoParams*);
+
+	/**
+	Signer object Creation function
+	@param MSigner*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/		
+	typedef void (*CreateSignerFuncL)(MSigner*&, TUid, const CKey&, TUid, const CCryptoParams*);
+	
+	/**
+	Verifier object Creation function
+	@param MVerifier*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/		
+	typedef void (*CreateVerifierFuncL)(MVerifier*&, TUid, const CKey&, TUid, const CCryptoParams*);
+
+	/**
+	KeyAgreement object Creation function
+	@param MKeyAgreement*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/			
+	typedef void (*CreateKeyAgreementFuncL)(MKeyAgreement*&, TUid, const CKey&, const CCryptoParams*);
+	
+	/**
+	Key Pair Generator object Creation function
+	@param MKeyPairGenerator*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	typedef void (*CreateKeyPairGeneratorFuncL)(MKeyPairGenerator*&, TUid, const CCryptoParams*);
+	
+	/**
+	Asynchronous Random object Creation function
+	@param MRandom*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/
+	//typedef void (*CreateAsyncRandomFuncL)(MAsyncRandom*&, TUid, const CCryptoParams*);
+
+	/**
+	 * @deprecated
+	 * 
+	 * Asynchronous Hash object Creation function
+	 * @param MHash*& the new created plugin instance, should not be set if leaves with error
+	 * @param CCryptoParams* the extra paramters for creation.
+	 * @leave System wide error code.
+	 */		
+	//typedef void (*CreateAsyncHashFuncL)(MAsyncHash*&, TUid, TUid, const CKey*, const CCryptoParams*);
+
+	/**
+	Asynchronous Symmetric Cipher object Creation function
+	@param MSymmetricCipher*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	//typedef void (*CreateAsyncSymmetricCipherFuncL)(MAsyncSymmetricCipher*&, TUid, const CKey&, TUid, TUid, TUid, const CCryptoParams*);
+	
+	/**
+	Asynchronous Asymmetric Cipher object Creation function
+	@param MAsymmetricCipher*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	//typedef void (*CreateAsyncAsymmetricCipherFuncL)(MAsyncAsymmetricCipher*&, TUid, const CKey&, TUid, TUid, const CCryptoParams*);
+	
+	/**
+	Asynchronous Signer object Creation function
+	@param MSigner*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/
+	//typedef void (*CreateAsyncSignerFuncL)(MAsyncSigner*&, TUid, const CKey&, TUid, const CCryptoParams*);
+	
+	/**
+	Asynchronous Verifier object Creation function
+	@param MVerifier*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/			
+	//typedef void (*CreateAsyncVerifierFuncL)(MAsyncVerifier*&, TUid, const CKey&, TUid, const CCryptoParams*);
+	
+	/**
+	Asynchronous KeyAgreement object Creation function
+	@param MKeyAgreement*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/	
+	//typedef void (*CreateAsyncKeyAgreementFuncL)(MAsyncKeyAgreement*&, TUid, const CKey&, const CCryptoParams*);
+
+	/**
+	Asynchronous Key Pair Generator object Creation function
+	@param MKeyPairGenerator*& the new created plugin instance, should not be set if leaves with error
+	@param CCryptoParams* the extra paramters for creation.
+	@leave System wide error code.
+	*/
+	//typedef void (*CreateAsyncKeyPairGeneratorFuncL)(MAsyncKeyPairGenerator*&, TUid, const CCryptoParams*);
+
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT	
+	
+	/**
+	 * Mac object Creation function
+	 *
+	 * @param MMac*&   		 the new created plugin instance, should not be set if leaves with error
+	 * @param TUid   		 the implementation Uid
+	 * @param aKey   		 Symmetric key for calculating message authentication code value. 
+	 * @param CCryptoParams* the extra parameters for creation.
+	 * @leave System wide error code.
+	 */	
+	typedef void (*CreateMacFuncL)(MMac*&,const TUid, const CKey&, const CCryptoParams*);
+	
+	/**
+	 * Mac object Creation function
+	 *
+	 * @param MAsyncMac*&    the new created plugin instance, should not be set if leaves with error
+	 * @param TUid   		 the implementation Uid
+	 * @param aKey   		 Symmetric key for calculating message authentication code value. 
+	 * @param CCryptoParams* the extra parameters for creation.
+	 * @leave System wide error code.
+	 */	
+	//typedef void (*CreateAsyncMacFuncL)(MAsyncMac*&,const TUid, const CKey&, const CCryptoParams*);
+	
+
+	/**
+	 * Hash object Creation function
+	 * @param MHash*& the new created plugin instance, should not be set if leaves with error
+	 * @param CCryptoParams* the extra paramters for creation.
+	 * @leave System wide error code.
+	 */	
+	typedef void (*CreateHashFuncLv2)(MHash*&, TUid, const CCryptoParams*);
+
+	/**
+	 * Hash object Creation function
+	 * @param MAsyncHash*& the new created plugin instance, should not be set if leaves with error
+	 * @param CCryptoParams* the extra paramters for creation.
+	 * @leave System wide error code.
+	 */	
+	//typedef void (*CreateAsyncHashFuncLv2)(MAsyncHash*&, TUid, const CCryptoParams*);
+#endif	
+	}
+
+#endif //__CRYPTOAPI_PLUGINENTRYDEF_H__