/**************************************************************************** ** CopyRight(c) 2023, XXXXX ** All rights reserved ** ** 文件名称: crc_interface.h ** 摘要: C接口头文件 ** ** 当前版本: 1.0.0.0 ** 作者: ** ** 完成日期: 2023-3-21 ** ** 历史修改记录:  ** 作者 描述 修改时间 ****************************************************************************/ #ifndef CRC_INTERFACE_H #define CRC_INTERFACE_H #ifdef __cplusplus // 防止C++修饰函数名 extern "C" { #endif /** * @brief 计算所有IED CRC 和 SCDCRC * @param iedCrcMap 返回的行数为n,列为2的二维字符串数组指针,调用参加示例程序,使用完成后请释放内存 * @param pszSCDFile SCD路径 * @param iSize 二维字符串数组的行数 * @return SCD的CRC,使用完成后请释放内存 */ const char* calcALLIEDCRC(char**** iedCrcMap, const char* pszSCDFile, int &iSize); /** * @brief 计算指定IED CRC * @param pszSCDFile SCD路径 * @param pszIEDName 指定的IEDName * @return IED的CRC,使用完成后请释放内存 */ const char* calcIEDCRC(const char* pszSCDFile, const char* pszIEDName); /** * @brief 计算指定字符串 CRC * @param pszBytes 需要计算的字符串 * @param nLen 字符串长度 * @return 计算的CRC,使用完成后请释放内存 */ const char* calcCRCForBytes(const char* pszBytes, int nLen); /** * @brief 导出指定IED CRC * @param pszSCDFile SCD路径 * @param pszIEDName 指定的IEDName * @param pszDirName 指定的导出目录,导出文件为 导出目录+IEDName.ccd * @return void */ void exportCCD(const char* pszSCDFile, const char* pszIEDName, const char* pszDirName); #ifdef __cplusplus // 结束extern "C" } #endif #endif