sbgCrc.h
Go to the documentation of this file.
1 
21 #ifndef SBG_CRC_H
22 #define SBG_CRC_H
23 
24 //----------------------------------------------------------------------//
25 //- Header (open extern C block) -//
26 //----------------------------------------------------------------------//
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 #include <sbgCommon.h>
32 
33 //----------------------------------------------------------------------//
34 //- Types definitions -//
35 //----------------------------------------------------------------------//
36 
38 typedef uint32_t SbgCrc32;
39 
41 typedef uint16_t SbgCrc16;
42 
43 //----------------------------------------------------------------------//
44 //- 32 bits Ethernet CRC -//
45 //----------------------------------------------------------------------//
46 
51 SBG_COMMON_LIB_API void sbgCrc32Initialize(SbgCrc32 *pInstance);
52 
60 SBG_COMMON_LIB_API void sbgCrc32Update(SbgCrc32 *pInstance, const void *pData, size_t dataSize);
61 
67 SBG_INLINE uint32_t sbgCrc32Get(const SbgCrc32 *pInstance)
68 {
69  return *pInstance;
70 }
71 
79 SBG_COMMON_LIB_API uint32_t sbgCrc32Compute(const void *pData, size_t dataSize);
80 
81 //----------------------------------------------------------------------//
82 //- CRC-16 operations -//
83 //----------------------------------------------------------------------//
84 
89 SBG_COMMON_LIB_API void sbgCrc16Initialize(SbgCrc16 *pInstance);
90 
97 SBG_COMMON_LIB_API void sbgCrc16Update(SbgCrc16 *pInstance, const void *pData, size_t dataSize);
98 
104 SBG_INLINE uint16_t sbgCrc16Get(const SbgCrc16 *pInstance)
105 {
106  return *pInstance;
107 }
108 
115 SBG_COMMON_LIB_API uint16_t sbgCrc16Compute(const void *pData, size_t dataSize);
116 
117 //----------------------------------------------------------------------//
118 //- Footer (close extern C block) -//
119 //----------------------------------------------------------------------//
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 #endif /* SBG_CRC_H */
SBG_COMMON_LIB_API void sbgCrc32Initialize(SbgCrc32 *pInstance)
Definition: sbgCrc.c:91
SBG_COMMON_LIB_API void sbgCrc16Update(SbgCrc16 *pInstance, const void *pData, size_t dataSize)
Definition: sbgCrc.c:222
#define SBG_COMMON_LIB_API
Definition: sbgDefines.h:58
SBG_INLINE uint32_t sbgCrc32Get(const SbgCrc32 *pInstance)
Definition: sbgCrc.h:67
SBG_INLINE uint16_t sbgCrc16Get(const SbgCrc16 *pInstance)
Definition: sbgCrc.h:104
SBG_COMMON_LIB_API uint32_t sbgCrc32Compute(const void *pData, size_t dataSize)
Definition: sbgCrc.c:178
SBG_COMMON_LIB_API void sbgCrc16Initialize(SbgCrc16 *pInstance)
Definition: sbgCrc.c:206
uint16_t SbgCrc16
Definition: sbgCrc.h:41
SBG_COMMON_LIB_API uint16_t sbgCrc16Compute(const void *pData, size_t dataSize)
Definition: sbgCrc.c:253
#define SBG_INLINE
Definition: sbgDefines.h:186
Main header file for SBG Systems common C library.
SBG_COMMON_LIB_API void sbgCrc32Update(SbgCrc32 *pInstance, const void *pData, size_t dataSize)
Definition: sbgCrc.c:108
uint32_t SbgCrc32
Definition: sbgCrc.h:38


sbg_driver
Author(s): SBG Systems
autogenerated on Thu Oct 22 2020 03:47:22