bh_common.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef _BH_COMMON_H
  6. #define _BH_COMMON_H
  7. #include "bh_platform.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #define bh_memcpy_s(dest, dlen, src, slen) \
  12. do { \
  13. int _ret = slen == 0 ? 0 : b_memcpy_s(dest, dlen, src, slen); \
  14. (void)_ret; \
  15. bh_assert(_ret == 0); \
  16. } while (0)
  17. #define bh_memmove_s(dest, dlen, src, slen) \
  18. do { \
  19. int _ret = slen == 0 ? 0 : b_memmove_s(dest, dlen, src, slen); \
  20. (void)_ret; \
  21. bh_assert(_ret == 0); \
  22. } while (0)
  23. #define bh_strcat_s(dest, dlen, src) \
  24. do { \
  25. int _ret = b_strcat_s(dest, dlen, src); \
  26. (void)_ret; \
  27. bh_assert(_ret == 0); \
  28. } while (0)
  29. #define bh_strcpy_s(dest, dlen, src) \
  30. do { \
  31. int _ret = b_strcpy_s(dest, dlen, src); \
  32. (void)_ret; \
  33. bh_assert(_ret == 0); \
  34. } while (0)
  35. int
  36. b_memcpy_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
  37. int
  38. b_memmove_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
  39. int
  40. b_strcat_s(char *s1, unsigned int s1max, const char *s2);
  41. int
  42. b_strcpy_s(char *s1, unsigned int s1max, const char *s2);
  43. /* strdup with string allocated by BH_MALLOC */
  44. char *
  45. bh_strdup(const char *s);
  46. /* strdup with string allocated by WA_MALLOC */
  47. char *
  48. wa_strdup(const char *s);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. #endif