DO NOT MERGE

Security: tf_sdk: Update to 1.06

Remove sdrv_crypto.h

Change-Id: Ie23899560732f8f293e9cf31b10c4a6558913b5e
Signed-off-by: Bryan Buckley <bryan.buckley@ti.com>
diff --git a/security/tf_sdk/include/sddi.h b/security/tf_sdk/include/sddi.h
index 2627ae0..713e070 100644
--- a/security/tf_sdk/include/sddi.h
+++ b/security/tf_sdk/include/sddi.h
@@ -57,25 +57,10 @@
 #endif
 #endif   /* !SDRV_EXPORT */
 
-#define SDRV_SIGNAL_SW_BOOT      0x00000001
-#define SDRV_SIGNAL_SW_ACTIVE    0x00000002
-#define SDRV_SIGNAL_SW_PANIC     0x00000003
-#define SDRV_SIGNAL_CPU_SW       0x00000004
-#define SDRV_SIGNAL_THREAD_SW    0x00000005
-
-#define SDRV_TRACE_MAX_STRING_LEN 0xFF
-#define SDRV_INTERRUPT_CONTROLLER_NONE 0xFFFFFFFF
-
 #define S_CACHE_OPERATION_CLEAN                0x00000001
 #define S_CACHE_OPERATION_INVALIDATE           0x00000002
 #define S_CACHE_OPERATION_CLEAN_AND_INVALIDATE 0x00000003
 
-typedef struct
-{
-   uint32_t low;
-   uint32_t high;
-} SDRV_MONOTONIC_COUNTER_VALUE;
-
 void SDDI_EXPORT *SMemGetVirtual(uint32_t nSegmentID);
 
 S_RESULT SDDI_EXPORT SMemGetPhysical(void* pVirtual, uint32_t* pnPhysical);
@@ -89,22 +74,6 @@
                    uint32_t nLength,
                    uint32_t  nOperation);
 
-S_RESULT SDDI_EXPORT SInterruptDisable(uint32_t  nInterruptID);
-
-S_RESULT SDDI_EXPORT SInterruptEnable(uint32_t  nInterruptID);
-
-/*------------------------------------------------------------------------------
-         Key Stream Functions
-------------------------------------------------------------------------------*/
-
-void SDDI_EXPORT SKeyStreamWrite(
-                                 const uint8_t* pBuffer,
-                                 uint32_t nBufferLength);
-
-S_RESULT SDDI_EXPORT SKeyStreamRead(
-                                    uint8_t* pBuffer,
-                                    uint32_t* pnBufferLength);
-
 /*------------------------------------------------------------------------------
          Driver Common Entry Points
 ------------------------------------------------------------------------------*/
@@ -113,99 +82,4 @@
 
 void SDRV_EXPORT SDrvDestroy(void);
 
