33 #ifndef SBG_STREAM_BUFFER_COMMON_H
34 #define SBG_STREAM_BUFFER_COMMON_H
45 #if SBG_CONFIG_BIG_ENDIAN == 1
49 #define sbgStreamBufferReadUint16 sbgStreamBufferReadUint16BE
50 #define sbgStreamBufferReadInt16 sbgStreamBufferReadInt16BE
52 #define sbgStreamBufferReadUint24 sbgStreamBufferReadUint24BE
53 #define sbgStreamBufferReadInt24 sbgStreamBufferReadInt24BE
55 #define sbgStreamBufferReadUint32 sbgStreamBufferReadUint32BE
56 #define sbgStreamBufferReadInt32 sbgStreamBufferReadInt32BE
58 #define sbgStreamBufferReadUint40 sbgStreamBufferReadUint40BE
59 #define sbgStreamBufferReadInt40 sbgStreamBufferReadInt40BE
61 #define sbgStreamBufferReadUint48 sbgStreamBufferReadUint48BE
62 #define sbgStreamBufferReadInt48 sbgStreamBufferReadInt48BE
64 #define sbgStreamBufferReadUint56 sbgStreamBufferReadUint56BE
65 #define sbgStreamBufferReadInt56 sbgStreamBufferReadInt56BE
67 #define sbgStreamBufferReadUint64 sbgStreamBufferReadUint64BE
68 #define sbgStreamBufferReadInt64 sbgStreamBufferReadInt64BE
70 #define sbgStreamBufferReadSizeT32 sbgStreamBufferReadSizeT32BE
71 #define sbgStreamBufferReadSizeT64 sbgStreamBufferReadSizeT64BE
73 #define sbgStreamBufferReadFloat sbgStreamBufferReadFloatBE
74 #define sbgStreamBufferReadDouble sbgStreamBufferReadDoubleBE
76 #define sbgStreamBufferWriteUint16 sbgStreamBufferWriteUint16BE
77 #define sbgStreamBufferWriteInt16 sbgStreamBufferWriteInt16BE
79 #define sbgStreamBufferWriteUint24 sbgStreamBufferWriteUint24BE
80 #define sbgStreamBufferWriteInt24 sbgStreamBufferWriteInt24BE
82 #define sbgStreamBufferWriteUint32 sbgStreamBufferWriteUint32BE
83 #define sbgStreamBufferWriteInt32 sbgStreamBufferWriteInt32BE
85 #define sbgStreamBufferWriteUint64 sbgStreamBufferWriteUint64BE
86 #define sbgStreamBufferWriteInt64 sbgStreamBufferWriteInt64BE
88 #define sbgStreamBufferWriteSizeT32 sbgStreamBufferWriteSizeT32BE
89 #define sbgStreamBufferWriteSizeT64 sbgStreamBufferWriteSizeT64BE
91 #define sbgStreamBufferWriteFloat sbgStreamBufferWriteFloatBE
92 #define sbgStreamBufferWriteDouble sbgStreamBufferWriteDoubleBE
94 #define sbgStreamBufferReadString sbgStreamBufferReadStringBE
95 #define sbgStreamBufferWriteString sbgStreamBufferWriteStringBE
100 #define sbgStreamBufferReadUint16 sbgStreamBufferReadUint16LE
101 #define sbgStreamBufferReadInt16 sbgStreamBufferReadInt16LE
103 #define sbgStreamBufferReadUint24 sbgStreamBufferReadUint24LE
104 #define sbgStreamBufferReadInt24 sbgStreamBufferReadInt24LE
106 #define sbgStreamBufferReadUint32 sbgStreamBufferReadUint32LE
107 #define sbgStreamBufferReadInt32 sbgStreamBufferReadInt32LE
109 #define sbgStreamBufferReadUint40 sbgStreamBufferReadUint40LE
110 #define sbgStreamBufferReadInt40 sbgStreamBufferReadInt40LE
112 #define sbgStreamBufferReadUint48 sbgStreamBufferReadUint48LE
113 #define sbgStreamBufferReadInt48 sbgStreamBufferReadInt48LE
115 #define sbgStreamBufferReadUint56 sbgStreamBufferReadUint56LE
116 #define sbgStreamBufferReadInt56 sbgStreamBufferReadInt56LE
118 #define sbgStreamBufferReadUint64 sbgStreamBufferReadUint64LE
119 #define sbgStreamBufferReadInt64 sbgStreamBufferReadInt64LE
121 #define sbgStreamBufferReadSizeT32 sbgStreamBufferReadSizeT32LE
122 #define sbgStreamBufferReadSizeT64 sbgStreamBufferReadSizeT64LE
124 #define sbgStreamBufferReadFloat sbgStreamBufferReadFloatLE
125 #define sbgStreamBufferReadDouble sbgStreamBufferReadDoubleLE
127 #define sbgStreamBufferWriteUint16 sbgStreamBufferWriteUint16LE
128 #define sbgStreamBufferWriteInt16 sbgStreamBufferWriteInt16LE
130 #define sbgStreamBufferWriteUint24 sbgStreamBufferWriteUint24LE
131 #define sbgStreamBufferWriteInt24 sbgStreamBufferWriteInt24LE
133 #define sbgStreamBufferWriteUint32 sbgStreamBufferWriteUint32LE
134 #define sbgStreamBufferWriteInt32 sbgStreamBufferWriteInt32LE
136 #define sbgStreamBufferWriteUint64 sbgStreamBufferWriteUint64LE
137 #define sbgStreamBufferWriteInt64 sbgStreamBufferWriteInt64LE
139 #define sbgStreamBufferWriteSizeT32 sbgStreamBufferWriteSizeT32LE
140 #define sbgStreamBufferWriteSizeT64 sbgStreamBufferWriteSizeT64LE
142 #define sbgStreamBufferWriteFloat sbgStreamBufferWriteFloatLE
143 #define sbgStreamBufferWriteDouble sbgStreamBufferWriteDoubleLE
145 #define sbgStreamBufferReadString sbgStreamBufferReadStringLE
146 #define sbgStreamBufferWriteString sbgStreamBufferWriteStringLE
153 #define sbgStreamBufferReadUint8LE sbgStreamBufferReadUint8
154 #define sbgStreamBufferReadInt8LE sbgStreamBufferReadInt8
155 #define sbgStreamBufferReadBooleanLE sbgStreamBufferReadBoolean
156 #define sbgStreamBufferReadBufferLE sbgStreamBufferReadBuffer
158 #define sbgStreamBufferWriteUint8LE sbgStreamBufferWriteUint8
159 #define sbgStreamBufferWriteInt8LE sbgStreamBufferWriteInt8
160 #define sbgStreamBufferWriteBooleanLE sbgStreamBufferWriteBoolean
161 #define sbgStreamBufferWriteBufferLE sbgStreamBufferWriteBuffer
163 #define sbgStreamBufferReadUint8BE sbgStreamBufferReadUint8
164 #define sbgStreamBufferReadInt8BE sbgStreamBufferReadInt8
165 #define sbgStreamBufferReadBooleanBE sbgStreamBufferReadBoolean
166 #define sbgStreamBufferReadBufferBE sbgStreamBufferReadBuffer
168 #define sbgStreamBufferWriteUint8BE sbgStreamBufferWriteUint8
169 #define sbgStreamBufferWriteInt8BE sbgStreamBufferWriteInt8
170 #define sbgStreamBufferWriteBooleanBE sbgStreamBufferWriteBoolean
171 #define sbgStreamBufferWriteBufferBE sbgStreamBufferWriteBuffer
224 assert(pLinkedBuffer);
236 pHandle->
pBufferPtr = (uint8_t*)pLinkedBuffer;
256 assert(pLinkedBuffer);
268 pHandle->
pBufferPtr = (uint8_t*)pLinkedBuffer;
403 SBG_LOG_ERROR(pHandle->
errorCode,
"Invalid origin parameter");
425 SBG_LOG_ERROR(pHandle->
errorCode,
"Trying to seek before the buffer");
438 SBG_LOG_ERROR(pHandle->
errorCode,
"Trying to seek after the buffer");
627 assert((pBuffer) || (numBytesToRead == 0));
642 memcpy(pBuffer, pHandle->
pCurrentPtr, numBytesToRead);
797 assert((pBuffer) || (numBytesToWrite == 0));
812 memcpy(pHandle->
pCurrentPtr, pBuffer, numBytesToWrite);
Main header for the SBG Systems common C library.
#define SBG_INLINE
Definition: sbgDefines.h:227
enum _SbgErrorCode SbgErrorCode
@ SBG_BUFFER_OVERFLOW
Definition: sbgErrorCodes.h:59
@ SBG_NO_ERROR
Definition: sbgErrorCodes.h:48
@ SBG_INVALID_PARAMETER
Definition: sbgErrorCodes.h:60
_SbgSBSeekOrigin
Definition: sbgStreamBufferCommon.h:190
@ SB_SEEK_END
Definition: sbgStreamBufferCommon.h:194
@ SB_SEEK_SET
Definition: sbgStreamBufferCommon.h:191
@ SB_SEEK_CUR_DEC
Definition: sbgStreamBufferCommon.h:193
@ SB_SEEK_CUR_INC
Definition: sbgStreamBufferCommon.h:192
SBG_INLINE int8_t sbgStreamBufferReadInt8(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:495
enum _SbgSBSeekOrigin SbgSBSeekOrigin
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt8(SbgStreamBuffer *pHandle, int8_t value)
Definition: sbgStreamBufferCommon.h:672
SBG_INLINE void sbgStreamBufferClearLastError(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:298
SBG_INLINE void * sbgStreamBufferGetCursor(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:478
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint8(SbgStreamBuffer *pHandle, uint8_t value)
Definition: sbgStreamBufferCommon.h:710
SBG_INLINE SbgErrorCode sbgStreamBufferSeek(SbgStreamBuffer *pHandle, size_t offset, SbgSBSeekOrigin origin)
Definition: sbgStreamBufferCommon.h:375
enum _SbgSBMode SbgSBMode
SBG_INLINE SbgErrorCode sbgStreamBufferInitForWrite(SbgStreamBuffer *pHandle, void *pLinkedBuffer, size_t bufferSize)
Definition: sbgStreamBufferCommon.h:221
SBG_INLINE SbgErrorCode sbgStreamBufferReadBuffer(SbgStreamBuffer *pHandle, void *pBuffer, size_t numBytesToRead)
Definition: sbgStreamBufferCommon.h:624
SBG_INLINE SbgErrorCode sbgStreamBufferWriteBuffer(SbgStreamBuffer *pHandle, const void *pBuffer, size_t numBytesToWrite)
Definition: sbgStreamBufferCommon.h:794
SBG_INLINE SbgErrorCode sbgStreamBufferWriteBoolean(SbgStreamBuffer *pHandle, bool value)
Definition: sbgStreamBufferCommon.h:748
SBG_INLINE bool sbgStreamBufferReadBoolean(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:575
SBG_INLINE SbgErrorCode sbgStreamBufferInitForRead(SbgStreamBuffer *pHandle, const void *pLinkedBuffer, size_t bufferSize)
Definition: sbgStreamBufferCommon.h:253
SBG_INLINE size_t sbgStreamBufferGetSpace(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:357
SBG_INLINE void * sbgStreamBufferGetLinkedBuffer(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:465
SBG_INLINE SbgErrorCode sbgStreamBufferGetLastError(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:283
SBG_INLINE size_t sbgStreamBufferTell(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:452
SBG_INLINE size_t sbgStreamBufferGetLength(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:338
SBG_INLINE size_t sbgStreamBufferGetSize(const SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:318
struct _SbgStreamBuffer SbgStreamBuffer
_SbgSBMode
Definition: sbgStreamBufferCommon.h:181
@ SB_MODE_WRITE
Definition: sbgStreamBufferCommon.h:183
@ SB_MODE_READ
Definition: sbgStreamBufferCommon.h:182
SBG_INLINE uint8_t sbgStreamBufferReadUint8(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:535
Definition: sbgStreamBufferCommon.h:201
SbgErrorCode errorCode
Definition: sbgStreamBufferCommon.h:206
uint8_t * pCurrentPtr
Definition: sbgStreamBufferCommon.h:205
uint8_t * pBufferPtr
Definition: sbgStreamBufferCommon.h:204
size_t bufferSize
Definition: sbgStreamBufferCommon.h:203
SbgSBMode modes
Definition: sbgStreamBufferCommon.h:202