xref: /base/startup/hvb/libhvb/src/deps/hvb_sysdeps.c (revision 7310c0d0)
1/*
2 * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15#include "hvb_sysdeps.h"
16#include <string.h>
17
18#ifdef LOG_TAG
19#undef LOG_TAG
20#endif
21
22#define LOG_TAG "libhvb"
23
24int hvb_memcmp(const void *src1, const void *src2, size_t n)
25{
26    return memcmp(src1, src2, n);
27}
28
29void *hvb_memcpy(void *dest, const void *src, size_t n)
30{
31    return memcpy(dest, src, n);
32}
33
34int hvb_memcpy_s(void *dest, size_t destMax, const void *src, size_t count)
35{
36    return memcpy_s(dest, destMax, src, count);
37}
38
39void *hvb_memset(void *dest, const int c, size_t n)
40{
41    return memset(dest, c, n);
42}
43
44int hvb_memset_s(void *dest, size_t destMax, int c, size_t count)
45{
46    return memset_s(dest, destMax, c, count);
47}
48
49int hvb_strcmp(const char *s1, const char *s2)
50{
51    return strcmp(s1, s2);
52}
53
54int hvb_strncmp(const char *s1, const char *s2, size_t n)
55{
56    return strncmp(s1, s2, n);
57}
58
59size_t hvb_strlen(const char *str)
60{
61    return (size_t)strlen(str);
62}
63
64size_t hvb_strnlen(const char *str, size_t len)
65{
66    return (size_t)strnlen(str, len);
67}
68
69void hvb_abort(void)
70{
71    printf("ERROR, an error happened\n");
72}
73
74void hvb_print(const char *message)
75{
76    printf("%s\n", message);
77}
78
79void hvb_printv(const char *message, ...)
80{
81    va_list ap;
82    const char *msg;
83
84    va_start(ap, message);
85    for (msg = message; msg != NULL; msg = va_arg(ap, const char*)) {
86        printf("%s", msg);
87    }
88    va_end(ap);
89}
90
91void *hvb_malloc_(size_t size)
92{
93    return malloc(size);
94}
95
96void hvb_free(void *ptr)
97{
98    if (ptr != NULL) {
99        free(ptr);
100    }
101}
102
103uint32_t hvb_div_by_10(uint64_t *dividend)
104{
105    uint32_t rem = (uint32_t)(*dividend % 10);
106    *dividend /= 10;
107    return rem;
108}
109