-bool SDRV_EXPORT SDrvHandleInterrupt(
-           IN OUT void*     pInstanceData,
-                  uint32_t  nInterruptId);
-
-/*------------------------------------------------------------------------------
-         Secure Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-uint32_t SDRV_EXPORT SDrvSICGetSystemInterrupt(void* pInstanceData);
-
-void SDRV_EXPORT SDrvSICDisableInterrupt(
-                       void*     pInstanceData,
-                       uint32_t  nInterrupt);
-
-void SDRV_EXPORT SDrvSICEnableInterrupt(
-                     void*     pInstanceData,
-                     uint32_t  nInterrupt);
-
-/*------------------------------------------------------------------------------
-         Normal Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-void SDRV_EXPORT SDrvNICSignalNormalWorld(void* pInstanceData);
-
-void SDRV_EXPORT SDrvNICResetSignalNormalWorld(void* pInstanceData);
-
-/*------------------------------------------------------------------------------
-         Interrupt Controller Driver Entry Points
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterOpen(
-               uint32_t                      nReserved,
-               void**                        ppCounterContext,
-               SDRV_MONOTONIC_COUNTER_VALUE* pMaxCounterValue);
-
-void SDRV_EXPORT SDrvMonotonicCounterClose( void* pCounterContext);
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterGet(
-           IN     void*                           pCounterContext,
-           IN OUT SDRV_MONOTONIC_COUNTER_VALUE*   pCounterValue);
-
-S_RESULT SDRV_EXPORT SDrvMonotonicCounterIncrement(
-               IN void*                         pCounterContext,
-           IN OUT SDRV_MONOTONIC_COUNTER_VALUE* pNewCounterValue);
-
-/*------------------------------------------------------------------------------
-         RTC Driver Entry Points
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvRTCOpen(
-         uint32_t nReserved,
-         void**   ppRTCContext);
-
-void SDRV_EXPORT SDrvRTCClose(
-         void* pRTCContext);
-
-S_RESULT SDRV_EXPORT SDrvRTCRead(
-         void*       pRTCContext,
-         uint32_t*   pnTime,
-         bool*       pbIsCorrupted);
-
-S_RESULT SDRV_EXPORT SDrvRTCResetCorruptedFlag(
-            void* pRTCContext);
-
-/*------------------------------------------------------------------------------
-         Trace Driver Entry Points
-------------------------------------------------------------------------------*/
-
-void SDRV_EXPORT SDrvTracePrint(
-           IN       void*   pInstanceData,
-           IN const char*   pString);
-
-void SDRV_EXPORT SDrvTraceSignal(
-           IN     void*    pInstanceData,
-           IN     uint32_t nSignal,
-           IN     uint32_t nReserved);
-
-/*------------------------------------------------------------------------------
-         Crypto Driver Interface definition is in the file sdrv_crypto.h
-------------------------------------------------------------------------------*/
-#include "sdrv_crypto.h"
-
-/*------------------------------------------------------------------------------
-         Memory Driver Functions
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvMemoryAllocateRegion(
-       uint32_t  nReserved,
-IN OUT uint32_t* pnPageCount,
-OUT    uint32_t* pnRegionPhysicalAddressAndAttributes,
-OUT    void**    ppRegionContext);
-
-void SDRV_EXPORT SDrvMemoryFreeRegion(void* pRegionContext);
-
-
 #endif /* #ifndef __SDDI_H__ */
