diff options
Diffstat (limited to 'ext/ipp/sources/ippcp/owncp.h')
-rw-r--r-- | ext/ipp/sources/ippcp/owncp.h | 711 |
1 files changed, 711 insertions, 0 deletions
diff --git a/ext/ipp/sources/ippcp/owncp.h b/ext/ipp/sources/ippcp/owncp.h new file mode 100644 index 0000000..c5dec5e --- /dev/null +++ b/ext/ipp/sources/ippcp/owncp.h @@ -0,0 +1,711 @@ +/******************************************************************************* +* Copyright 2002-2018 Intel Corporation +* All Rights Reserved. +* +* If this software was obtained under the Intel Simplified Software License, +* the following terms apply: +* +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. The +* Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. No part of the Material may be used, copied, reproduced, +* modified, published, uploaded, posted, transmitted, distributed or disclosed +* in any way without Intel's prior express written permission. No license under +* any patent, copyright or other intellectual property rights in the Material +* is granted to or conferred upon you, either expressly, by implication, +* inducement, estoppel or otherwise. Any license under such intellectual +* property rights must be express and approved by Intel in writing. +* +* Unless otherwise agreed by Intel in writing, you may not remove or alter this +* notice or any other notice embedded in Materials by Intel or Intel's +* suppliers or licensors in any way. +* +* +* If this software was obtained under the Apache License, Version 2.0 (the +* "License"), the following terms apply: +* +* You may not use this file except in compliance with the License. You may +* obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 +* +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +* See the License for the specific language governing permissions and +* limitations under the License. +*******************************************************************************/ +/******* FILE MODIFIED FROM ORIGINAL 2019u1 RELEASE TO AVOID WARNINGS *********/ +/* +// Intel(R) Integrated Performance Primitives +// Cryptographic Primitives (ippcp) +*/ + +#ifndef __OWNCP_H__ +#define __OWNCP_H__ + +#ifndef __OWNDEFS_H__ + #include "owndefs.h" +#endif + +#ifndef IPPCP_H__ + +#define ippcpGetLibVersion OWNAPI(ippcpGetLibVersion) +#define ippsDESGetSize OWNAPI(ippsDESGetSize) +#define ippsDESInit OWNAPI(ippsDESInit) +#define ippsDESPack OWNAPI(ippsDESPack) +#define ippsDESUnpack OWNAPI(ippsDESUnpack) +#define ippsTDESEncryptECB OWNAPI(ippsTDESEncryptECB) +#define ippsTDESDecryptECB OWNAPI(ippsTDESDecryptECB) +#define ippsTDESEncryptCBC OWNAPI(ippsTDESEncryptCBC) +#define ippsTDESDecryptCBC OWNAPI(ippsTDESDecryptCBC) +#define ippsTDESEncryptCFB OWNAPI(ippsTDESEncryptCFB) +#define ippsTDESDecryptCFB OWNAPI(ippsTDESDecryptCFB) +#define ippsTDESEncryptOFB OWNAPI(ippsTDESEncryptOFB) +#define ippsTDESDecryptOFB OWNAPI(ippsTDESDecryptOFB) +#define ippsTDESEncryptCTR OWNAPI(ippsTDESEncryptCTR) +#define ippsTDESDecryptCTR OWNAPI(ippsTDESDecryptCTR) +#define ippsAESGetSize OWNAPI(ippsAESGetSize) +#define ippsAESInit OWNAPI(ippsAESInit) +#define ippsAESSetKey OWNAPI(ippsAESSetKey) +#define ippsAESPack OWNAPI(ippsAESPack) +#define ippsAESUnpack OWNAPI(ippsAESUnpack) +#define ippsAESEncryptECB OWNAPI(ippsAESEncryptECB) +#define ippsAESDecryptECB OWNAPI(ippsAESDecryptECB) +#define ippsAESEncryptCBC OWNAPI(ippsAESEncryptCBC) +#define ippsAESEncryptCBC_CS1 OWNAPI(ippsAESEncryptCBC_CS1) +#define ippsAESEncryptCBC_CS2 OWNAPI(ippsAESEncryptCBC_CS2) +#define ippsAESEncryptCBC_CS3 OWNAPI(ippsAESEncryptCBC_CS3) +#define ippsAESDecryptCBC OWNAPI(ippsAESDecryptCBC) +#define ippsAESDecryptCBC_CS1 OWNAPI(ippsAESDecryptCBC_CS1) +#define ippsAESDecryptCBC_CS2 OWNAPI(ippsAESDecryptCBC_CS2) +#define ippsAESDecryptCBC_CS3 OWNAPI(ippsAESDecryptCBC_CS3) +#define ippsAESEncryptCFB OWNAPI(ippsAESEncryptCFB) +#define ippsAESDecryptCFB OWNAPI(ippsAESDecryptCFB) +#define ippsAESEncryptOFB OWNAPI(ippsAESEncryptOFB) +#define ippsAESDecryptOFB OWNAPI(ippsAESDecryptOFB) +#define ippsAESEncryptCTR OWNAPI(ippsAESEncryptCTR) +#define ippsAESDecryptCTR OWNAPI(ippsAESDecryptCTR) +#define ippsAESEncryptXTS_Direct OWNAPI(ippsAESEncryptXTS_Direct) +#define ippsAESDecryptXTS_Direct OWNAPI(ippsAESDecryptXTS_Direct) +#define ippsSMS4GetSize OWNAPI(ippsSMS4GetSize) +#define ippsSMS4Init OWNAPI(ippsSMS4Init) +#define ippsSMS4SetKey OWNAPI(ippsSMS4SetKey) +#define ippsSMS4EncryptECB OWNAPI(ippsSMS4EncryptECB) +#define ippsSMS4DecryptECB OWNAPI(ippsSMS4DecryptECB) +#define ippsSMS4EncryptCBC OWNAPI(ippsSMS4EncryptCBC) +#define ippsSMS4EncryptCBC_CS1 OWNAPI(ippsSMS4EncryptCBC_CS1) +#define ippsSMS4EncryptCBC_CS2 OWNAPI(ippsSMS4EncryptCBC_CS2) +#define ippsSMS4EncryptCBC_CS3 OWNAPI(ippsSMS4EncryptCBC_CS3) +#define ippsSMS4DecryptCBC OWNAPI(ippsSMS4DecryptCBC) +#define ippsSMS4DecryptCBC_CS1 OWNAPI(ippsSMS4DecryptCBC_CS1) +#define ippsSMS4DecryptCBC_CS2 OWNAPI(ippsSMS4DecryptCBC_CS2) +#define ippsSMS4DecryptCBC_CS3 OWNAPI(ippsSMS4DecryptCBC_CS3) +#define ippsSMS4EncryptCFB OWNAPI(ippsSMS4EncryptCFB) +#define ippsSMS4DecryptCFB OWNAPI(ippsSMS4DecryptCFB) +#define ippsSMS4EncryptOFB OWNAPI(ippsSMS4EncryptOFB) +#define ippsSMS4DecryptOFB OWNAPI(ippsSMS4DecryptOFB) +#define ippsSMS4EncryptCTR OWNAPI(ippsSMS4EncryptCTR) +#define ippsSMS4DecryptCTR OWNAPI(ippsSMS4DecryptCTR) +#define ippsSMS4_CCMGetSize OWNAPI(ippsSMS4_CCMGetSize) +#define ippsSMS4_CCMInit OWNAPI(ippsSMS4_CCMInit) +#define ippsSMS4_CCMMessageLen OWNAPI(ippsSMS4_CCMMessageLen) +#define ippsSMS4_CCMTagLen OWNAPI(ippsSMS4_CCMTagLen) +#define ippsSMS4_CCMStart OWNAPI(ippsSMS4_CCMStart) +#define ippsSMS4_CCMEncrypt OWNAPI(ippsSMS4_CCMEncrypt) +#define ippsSMS4_CCMDecrypt OWNAPI(ippsSMS4_CCMDecrypt) +#define ippsSMS4_CCMGetTag OWNAPI(ippsSMS4_CCMGetTag) +#define ippsAES_CCMGetSize OWNAPI(ippsAES_CCMGetSize) +#define ippsAES_CCMInit OWNAPI(ippsAES_CCMInit) +#define ippsAES_CCMMessageLen OWNAPI(ippsAES_CCMMessageLen) +#define ippsAES_CCMTagLen OWNAPI(ippsAES_CCMTagLen) +#define ippsAES_CCMStart OWNAPI(ippsAES_CCMStart) +#define ippsAES_CCMEncrypt OWNAPI(ippsAES_CCMEncrypt) +#define ippsAES_CCMDecrypt OWNAPI(ippsAES_CCMDecrypt) +#define ippsAES_CCMGetTag OWNAPI(ippsAES_CCMGetTag) +#define ippsAES_GCMGetSize OWNAPI(ippsAES_GCMGetSize) +#define ippsAES_GCMInit OWNAPI(ippsAES_GCMInit) +#define ippsAES_GCMReset OWNAPI(ippsAES_GCMReset) +#define ippsAES_GCMProcessIV OWNAPI(ippsAES_GCMProcessIV) +#define ippsAES_GCMProcessAAD OWNAPI(ippsAES_GCMProcessAAD) +#define ippsAES_GCMStart OWNAPI(ippsAES_GCMStart) +#define ippsAES_GCMEncrypt OWNAPI(ippsAES_GCMEncrypt) +#define ippsAES_GCMDecrypt OWNAPI(ippsAES_GCMDecrypt) +#define ippsAES_GCMGetTag OWNAPI(ippsAES_GCMGetTag) +#define ippsAES_XTSGetSize OWNAPI(ippsAES_XTSGetSize) +#define ippsAES_XTSInit OWNAPI(ippsAES_XTSInit) +#define ippsAES_XTSEncrypt OWNAPI(ippsAES_XTSEncrypt) +#define ippsAES_XTSDecrypt OWNAPI(ippsAES_XTSDecrypt) +#define ippsAES_S2V_CMAC OWNAPI(ippsAES_S2V_CMAC) +#define ippsAES_SIVEncrypt OWNAPI(ippsAES_SIVEncrypt) +#define ippsAES_SIVDecrypt OWNAPI(ippsAES_SIVDecrypt) +#define ippsAES_CMACGetSize OWNAPI(ippsAES_CMACGetSize) +#define ippsAES_CMACInit OWNAPI(ippsAES_CMACInit) +#define ippsAES_CMACUpdate OWNAPI(ippsAES_CMACUpdate) +#define ippsAES_CMACFinal OWNAPI(ippsAES_CMACFinal) +#define ippsAES_CMACGetTag OWNAPI(ippsAES_CMACGetTag) +#define ippsARCFourCheckKey OWNAPI(ippsARCFourCheckKey) +#define ippsARCFourGetSize OWNAPI(ippsARCFourGetSize) +#define ippsARCFourInit OWNAPI(ippsARCFourInit) +#define ippsARCFourReset OWNAPI(ippsARCFourReset) +#define ippsARCFourPack OWNAPI(ippsARCFourPack) +#define ippsARCFourUnpack OWNAPI(ippsARCFourUnpack) +#define ippsARCFourEncrypt OWNAPI(ippsARCFourEncrypt) +#define ippsARCFourDecrypt OWNAPI(ippsARCFourDecrypt) +#define ippsSHA1GetSize OWNAPI(ippsSHA1GetSize) +#define ippsSHA1Init OWNAPI(ippsSHA1Init) +#define ippsSHA1Duplicate OWNAPI(ippsSHA1Duplicate) +#define ippsSHA1Pack OWNAPI(ippsSHA1Pack) +#define ippsSHA1Unpack OWNAPI(ippsSHA1Unpack) +#define ippsSHA1Update OWNAPI(ippsSHA1Update) +#define ippsSHA1GetTag OWNAPI(ippsSHA1GetTag) +#define ippsSHA1Final OWNAPI(ippsSHA1Final) +#define ippsSHA1MessageDigest OWNAPI(ippsSHA1MessageDigest) +#define ippsSHA224GetSize OWNAPI(ippsSHA224GetSize) +#define ippsSHA224Init OWNAPI(ippsSHA224Init) +#define ippsSHA224Duplicate OWNAPI(ippsSHA224Duplicate) +#define ippsSHA224Pack OWNAPI(ippsSHA224Pack) +#define ippsSHA224Unpack OWNAPI(ippsSHA224Unpack) +#define ippsSHA224Update OWNAPI(ippsSHA224Update) +#define ippsSHA224GetTag OWNAPI(ippsSHA224GetTag) +#define ippsSHA224Final OWNAPI(ippsSHA224Final) +#define ippsSHA224MessageDigest OWNAPI(ippsSHA224MessageDigest) +#define ippsSHA256GetSize OWNAPI(ippsSHA256GetSize) +#define ippsSHA256Init OWNAPI(ippsSHA256Init) +#define ippsSHA256Duplicate OWNAPI(ippsSHA256Duplicate) +#define ippsSHA256Pack OWNAPI(ippsSHA256Pack) +#define ippsSHA256Unpack OWNAPI(ippsSHA256Unpack) +#define ippsSHA256Update OWNAPI(ippsSHA256Update) +#define ippsSHA256GetTag OWNAPI(ippsSHA256GetTag) +#define ippsSHA256Final OWNAPI(ippsSHA256Final) +#define ippsSHA256MessageDigest OWNAPI(ippsSHA256MessageDigest) +#define ippsSHA384GetSize OWNAPI(ippsSHA384GetSize) +#define ippsSHA384Init OWNAPI(ippsSHA384Init) +#define ippsSHA384Duplicate OWNAPI(ippsSHA384Duplicate) +#define ippsSHA384Pack OWNAPI(ippsSHA384Pack) +#define ippsSHA384Unpack OWNAPI(ippsSHA384Unpack) +#define ippsSHA384Update OWNAPI(ippsSHA384Update) +#define ippsSHA384GetTag OWNAPI(ippsSHA384GetTag) +#define ippsSHA384Final OWNAPI(ippsSHA384Final) +#define ippsSHA384MessageDigest OWNAPI(ippsSHA384MessageDigest) +#define ippsSHA512GetSize OWNAPI(ippsSHA512GetSize) +#define ippsSHA512Init OWNAPI(ippsSHA512Init) +#define ippsSHA512Duplicate OWNAPI(ippsSHA512Duplicate) +#define ippsSHA512Pack OWNAPI(ippsSHA512Pack) +#define ippsSHA512Unpack OWNAPI(ippsSHA512Unpack) +#define ippsSHA512Update OWNAPI(ippsSHA512Update) +#define ippsSHA512GetTag OWNAPI(ippsSHA512GetTag) +#define ippsSHA512Final OWNAPI(ippsSHA512Final) +#define ippsSHA512MessageDigest OWNAPI(ippsSHA512MessageDigest) +#define ippsMD5GetSize OWNAPI(ippsMD5GetSize) +#define ippsMD5Init OWNAPI(ippsMD5Init) +#define ippsMD5Duplicate OWNAPI(ippsMD5Duplicate) +#define ippsMD5Pack OWNAPI(ippsMD5Pack) +#define ippsMD5Unpack OWNAPI(ippsMD5Unpack) +#define ippsMD5Update OWNAPI(ippsMD5Update) +#define ippsMD5GetTag OWNAPI(ippsMD5GetTag) +#define ippsMD5Final OWNAPI(ippsMD5Final) +#define ippsMD5MessageDigest OWNAPI(ippsMD5MessageDigest) +#define ippsSM3GetSize OWNAPI(ippsSM3GetSize) +#define ippsSM3Init OWNAPI(ippsSM3Init) +#define ippsSM3Duplicate OWNAPI(ippsSM3Duplicate) +#define ippsSM3Pack OWNAPI(ippsSM3Pack) +#define ippsSM3Unpack OWNAPI(ippsSM3Unpack) +#define ippsSM3Update OWNAPI(ippsSM3Update) +#define ippsSM3GetTag OWNAPI(ippsSM3GetTag) +#define ippsSM3Final OWNAPI(ippsSM3Final) +#define ippsSM3MessageDigest OWNAPI(ippsSM3MessageDigest) +#define ippsHashGetSize OWNAPI(ippsHashGetSize) +#define ippsHashInit OWNAPI(ippsHashInit) +#define ippsHashPack OWNAPI(ippsHashPack) +#define ippsHashUnpack OWNAPI(ippsHashUnpack) +#define ippsHashDuplicate OWNAPI(ippsHashDuplicate) +#define ippsHashUpdate OWNAPI(ippsHashUpdate) +#define ippsHashGetTag OWNAPI(ippsHashGetTag) +#define ippsHashFinal OWNAPI(ippsHashFinal) +#define ippsHashMessage OWNAPI(ippsHashMessage) +#define ippsHashMethod_MD5 OWNAPI(ippsHashMethod_MD5) +#define ippsHashMethod_SM3 OWNAPI(ippsHashMethod_SM3) +#define ippsHashMethod_SHA1 OWNAPI(ippsHashMethod_SHA1) +#define ippsHashMethod_SHA1_NI OWNAPI(ippsHashMethod_SHA1_NI) +#define ippsHashMethod_SHA1_TT OWNAPI(ippsHashMethod_SHA1_TT) +#define ippsHashMethod_SHA256 OWNAPI(ippsHashMethod_SHA256) +#define ippsHashMethod_SHA256_NI OWNAPI(ippsHashMethod_SHA256_NI) +#define ippsHashMethod_SHA256_TT OWNAPI(ippsHashMethod_SHA256_TT) +#define ippsHashMethod_SHA224 OWNAPI(ippsHashMethod_SHA224) +#define ippsHashMethod_SHA224_NI OWNAPI(ippsHashMethod_SHA224_NI) +#define ippsHashMethod_SHA224_TT OWNAPI(ippsHashMethod_SHA224_TT) +#define ippsHashMethod_SHA512 OWNAPI(ippsHashMethod_SHA512) +#define ippsHashMethod_SHA384 OWNAPI(ippsHashMethod_SHA384) +#define ippsHashMethod_SHA512_256 OWNAPI(ippsHashMethod_SHA512_256) +#define ippsHashMethod_SHA512_224 OWNAPI(ippsHashMethod_SHA512_224) +#define ippsHashGetSize_rmf OWNAPI(ippsHashGetSize_rmf) +#define ippsHashInit_rmf OWNAPI(ippsHashInit_rmf) +#define ippsHashPack_rmf OWNAPI(ippsHashPack_rmf) +#define ippsHashUnpack_rmf OWNAPI(ippsHashUnpack_rmf) +#define ippsHashDuplicate_rmf OWNAPI(ippsHashDuplicate_rmf) +#define ippsHashUpdate_rmf OWNAPI(ippsHashUpdate_rmf) +#define ippsHashGetTag_rmf OWNAPI(ippsHashGetTag_rmf) +#define ippsHashFinal_rmf OWNAPI(ippsHashFinal_rmf) +#define ippsHashMessage_rmf OWNAPI(ippsHashMessage_rmf) +#define ippsMGF OWNAPI(ippsMGF) +#define ippsMGF1_rmf OWNAPI(ippsMGF1_rmf) +#define ippsMGF2_rmf OWNAPI(ippsMGF2_rmf) +#define ippsHMAC_GetSize OWNAPI(ippsHMAC_GetSize) +#define ippsHMAC_Init OWNAPI(ippsHMAC_Init) +#define ippsHMAC_Pack OWNAPI(ippsHMAC_Pack) +#define ippsHMAC_Unpack OWNAPI(ippsHMAC_Unpack) +#define ippsHMAC_Duplicate OWNAPI(ippsHMAC_Duplicate) +#define ippsHMAC_Update OWNAPI(ippsHMAC_Update) +#define ippsHMAC_Final OWNAPI(ippsHMAC_Final) +#define ippsHMAC_GetTag OWNAPI(ippsHMAC_GetTag) +#define ippsHMAC_Message OWNAPI(ippsHMAC_Message) +#define ippsHMACGetSize_rmf OWNAPI(ippsHMACGetSize_rmf) +#define ippsHMACInit_rmf OWNAPI(ippsHMACInit_rmf) +#define ippsHMACPack_rmf OWNAPI(ippsHMACPack_rmf) +#define ippsHMACUnpack_rmf OWNAPI(ippsHMACUnpack_rmf) +#define ippsHMACDuplicate_rmf OWNAPI(ippsHMACDuplicate_rmf) +#define ippsHMACUpdate_rmf OWNAPI(ippsHMACUpdate_rmf) +#define ippsHMACFinal_rmf OWNAPI(ippsHMACFinal_rmf) +#define ippsHMACGetTag_rmf OWNAPI(ippsHMACGetTag_rmf) +#define ippsHMACMessage_rmf OWNAPI(ippsHMACMessage_rmf) +#define ippsBigNumGetSize OWNAPI(ippsBigNumGetSize) +#define ippsBigNumInit OWNAPI(ippsBigNumInit) +#define ippsCmpZero_BN OWNAPI(ippsCmpZero_BN) +#define ippsCmp_BN OWNAPI(ippsCmp_BN) +#define ippsGetSize_BN OWNAPI(ippsGetSize_BN) +#define ippsSet_BN OWNAPI(ippsSet_BN) +#define ippsGet_BN OWNAPI(ippsGet_BN) +#define ippsRef_BN OWNAPI(ippsRef_BN) +#define ippsExtGet_BN OWNAPI(ippsExtGet_BN) +#define ippsAdd_BN OWNAPI(ippsAdd_BN) +#define ippsSub_BN OWNAPI(ippsSub_BN) +#define ippsMul_BN OWNAPI(ippsMul_BN) +#define ippsMAC_BN_I OWNAPI(ippsMAC_BN_I) +#define ippsDiv_BN OWNAPI(ippsDiv_BN) +#define ippsMod_BN OWNAPI(ippsMod_BN) +#define ippsGcd_BN OWNAPI(ippsGcd_BN) +#define ippsModInv_BN OWNAPI(ippsModInv_BN) +#define ippsSetOctString_BN OWNAPI(ippsSetOctString_BN) +#define ippsGetOctString_BN OWNAPI(ippsGetOctString_BN) +#define ippsMontGetSize OWNAPI(ippsMontGetSize) +#define ippsMontInit OWNAPI(ippsMontInit) +#define ippsMontSet OWNAPI(ippsMontSet) +#define ippsMontGet OWNAPI(ippsMontGet) +#define ippsMontForm OWNAPI(ippsMontForm) +#define ippsMontMul OWNAPI(ippsMontMul) +#define ippsMontExp OWNAPI(ippsMontExp) +#define ippsPRNGGetSize OWNAPI(ippsPRNGGetSize) +#define ippsPRNGInit OWNAPI(ippsPRNGInit) +#define ippsPRNGSetModulus OWNAPI(ippsPRNGSetModulus) +#define ippsPRNGSetH0 OWNAPI(ippsPRNGSetH0) +#define ippsPRNGSetAugment OWNAPI(ippsPRNGSetAugment) +#define ippsPRNGSetSeed OWNAPI(ippsPRNGSetSeed) +#define ippsPRNGGetSeed OWNAPI(ippsPRNGGetSeed) +#define ippsPRNGen OWNAPI(ippsPRNGen) +#define ippsPRNGen_BN OWNAPI(ippsPRNGen_BN) +#define ippsPRNGenRDRAND OWNAPI(ippsPRNGenRDRAND) +#define ippsPRNGenRDRAND_BN OWNAPI(ippsPRNGenRDRAND_BN) +#define ippsTRNGenRDSEED OWNAPI(ippsTRNGenRDSEED) +#define ippsTRNGenRDSEED_BN OWNAPI(ippsTRNGenRDSEED_BN) +#define ippsPrimeGetSize OWNAPI(ippsPrimeGetSize) +#define ippsPrimeInit OWNAPI(ippsPrimeInit) +#define ippsPrimeGen OWNAPI(ippsPrimeGen) +#define ippsPrimeTest OWNAPI(ippsPrimeTest) +#define ippsPrimeGen_BN OWNAPI(ippsPrimeGen_BN) +#define ippsPrimeTest_BN OWNAPI(ippsPrimeTest_BN) +#define ippsPrimeGet OWNAPI(ippsPrimeGet) +#define ippsPrimeGet_BN OWNAPI(ippsPrimeGet_BN) +#define ippsPrimeSet OWNAPI(ippsPrimeSet) +#define ippsPrimeSet_BN OWNAPI(ippsPrimeSet_BN) +#define ippsRSA_GetSizePublicKey OWNAPI(ippsRSA_GetSizePublicKey) +#define ippsRSA_InitPublicKey OWNAPI(ippsRSA_InitPublicKey) +#define ippsRSA_SetPublicKey OWNAPI(ippsRSA_SetPublicKey) +#define ippsRSA_GetPublicKey OWNAPI(ippsRSA_GetPublicKey) +#define ippsRSA_GetSizePrivateKeyType1 OWNAPI(ippsRSA_GetSizePrivateKeyType1) +#define ippsRSA_InitPrivateKeyType1 OWNAPI(ippsRSA_InitPrivateKeyType1) +#define ippsRSA_SetPrivateKeyType1 OWNAPI(ippsRSA_SetPrivateKeyType1) +#define ippsRSA_GetPrivateKeyType1 OWNAPI(ippsRSA_GetPrivateKeyType1) +#define ippsRSA_GetSizePrivateKeyType2 OWNAPI(ippsRSA_GetSizePrivateKeyType2) +#define ippsRSA_InitPrivateKeyType2 OWNAPI(ippsRSA_InitPrivateKeyType2) +#define ippsRSA_SetPrivateKeyType2 OWNAPI(ippsRSA_SetPrivateKeyType2) +#define ippsRSA_GetPrivateKeyType2 OWNAPI(ippsRSA_GetPrivateKeyType2) +#define ippsRSA_GetBufferSizePublicKey OWNAPI(ippsRSA_GetBufferSizePublicKey) +#define ippsRSA_GetBufferSizePrivateKey OWNAPI(ippsRSA_GetBufferSizePrivateKey) +#define ippsRSA_Encrypt OWNAPI(ippsRSA_Encrypt) +#define ippsRSA_Decrypt OWNAPI(ippsRSA_Decrypt) +#define ippsRSA_GenerateKeys OWNAPI(ippsRSA_GenerateKeys) +#define ippsRSA_ValidateKeys OWNAPI(ippsRSA_ValidateKeys) +#define ippsRSAEncrypt_OAEP OWNAPI(ippsRSAEncrypt_OAEP) +#define ippsRSADecrypt_OAEP OWNAPI(ippsRSADecrypt_OAEP) +#define ippsRSAEncrypt_OAEP_rmf OWNAPI(ippsRSAEncrypt_OAEP_rmf) +#define ippsRSADecrypt_OAEP_rmf OWNAPI(ippsRSADecrypt_OAEP_rmf) +#define ippsRSAEncrypt_PKCSv15 OWNAPI(ippsRSAEncrypt_PKCSv15) +#define ippsRSADecrypt_PKCSv15 OWNAPI(ippsRSADecrypt_PKCSv15) +#define ippsRSASign_PSS OWNAPI(ippsRSASign_PSS) +#define ippsRSAVerify_PSS OWNAPI(ippsRSAVerify_PSS) +#define ippsRSASign_PSS_rmf OWNAPI(ippsRSASign_PSS_rmf) +#define ippsRSAVerify_PSS_rmf OWNAPI(ippsRSAVerify_PSS_rmf) +#define ippsRSASign_PKCS1v15 OWNAPI(ippsRSASign_PKCS1v15) +#define ippsRSAVerify_PKCS1v15 OWNAPI(ippsRSAVerify_PKCS1v15) +#define ippsRSASign_PKCS1v15_rmf OWNAPI(ippsRSASign_PKCS1v15_rmf) +#define ippsRSAVerify_PKCS1v15_rmf OWNAPI(ippsRSAVerify_PKCS1v15_rmf) +#define ippsDLGetResultString OWNAPI(ippsDLGetResultString) +#define ippsDLPGetSize OWNAPI(ippsDLPGetSize) +#define ippsDLPInit OWNAPI(ippsDLPInit) +#define ippsDLPPack OWNAPI(ippsDLPPack) +#define ippsDLPUnpack OWNAPI(ippsDLPUnpack) +#define ippsDLPSet OWNAPI(ippsDLPSet) +#define ippsDLPGet OWNAPI(ippsDLPGet) +#define ippsDLPSetDP OWNAPI(ippsDLPSetDP) +#define ippsDLPGetDP OWNAPI(ippsDLPGetDP) +#define ippsDLPGenKeyPair OWNAPI(ippsDLPGenKeyPair) +#define ippsDLPPublicKey OWNAPI(ippsDLPPublicKey) +#define ippsDLPValidateKeyPair OWNAPI(ippsDLPValidateKeyPair) +#define ippsDLPSetKeyPair OWNAPI(ippsDLPSetKeyPair) +#define ippsDLPSignDSA OWNAPI(ippsDLPSignDSA) +#define ippsDLPVerifyDSA OWNAPI(ippsDLPVerifyDSA) +#define ippsDLPSharedSecretDH OWNAPI(ippsDLPSharedSecretDH) +#define ippsDLPGenerateDSA OWNAPI(ippsDLPGenerateDSA) +#define ippsDLPValidateDSA OWNAPI(ippsDLPValidateDSA) +#define ippsDLPGenerateDH OWNAPI(ippsDLPGenerateDH) +#define ippsDLPValidateDH OWNAPI(ippsDLPValidateDH) +#define ippsECCGetResultString OWNAPI(ippsECCGetResultString) +#define ippsECCPGetSize OWNAPI(ippsECCPGetSize) +#define ippsECCPGetSizeStd128r1 OWNAPI(ippsECCPGetSizeStd128r1) +#define ippsECCPGetSizeStd128r2 OWNAPI(ippsECCPGetSizeStd128r2) +#define ippsECCPGetSizeStd192r1 OWNAPI(ippsECCPGetSizeStd192r1) +#define ippsECCPGetSizeStd224r1 OWNAPI(ippsECCPGetSizeStd224r1) +#define ippsECCPGetSizeStd256r1 OWNAPI(ippsECCPGetSizeStd256r1) +#define ippsECCPGetSizeStd384r1 OWNAPI(ippsECCPGetSizeStd384r1) +#define ippsECCPGetSizeStd521r1 OWNAPI(ippsECCPGetSizeStd521r1) +#define ippsECCPGetSizeStdSM2 OWNAPI(ippsECCPGetSizeStdSM2) +#define ippsECCPInit OWNAPI(ippsECCPInit) +#define ippsECCPInitStd128r1 OWNAPI(ippsECCPInitStd128r1) +#define ippsECCPInitStd128r2 OWNAPI(ippsECCPInitStd128r2) +#define ippsECCPInitStd192r1 OWNAPI(ippsECCPInitStd192r1) +#define ippsECCPInitStd224r1 OWNAPI(ippsECCPInitStd224r1) +#define ippsECCPInitStd256r1 OWNAPI(ippsECCPInitStd256r1) +#define ippsECCPInitStd384r1 OWNAPI(ippsECCPInitStd384r1) +#define ippsECCPInitStd521r1 OWNAPI(ippsECCPInitStd521r1) +#define ippsECCPInitStdSM2 OWNAPI(ippsECCPInitStdSM2) +#define ippsECCPSet OWNAPI(ippsECCPSet) +#define ippsECCPSetStd OWNAPI(ippsECCPSetStd) +#define ippsECCPSetStd128r1 OWNAPI(ippsECCPSetStd128r1) +#define ippsECCPSetStd128r2 OWNAPI(ippsECCPSetStd128r2) +#define ippsECCPSetStd192r1 OWNAPI(ippsECCPSetStd192r1) +#define ippsECCPSetStd224r1 OWNAPI(ippsECCPSetStd224r1) +#define ippsECCPSetStd256r1 OWNAPI(ippsECCPSetStd256r1) +#define ippsECCPSetStd384r1 OWNAPI(ippsECCPSetStd384r1) +#define ippsECCPSetStd521r1 OWNAPI(ippsECCPSetStd521r1) +#define ippsECCPSetStdSM2 OWNAPI(ippsECCPSetStdSM2) +#define ippsECCPBindGxyTblStd192r1 OWNAPI(ippsECCPBindGxyTblStd192r1) +#define ippsECCPBindGxyTblStd224r1 OWNAPI(ippsECCPBindGxyTblStd224r1) +#define ippsECCPBindGxyTblStd256r1 OWNAPI(ippsECCPBindGxyTblStd256r1) +#define ippsECCPBindGxyTblStd384r1 OWNAPI(ippsECCPBindGxyTblStd384r1) +#define ippsECCPBindGxyTblStd521r1 OWNAPI(ippsECCPBindGxyTblStd521r1) +#define ippsECCPBindGxyTblStdSM2 OWNAPI(ippsECCPBindGxyTblStdSM2) +#define ippsECCPGet OWNAPI(ippsECCPGet) +#define ippsECCPGetOrderBitSize OWNAPI(ippsECCPGetOrderBitSize) +#define ippsECCPValidate OWNAPI(ippsECCPValidate) +#define ippsECCPPointGetSize OWNAPI(ippsECCPPointGetSize) +#define ippsECCPPointInit OWNAPI(ippsECCPPointInit) +#define ippsECCPSetPoint OWNAPI(ippsECCPSetPoint) +#define ippsECCPSetPointAtInfinity OWNAPI(ippsECCPSetPointAtInfinity) +#define ippsECCPGetPoint OWNAPI(ippsECCPGetPoint) +#define ippsECCPCheckPoint OWNAPI(ippsECCPCheckPoint) +#define ippsECCPComparePoint OWNAPI(ippsECCPComparePoint) +#define ippsECCPNegativePoint OWNAPI(ippsECCPNegativePoint) +#define ippsECCPAddPoint OWNAPI(ippsECCPAddPoint) +#define ippsECCPMulPointScalar OWNAPI(ippsECCPMulPointScalar) +#define ippsECCPGenKeyPair OWNAPI(ippsECCPGenKeyPair) +#define ippsECCPPublicKey OWNAPI(ippsECCPPublicKey) +#define ippsECCPValidateKeyPair OWNAPI(ippsECCPValidateKeyPair) +#define ippsECCPSetKeyPair OWNAPI(ippsECCPSetKeyPair) +#define ippsECCPSharedSecretDH OWNAPI(ippsECCPSharedSecretDH) +#define ippsECCPSharedSecretDHC OWNAPI(ippsECCPSharedSecretDHC) +#define ippsECCPSignDSA OWNAPI(ippsECCPSignDSA) +#define ippsECCPVerifyDSA OWNAPI(ippsECCPVerifyDSA) +#define ippsECCPSignNR OWNAPI(ippsECCPSignNR) +#define ippsECCPVerifyNR OWNAPI(ippsECCPVerifyNR) +#define ippsECCPSignSM2 OWNAPI(ippsECCPSignSM2) +#define ippsECCPVerifySM2 OWNAPI(ippsECCPVerifySM2) +#define ippsGFpGetSize OWNAPI(ippsGFpGetSize) +#define ippsGFpInitArbitrary OWNAPI(ippsGFpInitArbitrary) +#define ippsGFpInitFixed OWNAPI(ippsGFpInitFixed) +#define ippsGFpInit OWNAPI(ippsGFpInit) +#define ippsGFpMethod_p192r1 OWNAPI(ippsGFpMethod_p192r1) +#define ippsGFpMethod_p224r1 OWNAPI(ippsGFpMethod_p224r1) +#define ippsGFpMethod_p256r1 OWNAPI(ippsGFpMethod_p256r1) +#define ippsGFpMethod_p384r1 OWNAPI(ippsGFpMethod_p384r1) +#define ippsGFpMethod_p521r1 OWNAPI(ippsGFpMethod_p521r1) +#define ippsGFpMethod_p256sm2 OWNAPI(ippsGFpMethod_p256sm2) +#define ippsGFpMethod_p256bn OWNAPI(ippsGFpMethod_p256bn) +#define ippsGFpMethod_p256 OWNAPI(ippsGFpMethod_p256) +#define ippsGFpMethod_pArb OWNAPI(ippsGFpMethod_pArb) +#define ippsGFpxGetSize OWNAPI(ippsGFpxGetSize) +#define ippsGFpxInit OWNAPI(ippsGFpxInit) +#define ippsGFpxInitBinomial OWNAPI(ippsGFpxInitBinomial) +#define ippsGFpxMethod_binom2_epid2 OWNAPI(ippsGFpxMethod_binom2_epid2) +#define ippsGFpxMethod_binom3_epid2 OWNAPI(ippsGFpxMethod_binom3_epid2) +#define ippsGFpxMethod_binom2 OWNAPI(ippsGFpxMethod_binom2) +#define ippsGFpxMethod_binom3 OWNAPI(ippsGFpxMethod_binom3) +#define ippsGFpxMethod_binom OWNAPI(ippsGFpxMethod_binom) +#define ippsGFpxMethod_com OWNAPI(ippsGFpxMethod_com) +#define ippsGFpScratchBufferSize OWNAPI(ippsGFpScratchBufferSize) +#define ippsGFpElementGetSize OWNAPI(ippsGFpElementGetSize) +#define ippsGFpElementInit OWNAPI(ippsGFpElementInit) +#define ippsGFpSetElement OWNAPI(ippsGFpSetElement) +#define ippsGFpSetElementRegular OWNAPI(ippsGFpSetElementRegular) +#define ippsGFpSetElementOctString OWNAPI(ippsGFpSetElementOctString) +#define ippsGFpSetElementRandom OWNAPI(ippsGFpSetElementRandom) +#define ippsGFpSetElementHash OWNAPI(ippsGFpSetElementHash) +#define ippsGFpSetElementHash_rmf OWNAPI(ippsGFpSetElementHash_rmf) +#define ippsGFpCpyElement OWNAPI(ippsGFpCpyElement) +#define ippsGFpGetElement OWNAPI(ippsGFpGetElement) +#define ippsGFpGetElementOctString OWNAPI(ippsGFpGetElementOctString) +#define ippsGFpCmpElement OWNAPI(ippsGFpCmpElement) +#define ippsGFpIsZeroElement OWNAPI(ippsGFpIsZeroElement) +#define ippsGFpIsUnityElement OWNAPI(ippsGFpIsUnityElement) +#define ippsGFpConj OWNAPI(ippsGFpConj) +#define ippsGFpNeg OWNAPI(ippsGFpNeg) +#define ippsGFpInv OWNAPI(ippsGFpInv) +#define ippsGFpSqrt OWNAPI(ippsGFpSqrt) +#define ippsGFpSqr OWNAPI(ippsGFpSqr) +#define ippsGFpAdd OWNAPI(ippsGFpAdd) +#define ippsGFpSub OWNAPI(ippsGFpSub) +#define ippsGFpMul OWNAPI(ippsGFpMul) +#define ippsGFpExp OWNAPI(ippsGFpExp) +#define ippsGFpMultiExp OWNAPI(ippsGFpMultiExp) +#define ippsGFpAdd_PE OWNAPI(ippsGFpAdd_PE) +#define ippsGFpSub_PE OWNAPI(ippsGFpSub_PE) +#define ippsGFpMul_PE OWNAPI(ippsGFpMul_PE) +#define ippsGFpECGetSize OWNAPI(ippsGFpECGetSize) +#define ippsGFpECInit OWNAPI(ippsGFpECInit) +#define ippsGFpECSet OWNAPI(ippsGFpECSet) +#define ippsGFpECSetSubgroup OWNAPI(ippsGFpECSetSubgroup) +#define ippsGFpECInitStd128r1 OWNAPI(ippsGFpECInitStd128r1) +#define ippsGFpECInitStd128r2 OWNAPI(ippsGFpECInitStd128r2) +#define ippsGFpECInitStd192r1 OWNAPI(ippsGFpECInitStd192r1) +#define ippsGFpECInitStd224r1 OWNAPI(ippsGFpECInitStd224r1) +#define ippsGFpECInitStd256r1 OWNAPI(ippsGFpECInitStd256r1) +#define ippsGFpECInitStd384r1 OWNAPI(ippsGFpECInitStd384r1) +#define ippsGFpECInitStd521r1 OWNAPI(ippsGFpECInitStd521r1) +#define ippsGFpECInitStdSM2 OWNAPI(ippsGFpECInitStdSM2) +#define ippsGFpECInitStdBN256 OWNAPI(ippsGFpECInitStdBN256) +#define ippsGFpECBindGxyTblStd192r1 OWNAPI(ippsGFpECBindGxyTblStd192r1) +#define ippsGFpECBindGxyTblStd224r1 OWNAPI(ippsGFpECBindGxyTblStd224r1) +#define ippsGFpECBindGxyTblStd256r1 OWNAPI(ippsGFpECBindGxyTblStd256r1) +#define ippsGFpECBindGxyTblStd384r1 OWNAPI(ippsGFpECBindGxyTblStd384r1) +#define ippsGFpECBindGxyTblStd521r1 OWNAPI(ippsGFpECBindGxyTblStd521r1) +#define ippsGFpECBindGxyTblStdSM2 OWNAPI(ippsGFpECBindGxyTblStdSM2) +#define ippsGFpECGet OWNAPI(ippsGFpECGet) +#define ippsGFpECGetSubgroup OWNAPI(ippsGFpECGetSubgroup) +#define ippsGFpECScratchBufferSize OWNAPI(ippsGFpECScratchBufferSize) +#define ippsGFpECVerify OWNAPI(ippsGFpECVerify) +#define ippsGFpECPointGetSize OWNAPI(ippsGFpECPointGetSize) +#define ippsGFpECPointInit OWNAPI(ippsGFpECPointInit) +#define ippsGFpECSetPointAtInfinity OWNAPI(ippsGFpECSetPointAtInfinity) +#define ippsGFpECSetPoint OWNAPI(ippsGFpECSetPoint) +#define ippsGFpECSetPointRegular OWNAPI(ippsGFpECSetPointRegular) +#define ippsGFpECSetPointRandom OWNAPI(ippsGFpECSetPointRandom) +#define ippsGFpECMakePoint OWNAPI(ippsGFpECMakePoint) +#define ippsGFpECSetPointHash OWNAPI(ippsGFpECSetPointHash) +#define ippsGFpECSetPointHash_rmf OWNAPI(ippsGFpECSetPointHash_rmf) +#define ippsGFpECGetPoint OWNAPI(ippsGFpECGetPoint) +#define ippsGFpECGetPointRegular OWNAPI(ippsGFpECGetPointRegular) +#define ippsGFpECSetPointOctString OWNAPI(ippsGFpECSetPointOctString) +#define ippsGFpECGetPointOctString OWNAPI(ippsGFpECGetPointOctString) +#define ippsGFpECTstPoint OWNAPI(ippsGFpECTstPoint) +#define ippsGFpECTstPointInSubgroup OWNAPI(ippsGFpECTstPointInSubgroup) +#define ippsGFpECCpyPoint OWNAPI(ippsGFpECCpyPoint) +#define ippsGFpECCmpPoint OWNAPI(ippsGFpECCmpPoint) +#define ippsGFpECNegPoint OWNAPI(ippsGFpECNegPoint) +#define ippsGFpECAddPoint OWNAPI(ippsGFpECAddPoint) +#define ippsGFpECMulPoint OWNAPI(ippsGFpECMulPoint) +#define ippsGFpECPrivateKey OWNAPI(ippsGFpECPrivateKey) +#define ippsGFpECPublicKey OWNAPI(ippsGFpECPublicKey) +#define ippsGFpECTstKeyPair OWNAPI(ippsGFpECTstKeyPair) +#define ippsGFpECSharedSecretDH OWNAPI(ippsGFpECSharedSecretDH) +#define ippsGFpECSharedSecretDHC OWNAPI(ippsGFpECSharedSecretDHC) +#define ippsGFpECSignDSA OWNAPI(ippsGFpECSignDSA) +#define ippsGFpECVerifyDSA OWNAPI(ippsGFpECVerifyDSA) +#define ippsGFpECSignNR OWNAPI(ippsGFpECSignNR) +#define ippsGFpECVerifyNR OWNAPI(ippsGFpECVerifyNR) +#define ippsGFpECSignSM2 OWNAPI(ippsGFpECSignSM2) +#define ippsGFpECVerifySM2 OWNAPI(ippsGFpECVerifySM2) +#define ippsGFpECESGetSize_SM2 OWNAPI(ippsGFpECESGetSize_SM2) +#define ippsGFpECESInit_SM2 OWNAPI(ippsGFpECESInit_SM2) +#define ippsGFpECESSetKey_SM2 OWNAPI(ippsGFpECESSetKey_SM2) +#define ippsGFpECESStart_SM2 OWNAPI(ippsGFpECESStart_SM2) +#define ippsGFpECESEncrypt_SM2 OWNAPI(ippsGFpECESEncrypt_SM2) +#define ippsGFpECESDecrypt_SM2 OWNAPI(ippsGFpECESDecrypt_SM2) +#define ippsGFpECESFinal_SM2 OWNAPI(ippsGFpECESFinal_SM2) +#define ippsGFpECESGetBuffersSize_SM2 OWNAPI(ippsGFpECESGetBuffersSize_SM2) + + #include "ippcp.h" +#endif + +/* +// modes of the CPU feature +*/ +#define _FEATURE_OFF_ (0) /* feature is OFF a priori */ +#define _FEATURE_ON_ (1) /* feature is ON a priori */ +#define _FEATURE_TICKTOCK_ (2) /* dectect is feature OFF/ON */ + +#include "pcpvariant.h" + +#pragma warning( disable : 4996 4324 4206) + +/* ippCP length */ +typedef int cpSize; + +/* +// Common ippCP Macros +*/ + +/* size of cache line (bytes) */ +#if (_IPP==_IPP_M5) +#define CACHE_LINE_SIZE (16) +#define LOG_CACHE_LINE_SIZE (4) +#else +#define CACHE_LINE_SIZE (64) +#define LOG_CACHE_LINE_SIZE (6) +#endif + +/* swap data & pointers */ +#define SWAP_PTR(ATYPE, pX,pY) { ATYPE* aPtr=(pX); (pX)=(pY); (pY)=aPtr; } +#define SWAP(x,y) {(x)^=(y); (y)^=(x); (x)^=(y);} + +/* alignment value */ +#define ALIGN_VAL ((int)sizeof(void*)) + +/* bitsize */ +#define BYTESIZE (8) +#define BITSIZE(x) ((int)(sizeof(x)*BYTESIZE)) + +/* bit length -> byte/word length conversion */ +#define BITS2WORD8_SIZE(x) (((x)+ 7)>>3) +#define BITS2WORD16_SIZE(x) (((x)+15)>>4) +#define BITS2WORD32_SIZE(x) (((x)+31)>>5) +#define BITS2WORD64_SIZE(x) (((x)+63)>>6) + +/* WORD and DWORD manipulators */ +#define LODWORD(x) ((Ipp32u)(x)) +#define HIDWORD(x) ((Ipp32u)(((Ipp64u)(x) >>32) & 0xFFFFFFFF)) + +#define MAKEHWORD(bLo,bHi) ((Ipp16u)(((Ipp8u)(bLo)) | ((Ipp16u)((Ipp8u)(bHi))) << 8)) +#define MAKEWORD(hLo,hHi) ((Ipp32u)(((Ipp16u)(hLo)) | ((Ipp32u)((Ipp16u)(hHi))) << 16)) +#define MAKEDWORD(wLo,wHi) ((Ipp64u)(((Ipp32u)(wLo)) | ((Ipp64u)((Ipp32u)(wHi))) << 32)) + +/* extract byte */ +#define EBYTE(w,n) ((Ipp8u)((w) >> (8 * (n)))) + +/* hexString <-> Ipp32u conversion */ +#define HSTRING_TO_U32(ptrByte) \ + ((((ptrByte)[0]) <<24) \ + +(((ptrByte)[1]) <<16) \ + +(((ptrByte)[2]) <<8) \ + +((ptrByte)[3])) +#define U32_TO_HSTRING(ptrByte, x) \ + (ptrByte)[0] = (Ipp8u)((x)>>24); \ + (ptrByte)[1] = (Ipp8u)((x)>>16); \ + (ptrByte)[2] = (Ipp8u)((x)>>8); \ + (ptrByte)[3] = (Ipp8u)(x) + +/* 32- and 64-bit masks for MSB of nbits-sequence */ +#define MAKEMASK32(nbits) (0xFFFFFFFF >>((32 - ((nbits)&0x1F)) &0x1F)) +#define MAKEMASK64(nbits) (0xFFFFFFFFFFFFFFFF >>((64 - ((nbits)&0x3F)) &0x3F)) + +/* Logical Shifts (right and left) of WORD */ +#define LSR32(x,nBits) ((x)>>(nBits)) +#define LSL32(x,nBits) ((x)<<(nBits)) + +/* Rorate (right and left) of WORD */ +#if defined(_MSC_VER) && !defined( __ICL ) +# include <stdlib.h> +# define ROR32(x, nBits) _lrotr((x),(nBits)) +# define ROL32(x, nBits) _lrotl((x),(nBits)) +#else +# define ROR32(x, nBits) (LSR32((x),(nBits)) | LSL32((x),32-(nBits))) +# define ROL32(x, nBits) ROR32((x),(32-(nBits))) +#endif + +/* Logical Shifts (right and left) of DWORD */ +#define LSR64(x,nBits) ((x)>>(nBits)) +#define LSL64(x,nBits) ((x)<<(nBits)) + +/* Rorate (right and left) of DWORD */ +#define ROR64(x, nBits) (LSR64((x),(nBits)) | LSL64((x),64-(nBits))) +#define ROL64(x, nBits) ROR64((x),(64-(nBits))) + +/* change endian */ +#if defined(_MSC_VER) +# define ENDIANNESS(x) _byteswap_ulong((x)) +# define ENDIANNESS32(x) ENDIANNESS((x)) +# define ENDIANNESS64(x) _byteswap_uint64((x)) +#elif defined(__ICL) +# define ENDIANNESS(x) _bswap((x)) +# define ENDIANNESS32(x) ENDIANNESS((x)) +# define ENDIANNESS64(x) _bswap64((x)) +#else +# define ENDIANNESS(x) ((ROR32((x), 24) & 0x00ff00ff) | (ROR32((x), 8) & 0xff00ff00)) +# define ENDIANNESS32(x) ENDIANNESS((x)) +# define ENDIANNESS64(x) MAKEDWORD(ENDIANNESS(HIDWORD((x))), ENDIANNESS(LODWORD((x)))) +#endif + +#define IPP_MAKE_MULTIPLE_OF_8(x) ((x) = ((x)+7)&(~7)) +#define IPP_MAKE_MULTIPLE_OF_16(x) ((x) = ((x)+15)&(~15)) + +/* define 64-bit constant */ +#if !defined(__GNUC__) + #define CONST_64(x) (x) /*(x##i64)*/ +#else + #define CONST_64(x) (x##LL) +#endif + +/* define 64-bit constant or pair of 32-bit dependding on architecture */ +#if ((_IPP_ARCH == _IPP_ARCH_EM64T) || (_IPP_ARCH == _IPP_ARCH_LP64) || (_IPP_ARCH == _IPP_ARCH_LRB) || (_IPP_ARCH == _IPP_ARCH_LRB2)) +#define LL(lo,hi) ((Ipp64u)(((Ipp32u)(lo)) | ((Ipp64u)((Ipp32u)(hi))) << 32)) +#define L_(lo) ((Ipp64u)(lo)) +#else +#define LL(lo,hi) (lo),(hi) +#define L_(lo) (lo) +#endif + + +/* test if library's feature is ON */ +int cpGetFeature( Ipp64u Feature ); +/* test CPU crypto features */ +__INLINE Ipp32u IsFeatureEnabled(Ipp64u niMmask) +{ + return cpGetFeature(niMmask); +} + +#define IPPCP_GET_NUM_THREADS() ( ippcpGetEnabledNumThreads() ) +#define IPPCP_OMP_NUM_THREADS() num_threads( IPPCP_GET_NUM_THREADS() ) +#define IPPCP_OMP_LIMIT_MAX_NUM_THREADS(n) num_threads( IPP_MIN(IPPCP_GET_NUM_THREADS(),(n))) + +/* copy under mask */ +#define MASKED_COPY_BNU(dst, mask, src1, src2, len) { \ + cpSize i; \ + for(i=0; i<(len); i++) (dst)[i] = ((mask) & (src1)[i]) | (~(mask) & (src2)[i]); \ +} + +#if !defined( _M_X64 ) && defined ( _MSC_VER ) && !defined(__INTEL_COMPILER) +#if (_AES_NI_ENABLING_ == _FEATURE_ON_) || \ + (_AES_NI_ENABLING_ == _FEATURE_TICKTOCK_) || (_IPP >= _IPP_W7) +__inline __m128i +_mm_cvtsi64_si128(__int64 a) +{ + __m128i x; + x.m128i_i64[0] = a; + x.m128i_i64[1] = 0; + return x; +} +#endif +#endif + +#endif /* __OWNCP_H__ */ |