1 #ifndef _BFLB_COMMON_H
2 #define _BFLB_COMMON_H
3 
4 #include "stdint.h"
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 /**
11  * @brief
12  *
13  * @param [in] dst
14  * @param [in] src
15  * @param [in] n
16  * @return void*
17  */
18 void *arch_memcpy(void *dst, const void *src, uint32_t n);
19 
20 /**
21  * @brief
22  *
23  * @param [in] s
24  * @param [in] c
25  * @param [in] n
26  * @return void*
27  */
28 void *arch_memset(void *s, uint8_t c, uint32_t n);
29 
30 /**
31  * @brief
32  *
33  * @param [in] s1
34  * @param [in] s2
35  * @param [in] n
36  * @return int
37  */
38 int arch_memcmp(const void *s1, const void *s2, uint32_t n);
39 
40 /**
41  * @brief
42  *
43  * @param [in] dst
44  * @param [in] src
45  * @param [in] n
46  * @return uint32_t*
47  */
48 uint32_t *arch_memcpy4(uint32_t *dst, const uint32_t *src, uint32_t n);
49 
50 /**
51  * @brief
52  *
53  * @param [in] pdst
54  * @param [in] psrc
55  * @param [in] n
56  * @return void*
57  */
58 void *arch_memcpy_fast(void *pdst, const void *psrc, uint32_t n);
59 
60 /**
61  * @brief
62  *
63  * @param [in] dst
64  * @param [in] val
65  * @param [in] n
66  * @return uint32_t*
67  */
68 uint32_t *arch_memset4(uint32_t *dst, const uint32_t val, uint32_t n);
69 
70 /**
71  * @brief
72  *
73  * @param [in] cnt
74  */
75 void arch_delay_us(uint32_t cnt);
76 
77 /**
78  * @brief
79  *
80  * @param [in] cnt
81  */
82 void arch_delay_ms(uint32_t cnt);
83 
84 /**
85  * @brief
86  *
87  * @param [in] in
88  * @param [in] len
89  * @return [in] uint16_t
90  */
91 uint16_t bflb_soft_crc16(void *in, uint32_t len);
92 
93 /**
94  * @brief
95  *
96  * @param [in] in
97  * @param [in] len
98  * @return [in] uint32_t
99  */
100 uint32_t bflb_soft_crc32(void *in, uint32_t len);
101 
102 #ifdef __cplusplus
103 }
104 #endif
105 
106 #endif