diff --git a/security/tf_sdk/include/sdrv_crypto.h b/security/tf_sdk/include/sdrv_crypto.h
deleted file mode 100644
index 057090e..0000000
--- a/security/tf_sdk/include/sdrv_crypto.h
+++ /dev/null
@@ -1,595 +0,0 @@
-/**
- * Copyright(c) 2011 Trusted Logic.   All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *  * Neither the name Trusted Logic nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * File            : sdrv_crypto.h
- *
- * Last-Author     : Trusted Logic S.A.
- * Created         : August 28, 2007
- *
- */
-
-
-/**
- * SDDI Crypto Driver specification header file.
- */
-
-#ifndef __SDRV_CRYPTO_H__
-#define __SDRV_CRYPTO_H__
-
-#include "s_type.h"
-#include "s_error.h"
-#include "sddi.h"
-
-#ifndef SSDI_EXPORT
-#if defined(WIN32) || defined(__ARMCC_VERSION)
-#ifdef SMODULE_IMPLEMENTATION
-#define SSDI_EXPORT __declspec(dllexport)
-#else
-#define SSDI_EXPORT __declspec(dllimport)
-#endif
-#elif defined(__GNUC__)
-#define SSDI_EXPORT __attribute__ ((visibility ("default")))
-#else
-#define SSDI_EXPORT
-#endif
-#endif   /* !SSDI_EXPORT */
-
-#ifndef SSPI_EXPORT
-#if defined(WIN32) || defined(_WIN32_WCE) || defined(__ARMCC_VERSION)
-#define SSPI_EXPORT __declspec(dllexport)
-#elif defined(__GNUC__)
-#define SSPI_EXPORT __attribute__ ((visibility ("default")))
-#else
-#define SSPI_EXPORT
-#endif
-#endif   /* !SSPI_EXPORT */
-
-
-
-
-/*------------------------------------------------------------------------------
-         SSDI Types
-------------------------------------------------------------------------------*/
-
-typedef struct SDRV_CRYPTO_KEY_INFO
-{
-   uint32_t nKeyType;
-   uint32_t nKeyAlgorithm;
-   uint32_t nKeyBits;
-   uint32_t nUseType;
-   uint32_t nFlags;
-   uint32_t nReserved1;
-   uint32_t nReserved2;
-} SDRV_CRYPTO_KEY_INFO;
-/* Caution: the meaning of nKeyBits depends on the algorithm and the key type */
-
-typedef struct SDRV_CRYPTO_BIGNUM
-{
-   uint32_t nLength;
-   uint8_t *pBuffer;
-} SDRV_CRYPTO_BIGNUM;
-
-/*------------------------------------------------------------------------------
-         Algorithm-dependent structures
-------------------------------------------------------------------------------*/
-
-typedef struct SDRV_CRYPTO_RSA_PUBLIC_KEY
-{
-   SDRV_CRYPTO_BIGNUM modulus;
-   SDRV_CRYPTO_BIGNUM publicExponent;
-} SDRV_CRYPTO_RSA_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_RSA_PRIVATE_KEY
-{
-   SDRV_CRYPTO_BIGNUM modulus;
-   SDRV_CRYPTO_BIGNUM publicExponent;
-   SDRV_CRYPTO_BIGNUM privateExponent;
-   SDRV_CRYPTO_BIGNUM primeP;
-   SDRV_CRYPTO_BIGNUM primeQ;
-   SDRV_CRYPTO_BIGNUM exp1;
-   SDRV_CRYPTO_BIGNUM exp2;
-   SDRV_CRYPTO_BIGNUM coef;
-} SDRV_CRYPTO_RSA_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PUBLIC_KEY
-{
-   SDRV_CRYPTO_BIGNUM p;
-   SDRV_CRYPTO_BIGNUM g;
-   SDRV_CRYPTO_BIGNUM y;
-} SDRV_CRYPTO_DH_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PRIVATE_KEY
-{
-   SDRV_CRYPTO_BIGNUM p;
-   SDRV_CRYPTO_BIGNUM g;
-   SDRV_CRYPTO_BIGNUM x;
-} SDRV_CRYPTO_DH_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_DH_PARAMETERS
-{
-   SDRV_CRYPTO_BIGNUM  p;
-   SDRV_CRYPTO_BIGNUM  g;
-} SDRV_CRYPTO_DH_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_DSA_PARAMETER
-{
-   SDRV_CRYPTO_BIGNUM p;
-   SDRV_CRYPTO_BIGNUM q;
-   SDRV_CRYPTO_BIGNUM g;
-} SDRV_CRYPTO_DSA_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_DSA_PUBLIC_KEY
-{
-   SDRV_CRYPTO_BIGNUM p;
-   SDRV_CRYPTO_BIGNUM q;
-   SDRV_CRYPTO_BIGNUM g;
-   SDRV_CRYPTO_BIGNUM y;
-} SDRV_CRYPTO_DSA_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_DSA_PRIVATE_KEY
-{
-   SDRV_CRYPTO_BIGNUM p;
-   SDRV_CRYPTO_BIGNUM q;
-   SDRV_CRYPTO_BIGNUM g;
-   SDRV_CRYPTO_BIGNUM x;
-} SDRV_CRYPTO_DSA_PRIVATE_KEY;
-
-typedef SDRV_CRYPTO_BIGNUM SDRV_CRYPTO_FIELD_ELEMENT;
-
-typedef struct SDRV_CRYPTO_EC_POINT {
-   uint32_t type;
-   SDRV_CRYPTO_FIELD_ELEMENT x, y;
-}  SDRV_CRYPTO_EC_POINT;
-
-typedef struct SDRV_CRYPTO_EC_PARAMETERS
-{
-   uint32_t fieldType;
-   SDRV_CRYPTO_BIGNUM fieldParam;
-   SDRV_CRYPTO_EC_POINT generator;
-   SDRV_CRYPTO_FIELD_ELEMENT a;
-   SDRV_CRYPTO_FIELD_ELEMENT b;
-   SDRV_CRYPTO_BIGNUM order;
-   uint32_t cofactor;
-   uint32_t seedLen;
-   uint8_t *pSeed;
-}  SDRV_CRYPTO_EC_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_EC_PUBLIC_KEY
-{
-  SDRV_CRYPTO_EC_PARAMETERS domainParameters;
-  SDRV_CRYPTO_EC_POINT publicKey;
-}  SDRV_CRYPTO_EC_PUBLIC_KEY;
-
-typedef struct SDRV_CRYPTO_EC_PRIVATE_KEY
-{
-  SDRV_CRYPTO_EC_PARAMETERS domainParameters;
-  SDRV_CRYPTO_BIGNUM privateKey;
-}  SDRV_CRYPTO_EC_PRIVATE_KEY;
-
-typedef struct SDRV_CRYPTO_ECSVP_DH_KDF_SHA1_PARAMETERS
-{
-  uint32_t sharedInfoLen;
-  uint8_t *pSharedInfo;
-  SDRV_CRYPTO_EC_POINT publicKey;
-} SDRV_CRYPTO_ECSVP_DH_KDF_SHA1_PARAMETERS;
-
-typedef struct SDRV_CRYPTO_EXTENDED_TYPE
-{
-   uint32_t nType;
-   void*    pValue;
-   uint32_t nLen;
-} SDRV_CRYPTO_EXTENDED_TYPE;
-
-
-/*------------------------------------------------------------------------------
-         Constants
-------------------------------------------------------------------------------*/
-
-/* Hardware Key IDs */
-#define SDRV_CRYPTO_HW_KEY_MASTER_ID            1
-#define SDRV_CRYPTO_HW_KEY_CEK_CUSTOMER_ID      3
-#define SDRV_CRYPTO_HW_KEY_KEK_ID               4
-
-/* operation codes */
-#define SDRV_CRYPTO_OP_DIGEST                 0x00000001
-#define SDRV_CRYPTO_OP_SIGN                   0x00000002
-#define SDRV_CRYPTO_OP_VERIFY                 0x00000003
-#define SDRV_CRYPTO_OP_ENCRYPT                0x00000004
-#define SDRV_CRYPTO_OP_DECRYPT                0x00000005
-
-/* encoding formats */
-#define SDRV_CRYPTO_ENCODING_FORMAT_NONE      0x00000000
-
-/* key parameters */
-#define SDRV_CRYPTO_KEY_PARAM_MODULUS          0x00000001
-#define SDRV_CRYPTO_KEY_PARAM_PUBLIC_EXPONENT  0x00000002
-#define SDRV_CRYPTO_KEY_PARAM_GENERATOR        0x00000003
-#define SDRV_CRYPTO_KEY_PARAM_SUBPRIME         0x00000004
-#define SDRV_CRYPTO_KEY_PARAM_PUBLIC_VALUE     0x00000005
-#define SDRV_CRYPTO_KEY_PARAM_VALUE            0x00000006
-
-#define SDRV_CRYPTO_KEY_PARAM_PRIVATE_EXPONENT 0x00000007
-#define SDRV_CRYPTO_KEY_PARAM_PRIME_1          0x00000008
-#define SDRV_CRYPTO_KEY_PARAM_PRIME_2          0x00000009
-#define SDRV_CRYPTO_KEY_PARAM_EXPONENT_1       0x0000000A
-#define SDRV_CRYPTO_KEY_PARAM_EXPONENT_2       0x0000000B
-#define SDRV_CRYPTO_KEY_PARAM_COEFFICIENT      0x0000000C
-
-#define SDRV_CRYPTO_KEY_PARAM_EC_FIELD_TYPE                  0x00000010
-#define SDRV_CRYPTO_KEY_PARAM_EC_GENERATOR_X_UNCOMPRESSED    0x00000011
-#define SDRV_CRYPTO_KEY_PARAM_EC_GENERATOR_Y_UNCOMPRESSED    0x00000012
-#define SDRV_CRYPTO_KEY_PARAM_EC_A                           0x00000013
-#define SDRV_CRYPTO_KEY_PARAM_EC_B                           0x00000014
-#define SDRV_CRYPTO_KEY_PARAM_EC_ORDER                       0x00000015
-#define SDRV_CRYPTO_KEY_PARAM_EC_COFACTOR                    0x00000016
-#define SDRV_CRYPTO_KEY_PARAM_EC_PRIME                       0x00000017
-#define SDRV_CRYPTO_KEY_PARAM_EC_REDUCTION_POLYNOMIAL        0x00000018
-#define SDRV_CRYPTO_KEY_PARAM_EC_SEED                        0x00000019
-#define SDRV_CRYPTO_KEY_PARAM_EC_PUBLIC_VALUE_X_UNCOMPRESSED 0x0000001A
-#define SDRV_CRYPTO_KEY_PARAM_EC_PUBLIC_VALUE_Y_UNCOMPRESSED 0x0000001B
-#define SDRV_CRYPTO_KEY_PARAM_EC_FIELD_SIZE                  0x0000001C
-
-/* key types */
-#define SDRV_CRYPTO_KEY_TYPE_SECRET            0x00000001
-#define SDRV_CRYPTO_KEY_TYPE_PUBLIC            0x00000002
-#define SDRV_CRYPTO_KEY_TYPE_PRIVATE           0x00000003
-#define SDRV_CRYPTO_KEY_TYPE_DATA              0x00000004
-
-#define SDRV_CRYPTO_FIELD_P                    0x00000001
-#define SDRV_CRYPTO_FIELD_2M_POLYNOMIAL        0x00000002
-
-/* key and algorithm usage */
-#define SDRV_CRYPTO_USE_SIGN                   0x00000001
-#define SDRV_CRYPTO_USE_VERIFY                 0x00000002
-#define SDRV_CRYPTO_USE_ENCRYPT                0x00000004
-#define SDRV_CRYPTO_USE_DECRYPT                0x00000008
-#define SDRV_CRYPTO_USE_DERIVE                 0x00000010
-#define SDRV_CRYPTO_USE_UNWRAP                 0x00000020
-#define SDRV_CRYPTO_USE_WRAP                   0x00000040
-#define SDRV_CRYPTO_USE_DIGEST                 0x00000080
-#define SDRV_CRYPTO_USE_SECRET_GENERATION      0x00000100
-#define SDRV_CRYPTO_USE_KEYPAIR_GENERATION     0x00000200
-
-/* key flags */
-#define SDRV_CRYPTO_FLAG_WRAPPABLE             0x00000001
-#define SDRV_CRYPTO_FLAG_NON_SENSITIVE         0x00000002
-#define SDRV_CRYPTO_FLAG_ALLOW_NON_SENSITIVE_DERIVED_KEY   0x00000004
-#define SDRV_CRYPTO_FLAG_COPY_PROHIBITED       0x00000008
-
-/* key storage */
-#define SDRV_CRYPTO_STORAGE_TEMPORARY          0x00000001
-#define SDRV_CRYPTO_STORAGE_PERMANENT          0x00000002
-
-/* algorithm constants */
-#define SDRV_CRYPTO_ALG_NONE                   0x00000000
-#define SDRV_CRYPTO_ALG_RSA_RAW                0x30001001
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_NONE       0x30002001
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_MD5        0x30002601
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA1       0x30002101
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA224     0x30002201
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA256     0x30002301
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA384     0x30002401
-#define SDRV_CRYPTO_ALG_RSA_PKCS1_5_SHA512     0x30002501
-#define SDRV_CRYPTO_ALG_DSA                    0x30000081
-#define SDRV_CRYPTO_ALG_DSA_SHA1               0x30000181
-#define SDRV_CRYPTO_ALG_DH_PKCS3               0x30000082
-#define SDRV_CRYPTO_ALG_ECDSA_SHA1             0x40000101
-#define SDRV_CRYPTO_ALG_AES_ECB                0x10000101
-#define SDRV_CRYPTO_ALG_AES_CBC                0x10000201
-#define SDRV_CRYPTO_ALG_AES_CTR                0x10000301
-#define SDRV_CRYPTO_ALG_AES_MAC                0x60001001
-#define SDRV_CRYPTO_ALG_DES_ECB                0x10000102
-#define SDRV_CRYPTO_ALG_DES_CBC                0x10000202
-#define SDRV_CRYPTO_ALG_DES_MAC                0x60001002
-#define SDRV_CRYPTO_ALG_DES3_EDE_ECB           0x10010104
-#define SDRV_CRYPTO_ALG_DES3_EDE_CBC           0x10010204
-#define SDRV_CRYPTO_ALG_DES3_EDE_MAC           0x60011004
-#define SDRV_CRYPTO_ALG_ARC4                   0x20000005
-#define SDRV_CRYPTO_ALG_MD5                    0x50000061
-#define SDRV_CRYPTO_ALG_SHA1                   0x50000012
-#define SDRV_CRYPTO_ALG_SHA224                 0x50000022
-#define SDRV_CRYPTO_ALG_SHA256                 0x50000032
-#define SDRV_CRYPTO_ALG_SHA384                 0x50000042
-#define SDRV_CRYPTO_ALG_SHA512                 0x50000052
-#define SDRV_CRYPTO_ALG_HMAC_SHA1              0x60000106
-#define SDRV_CRYPTO_ALG_HMAC_SHA224            0x60000206
-#define SDRV_CRYPTO_ALG_HMAC_SHA256            0x60000306
-#define SDRV_CRYPTO_ALG_HMAC_SHA384            0x60000406
-#define SDRV_CRYPTO_ALG_HMAC_SHA512            0x60000506
-#define SDRV_CRYPTO_ALG_HMAC_MD5               0x60000606
-#define SDRV_CRYPTO_ALG_WRAP_SECURE_STORAGE    0x80000000
-#define SDRV_CRYPTO_ALG_GEN_RSA_PKCS1          0x90000001
-#define SDRV_CRYPTO_ALG_GEN_DSA                0x90000002
-#define SDRV_CRYPTO_ALG_GEN_EC                 0x90000003
-#define SDRV_CRYPTO_ALG_GEN_DH_PKCS3           0x90000004
-#define SDRV_CRYPTO_ALG_GEN_AES                0x90000081
-#define SDRV_CRYPTO_ALG_GEN_DES                0x90000082
-#define SDRV_CRYPTO_ALG_GEN_DES2               0x90000083
-#define SDRV_CRYPTO_ALG_GEN_DES3               0x90000084
-#define SDRV_CRYPTO_ALG_GEN_ARC4               0x90000085
-#define SDRV_CRYPTO_ALG_GEN_GENERIC_SECRET     0x90000080
-
-/* vendor defined algorithms constants */
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_0       0x100000F0
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_1       0x100000F1
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_2       0x100000F2
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_3       0x100000F3
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_4       0x100000F4
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_5       0x100000F5
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_6       0x100000F6
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_7       0x100000F7
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_8       0x100000F8
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_9       0x100000F9
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_10      0x100000FA
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_11      0x100000FB
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_12      0x100000FC
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_13      0x100000FD
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_14      0x100000FE
-#define SDRV_CRYPTO_ALG_VENDOR_DEFINED_15      0x100000FF
-
-/* key algorithm mask */
-#define SDRV_CRYPTO_ALG_KEY_MASK               0xF00000FF
-
-/* standard and restricted modes */
-#define SDRV_CRYPTO_STANDARD_MODE              0x00000000
-#define SDRV_CRYPTO_RESTRICTED_MODE            0x00000001
-
-/*------------------------------------------------------------------------------
-         Crypto Driver Functions
-------------------------------------------------------------------------------*/
-
-S_RESULT SDRV_EXPORT SDrvCryptoOpen(
-                     OUT void** ppSessionContext);
-
-void SDRV_EXPORT SDrvCryptoClose(
-                      IN void* pSessionContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoOpenHardwareKey(
-                      IN void*      pSessionContext,
-                      IN uint32_t   nHWKeyID,
-                      IN uint32_t   nHWFlags,
-                     OUT void**     ppKeyContext,
-                     OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo);
-
-void SDRV_EXPORT SDrvCryptoCloseKeyContext(
-                      IN void* pSessionContext,
-                      IN void* pKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoInitOperation(
-                   IN    void* pSessionContext,
-                     uint32_t  nOperation,
-                     uint32_t  nAlgorithm,
-               IN const void*  pParameter,
-                     uint32_t  nParameterLen,
-                   IN    void* pKeyContext,
-                  OUT   void** ppOperationContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoEncrypt(
-                  IN     void* pOperationContext,
-             IN const uint8_t* pData,
-                     uint32_t  nDataLen,
-                 OUT  uint8_t* pEncryptedData,
-                         void* pReserved,
-                         bool  bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoEncryptUpdate(
-                      IN void* pOperationContext,
-             IN const uint8_t* pPart,
-                     uint32_t  nPartLen,
-                  OUT uint8_t* pEncryptedPart,
-                         void* pReserved,
-                         bool  bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDecrypt(
-                  IN void*     pOperationContext,
-            IN const uint8_t*  pEncryptedData,
-                     uint32_t  nEncryptedDataLen,
-                 OUT uint8_t*  pData,
-                     void*     pReserved,
-                  IN bool      bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDecryptUpdate(
-               IN       void*  pOperationContext,
-            IN const uint8_t*  pEncryptedPart,
-                    uint32_t   nEncryptedPartLen,
-               OUT   uint8_t*  pPart,
-                        void*  pReserved,
-                        bool   bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSign(
-                     IN void*  pOperationContext,
-            IN const uint8_t*  pData,
-                    uint32_t   nDataLen,
-                  OUT uint8_t* pSignature,
-                       void*   pReserved,
-                       bool    bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSignUpdate(
-              IN       void*   pOperationContext,
-           IN const uint8_t*   pPart,
-                   uint32_t    nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoSignLast(
-                 IN     void*  pOperationContext,
-                 OUT uint8_t*  pSignature,
-                        void*  pReserved,
-                 IN     bool   bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerify(
-                  IN    void*  pOperationContext,
-            IN const uint8_t*  pData,
-                     uint32_t  nDataLen,
-            IN const uint8_t*  pSignature,
-                        void*  pReserved,
-                         bool  bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerifyUpdate(
-                      IN void* pOperationContext,
-             IN const uint8_t* pPart,
-                     uint32_t  nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoVerifyLast(
-                  IN     void* pOperationContext,
-             IN const uint8_t* pSignature,
-                         void* pReserved,
-                         bool  bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigest(
-                      IN void* pOperationContext,
-             IN const uint8_t* pData,
-                     uint32_t  nDataLen,
-                 OUT  uint8_t* pDigest,
-                         void* pReserved,
-                     bool      bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigestUpdate(
-                      IN void* pOperationContext,
-             IN const uint8_t* pPart,
-                     uint32_t  nPartLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDigestLast(
-                  IN void*     pOperationContext,
-                  OUT uint8_t* pDigest,
-                      void*    pReserved,
-                      bool     bTerminate);
-
-S_RESULT SDRV_EXPORT SDrvCryptoResetOperation(
-                   IN void*    pOperationContext,
-                   IN uint32_t nOperation,
-                   IN void*    pKeyContext,
-             IN const void*    pParameter,
-                      uint32_t nParameterLen);
-
-void SDRV_EXPORT SDrvCryptoTerminateOperation(
-                      IN void* pOperationContext,
-                         void* pReserved);
-
-S_RESULT SDRV_EXPORT SDrvCryptoCreateKey(
-      IN void*                  pSessionContext,
-  IN OUT SDRV_CRYPTO_KEY_INFO*  pKeyInfo,
-IN const void*                  pKey,
-         uint32_t               nKeyLen,
-     OUT void**                 ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoStoreKey(
-                 IN void*      pSessionContext,
-                 IN void*      pSourceKeyContext,
-      IN SDRV_CRYPTO_KEY_INFO* pSourceKeyInfo);
-
-S_RESULT SDRV_EXPORT SDrvCryptoLoadKey(
-                 IN void*      pSessionContext,
-      IN SDRV_CRYPTO_KEY_INFO* pDestinationKeyInfo,
-                OUT void**     ppDestinationKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoCopyObject(
-     IN  void*                 pSessionContext,
-     IN  void*                 pSourceKeyContext,
-  IN OUT SDRV_CRYPTO_KEY_INFO* pTargetKeyInfo,
-     OUT void**                ppTargetKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateSecretKey(
-      IN void*                 pSessionContext,
-         uint32_t              nGenerationAlgorithm,
-  IN OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo,
-IN const void*                 pParameter,
-         uint32_t              nParameterLen,
-         void*                 pReserved,
-         uint32_t              nReservedLen,
-     OUT void**                ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateKeyPair(
-      IN void*                 pSessionContext,
-         uint32_t              nGenerationAlgorithm,
-  IN OUT SDRV_CRYPTO_KEY_INFO*  pPrivateKeyInfo,
-  IN OUT SDRV_CRYPTO_KEY_INFO*  pPublicKeyInfo,
-IN const void*                  pParameter,
-         uint32_t               nParameterLen,
-         void*                 pReserved1,
-         uint32_t               nReserved1Len,
-         void*                  pReserved2,
-         uint32_t               nReserved2Len,
-     OUT void**                ppPrivateKeyContext,
-     OUT void**                ppPublicKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoDeriveKey(
-     IN  void*                 pSessionContext,
-         uint32_t              derivationAlgorithm,
-IN const void*                 pParameter,
-         uint32_t              nParameterLen,
-     IN  void*                 pSourceKeyContext,
-  IN OUT SDRV_CRYPTO_KEY_INFO* pTargetKeyInfo,
-     IN  void*                 pReserved,
-         uint32_t              nReservedLen,
-     OUT void**                ppTargetKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoUnwrapKey(
-      IN void*                 pSessionContext,
-         uint32_t              nDecryptionAlgorithm,
-         uint32_t              nEncodingFormat,
-IN const void*                 pParameter,
-         uint32_t              nParameterLen,
-      IN void*                 pDecryptionKeyContext,
-IN const uint8_t*              pWrappedBuffer,
-         uint32_t              nWrappedBufferLength,
-  IN OUT SDRV_CRYPTO_KEY_INFO* pKeyInfo,
-         void*                 pReserved,
-         uint32_t              nReservedLen,
-     OUT void**                ppKeyContext);
-
-S_RESULT SDRV_EXPORT SDrvCryptoWrapKey(
-                IN void*       pSessionContext,
-                   uint32_t    nEncodingFormat,
-                   uint32_t    nEncryptionAlgorithm,
-          IN const void*       pParameter,
-                   uint32_t    nParameterLen,
-                IN void*       pEncryptionKeyContext,
-                IN void*       pSourceKeyContext,
-            IN OUT uint8_t*    pWrappedBuffer,
-                   void*       pReserved);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGetKeyParam(
-                 IN  void*     pKeyContext,
-                     uint32_t  keyParam,
-                OUT  uint8_t*  pParameter,
-             IN OUT  uint32_t* pnParameterLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoAddEntropy(
-                   IN void*    pSessionContext,
-             IN const uint8_t* pSeed,
-                      uint32_t nSeedLen);
-
-S_RESULT SDRV_EXPORT SDrvCryptoGenerateRandom(
-                   IN void*    pSessionContext,
-                     uint32_t  nReserved,
-                  OUT uint8_t* pResultBuffer,
-                      uint32_t nResultBufferLen);
-
-#endif /* __SDRV_CRYPTO_H__ */