--- /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__