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");
617 assert((pBuffer) || (numBytesToRead == 0));
632 memcpy(pBuffer, pHandle->
pCurrentPtr, numBytesToRead);
787 assert((pBuffer) || (numBytesToWrite == 0));
802 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:63
@ SBG_NO_ERROR
Definition sbgErrorCodes.h:52
@ SBG_INVALID_PARAMETER
Definition sbgErrorCodes.h:64
_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:485
enum _SbgSBSeekOrigin SbgSBSeekOrigin
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt8(SbgStreamBuffer *pHandle, int8_t value)
Definition sbgStreamBufferCommon.h:662
SBG_INLINE void sbgStreamBufferClearLastError(SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:298
SBG_INLINE void * sbgStreamBufferGetLinkedBuffer(const SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:455
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint8(SbgStreamBuffer *pHandle, uint8_t value)
Definition sbgStreamBufferCommon.h:700
SBG_INLINE SbgErrorCode sbgStreamBufferSeek(SbgStreamBuffer *pHandle, size_t offset, SbgSBSeekOrigin origin)
Definition sbgStreamBufferCommon.h:375
enum _SbgSBMode SbgSBMode
SBG_INLINE void * sbgStreamBufferGetCursor(const SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:468
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:614
SBG_INLINE SbgErrorCode sbgStreamBufferWriteBuffer(SbgStreamBuffer *pHandle, const void *pBuffer, size_t numBytesToWrite)
Definition sbgStreamBufferCommon.h:784
SBG_INLINE SbgErrorCode sbgStreamBufferWriteBoolean(SbgStreamBuffer *pHandle, bool value)
Definition sbgStreamBufferCommon.h:738
SBG_INLINE bool sbgStreamBufferReadBoolean(SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:565
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 SbgErrorCode sbgStreamBufferGetLastError(const SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:283
SBG_INLINE size_t sbgStreamBufferTell(const SbgStreamBuffer *pHandle)
Definition sbgStreamBufferCommon.h:442
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:525
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