bh_common.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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) do { \
  12. int _ret = slen == 0 ? 0 : b_memcpy_s (dest, dlen, src, slen); \
  13. (void)_ret; \
  14. bh_assert (_ret == 0); \
  15. } while (0)
  16. #define bh_memmove_s(dest, dlen, src, slen) do { \
  17. int _ret = slen == 0 ? 0 : b_memmove_s (dest, dlen, src, slen); \
  18. (void)_ret; \
  19. bh_assert (_ret == 0); \
  20. } while (0)
  21. #define bh_strcat_s(dest, dlen, src) do { \
  22. int _ret = b_strcat_s (dest, dlen, src); \
  23. (void)_ret; \
  24. bh_assert (_ret == 0); \
  25. } while (0)
  26. #define bh_strcpy_s(dest, dlen, src) do { \
  27. int _ret = b_strcpy_s (dest, dlen, src); \
  28. (void)_ret; \
  29. bh_assert (_ret == 0); \
  30. } while (0)
  31. int b_memcpy_s(void * s1, unsigned int s1max, const void * s2, unsigned int n);
  32. int b_memmove_s(void * s1, unsigned int s1max, const void * s2, unsigned int n);
  33. int b_strcat_s(char * s1, unsigned int s1max, const char * s2);
  34. int b_strcpy_s(char * s1, unsigned int s1max, const char * s2);
  35. /* strdup with string allocated by BH_MALLOC */
  36. char *bh_strdup(const char *s);
  37. /* strdup with string allocated by WA_MALLOC */
  38. char *wa_strdup(const char *s);
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif