summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/core/shared/utils/bh_common.h
blob: edb962eb1c74b480395a069c2d5769b8e0322599 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 * Copyright (C) 2019 Intel Corporation.  All rights reserved.
 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 */

#ifndef _BH_COMMON_H
#define _BH_COMMON_H

#include "bh_platform.h"

#ifdef __cplusplus
extern "C" {
#endif

#define bh_memcpy_s(dest, dlen, src, slen)                            \
    do {                                                              \
        int _ret = slen == 0 ? 0 : b_memcpy_s(dest, dlen, src, slen); \
        (void)_ret;                                                   \
        bh_assert(_ret == 0);                                         \
    } while (0)

#define bh_memcpy_wa(dest, dlen, src, slen)                            \
    do {                                                               \
        int _ret = slen == 0 ? 0 : b_memcpy_wa(dest, dlen, src, slen); \
        (void)_ret;                                                    \
        bh_assert(_ret == 0);                                          \
    } while (0)

#define bh_memmove_s(dest, dlen, src, slen)                            \
    do {                                                               \
        int _ret = slen == 0 ? 0 : b_memmove_s(dest, dlen, src, slen); \
        (void)_ret;                                                    \
        bh_assert(_ret == 0);                                          \
    } while (0)

#define bh_strcat_s(dest, dlen, src)            \
    do {                                        \
        int _ret = b_strcat_s(dest, dlen, src); \
        (void)_ret;                             \
        bh_assert(_ret == 0);                   \
    } while (0)

#define bh_strcpy_s(dest, dlen, src)            \
    do {                                        \
        int _ret = b_strcpy_s(dest, dlen, src); \
        (void)_ret;                             \
        bh_assert(_ret == 0);                   \
    } while (0)

int
b_memcpy_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
int
b_memcpy_wa(void *s1, unsigned int s1max, const void *s2, unsigned int n);
int
b_memmove_s(void *s1, unsigned int s1max, const void *s2, unsigned int n);
int
b_strcat_s(char *s1, unsigned int s1max, const char *s2);
int
b_strcpy_s(char *s1, unsigned int s1max, const char *s2);

/* strdup with string allocated by BH_MALLOC */
char *
bh_strdup(const char *s);

/* strdup with string allocated by WA_MALLOC */
char *
wa_strdup(const char *s);

#ifdef __cplusplus
}
#endif

#endif