#ifndef _SUNYARD_H_ #define _SUNYARD_H_ #ifdef __cplusplus extern "C"{ #endif #if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__) #define __WIN__ #endif #define DLL_EXPORT #ifdef __WIN__ #ifdef DLL_EXPORT #define DLL_DECLARE __declspec(dllexport) #else #define DLL_DECLARE __declspec(dllimport) #endif #define DEVAPI __stdcall #else #define DEVAPI #define DLL_DECLARE __attribute__((visibility("default"))) #endif /*log level*/ #define LOG_LEVEL_0 0 #define LOG_LEVEL_1 1 #define LOG_LEVEL_2 2 #define LOG_LEVEL_3 3 /*sm4 operate*/ #define SM4_ENCRYPT 1 #define SM4_DECRYPT 0 /*batch data package serial number*/ #define PKG_ONLY_ONE 0 #define PKG_FIRST 1 #define PKG_MIDDLE 2 #define PKG_LAST 3 DLL_DECLARE int DEVAPI SYD_SetLogConfig( const char *pcLogPath, int iLogPathLen, int iLogLevel); DLL_DECLARE int DEVAPI SYD_Connect_Ex( const char *pcIpList[], int iPortList[], int iSize, int iConnectTimeout, int iDealTimeOut, int iThreadCount, void** phHandle); DLL_DECLARE int DEVAPI SYD_DisConnect_Ex( void* phHandle); DLL_DECLARE int DEVAPI SYD_GetVersionInfo( void* phHandle, char* pcVersion, int* piVersionLen); DLL_DECLARE int DEVAPI SYD_SM4_ShortData( void* phHandle, int iKeyIndex, char* pcData, int iDataLen, int iFlag, char* pcOutData, int* piOutDataLen); DLL_DECLARE int DEVAPI SYD_SM4_BatchData( void* phHandle, int iKeyIndex[], char* pcData[], int iDataLen[], int iSize, int iFlag, char* pcOutData[], int iOutDataLen[]); DLL_DECLARE int DEVAPI SYD_SM4_LongDataInit( int iKeyIndex, int iFlag, void** phProcHandle); DLL_DECLARE int DEVAPI SYD_SM4_LongDataUpdate( void* phHandle, char* pcData, int iDataLen, char* pcOutData, int* piOutDataLen, void* phProcHandle); DLL_DECLARE int DEVAPI SYD_SM4_LongDataFinal( void* phHandle, char* pcOutData, int* piOutDataLen, void* phProcHandle); DLL_DECLARE int DEVAPI SYD_SM3_Hash_ShortData( void* phHandle, char* pcData, int iDataLen, char* pcHash); DLL_DECLARE int DEVAPI SYD_SM3_Hash_Init( void** phHash); DLL_DECLARE int DEVAPI SYD_SM3_Hash_Update( void* phHandle, char* pcData, int iDataLen, void* phHash); DLL_DECLARE int DEVAPI SYD_SM3_Hash_Final( void* phHandle, char* pcHash, void* phHash); DLL_DECLARE int DEVAPI SYD_SM4Mac_ShortData( void* phHandle, int iKeyIndex, char* pcData, int iDataLen, char* pcMac, int* piCheckRet); DLL_DECLARE int DEVAPI SYD_SM4Mac_BatchData( void* phHandle, int iKeyIndex[], char* pcData[], int iDataLen[], int iSize, char* pcMac[], int piCheckRet[]); DLL_DECLARE int DEVAPI SYD_SM4Mac_LongDataInit( int iKeyIndex, void** phMac); DLL_DECLARE int DEVAPI SYD_SM4Mac_LongDataUpdate( void* phHandle, char* pcData, int iDataLen, void* phMac); DLL_DECLARE int DEVAPI SYD_SM4Mac_LongDataFinal( void* phHandle, char* pcMac, int* piCheckRet, void* phMac); DLL_DECLARE int DEVAPI SYD_CloseHandle( void *hHandle); DLL_DECLARE int DEVAPI SYD_SM4_Encrypt_Mac_ShortData( void* phHandle, int iEncKeyIndex, int iCheckKeyIndex, char* pcData, int iDataLen, char* pcEncData, int* piEncDataLen, char* pcMac); DLL_DECLARE int DEVAPI SYD_SM4_Decrypt_Mac_ShortData( void* phHandle, int iEncKeyIndex, int iCheckKeyIndex, char* pcEncData, int iEncDataLen, char* pcMac, char* pcOutData, int* piOutDataLen); DLL_DECLARE int DEVAPI SYD_SM4_Encrypt_Mac_BatchData( void* phHandle, int iEncKeyIndex[], int iCheckKeyIndex[], char* pcData[], int iDataLen[], int iSize, char* pcEncData[], int iEncDataLen[], char* pcMac[]); DLL_DECLARE int DEVAPI SYD_SM4_Decrypt_Mac_BatchData( void* phHandle, int iEncKeyIndex[], int iCheckKeyIndex[], char* pcEncData[], int iEncDataLen[], char* pcMac[], int iSize, char* pcOutData[], int iOutDataLen[], int iCheckRet[]); DLL_DECLARE int DEVAPI SYD_SM4EncDecMac_LongDataInit( int iEncKeyIndex, int iCheckKeyIndex, int iFlag, void** phProcHandle); DLL_DECLARE int DEVAPI SYD_SM4EncDecMac_LongDataUpdate( void* phHandle, char* pcData, int iDataLen, char* pcOutData, int* piOutDataLen, void* phProcHandle); DLL_DECLARE int DEVAPI SYD_SM4EncDecMac_LongDataFinal( void* phHandle, char* pcOutData, int* piOutDataLen, char* pcMac, void* phProcHandle); #ifdef __cplusplus } #endif #endif