crc_interface.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /****************************************************************************
  2. ** CopyRight(c) 2023, XXXXX
  3. ** All rights reserved
  4. **
  5. ** 文件名称: crc_interface.h
  6. ** 摘要: C接口头文件
  7. **
  8. ** 当前版本: 1.0.0.0
  9. ** 作者:
  10. **
  11. ** 完成日期: 2023-3-21
  12. **
  13. ** 历史修改记录: 
  14. ** 作者 描述 修改时间
  15. ****************************************************************************/
  16. #ifndef CRC_INTERFACE_H
  17. #define CRC_INTERFACE_H
  18. #ifdef __cplusplus // 防止C++修饰函数名
  19. extern "C" {
  20. #endif
  21. /**
  22. * @brief 计算所有IED CRC 和 SCDCRC
  23. * @param iedCrcMap 返回的行数为n,列为2的二维字符串数组指针,调用参加示例程序,使用完成后请释放内存
  24. * @param pszSCDFile SCD路径
  25. * @param iSize 二维字符串数组的行数
  26. * @return SCD的CRC,使用完成后请释放内存
  27. */
  28. const char* calcALLIEDCRC(char**** iedCrcMap, const char* pszSCDFile, int &iSize);
  29. /**
  30. * @brief 计算指定IED CRC
  31. * @param pszSCDFile SCD路径
  32. * @param pszIEDName 指定的IEDName
  33. * @return IED的CRC,使用完成后请释放内存
  34. */
  35. const char* calcIEDCRC(const char* pszSCDFile, const char* pszIEDName);
  36. /**
  37. * @brief 计算指定字符串 CRC
  38. * @param pszBytes 需要计算的字符串
  39. * @param nLen 字符串长度
  40. * @return 计算的CRC,使用完成后请释放内存
  41. */
  42. const char* calcCRCForBytes(const char* pszBytes, int nLen);
  43. /**
  44. * @brief 导出指定IED CRC
  45. * @param pszSCDFile SCD路径
  46. * @param pszIEDName 指定的IEDName
  47. * @param pszDirName 指定的导出目录,导出文件为 导出目录+IEDName.ccd
  48. * @return void
  49. */
  50. void exportCCD(const char* pszSCDFile, const char* pszIEDName, const char* pszDirName);
  51. #ifdef __cplusplus // 结束extern "C"
  52. }
  53. #endif
  54. #endif