hilink_secfun.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved.
  3. * Description: HiLink安全函数,厂家不用实现,直接调用
  4. */
  5. #ifndef HILINK_SECFUN_H
  6. #define HILINK_SECFUN_H
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif /* __cpluscplus */
  10. /*
  11. * 设置目的缓冲区为特定值
  12. * 返回0表示成功, 非0表示失败
  13. * 注意:1)确保count <= dest所指向的内存区域大小。
  14. * 2)这个接口是已经提供给三方厂商使用安全函数接口,
  15. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  16. */
  17. int hilink_memset_s(void *dest, unsigned int destMax, int c, unsigned int count);
  18. /*
  19. * 复制源缓冲区的数据到目的缓冲区
  20. * 返回0表示成功, 非0表示失败
  21. * 注意:1)确保count <= destMax所指向的内存区域大小
  22. * 2)确保dest和src指向的内存没有重叠区域
  23. * 3)这个接口是已经提供给三方厂商使用安全函数接口,
  24. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  25. */
  26. int hilink_memcpy_s(void *dest, unsigned int destMax, const void *src, unsigned int count);
  27. /*
  28. * 复制指定长度的源字符串到目的缓冲区
  29. * 返回0表示成功, 非0表示失败
  30. * 注意:1)确保strDest所指内存空间足够容纳拷贝的字符内容
  31. * 2)这个接口是已经提供给三方厂商使用安全函数接口,
  32. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  33. */
  34. int hilink_strncpy_s(char *strDest, unsigned int destMax, const char *strSrc, unsigned int count);
  35. /*
  36. * 将指定长度的源字符串连接到目的字符串后面
  37. * 返回0表示成功, 非0表示失败
  38. * 注意:1)确保strDest所指内存空间足够容纳strDest原有字符及追加的strSrc字符内容
  39. * 2)这个接口是已经提供给三方厂商使用安全函数接口,
  40. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  41. */
  42. int hilink_strncat_s(char *strDest, unsigned int destMax, const char *strSrc, unsigned int count);
  43. /*
  44. * 将数据格式化输出到目的缓冲区
  45. * 返回-1表示失败, 其他表示实际写入strDest的字节数
  46. * 注意:1)strDest要有足够的空间容纳格式化的字符内容
  47. * 2)这个接口是已经提供给三方厂商使用安全函数接口,
  48. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  49. */
  50. int hilink_sprintf_s(char *strDest, unsigned int destMax, const char *format, ...);
  51. /*
  52. * 将数据按照指定长度格式化输出到目的缓冲区
  53. * 返回-1表示失败, 其他表示欲写入strDest的字节数
  54. * 注意:这个接口是已经提供给三方厂商使用安全函数接口,
  55. * 已经在软工代码TMG评审过,为了版本兼容,可以继续提供。
  56. */
  57. int hilink_snprintf_s(char *strDest, unsigned int destMax, unsigned int count, const char *format, ...);
  58. #ifdef __cplusplus
  59. }
  60. #endif /* __cpluscplus */
  61. #endif