seg-database-c/inc/sunyard.h
2026-07-10 17:53:18 +08:00

225 lines
4.3 KiB
C

#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