sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgStreamBufferLE.h File Reference

Specific method of stream buffer for little endian readings/writings. More...

Go to the source code of this file.

Functions

SBG_INLINE int16_t sbgStreamBufferReadInt16LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint16_t sbgStreamBufferReadUint16LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int32_t sbgStreamBufferReadInt24LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint32_t sbgStreamBufferReadUint24LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int32_t sbgStreamBufferReadInt32LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint32_t sbgStreamBufferReadUint32LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int64_t sbgStreamBufferReadInt40LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int64_t sbgStreamBufferReadUint40LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int64_t sbgStreamBufferReadInt48LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint64_t sbgStreamBufferReadUint48LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int64_t sbgStreamBufferReadInt56LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint64_t sbgStreamBufferReadUint56LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE int64_t sbgStreamBufferReadInt64LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE uint64_t sbgStreamBufferReadUint64LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE size_t sbgStreamBufferReadSizeT32LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE size_t sbgStreamBufferReadSizeT64LE (SbgStreamBuffer *pHandle)
 
SBG_INLINE float sbgStreamBufferReadFloatLE (SbgStreamBuffer *pHandle)
 
SBG_INLINE double sbgStreamBufferReadDoubleLE (SbgStreamBuffer *pHandle)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt16LE (SbgStreamBuffer *pHandle, int16_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint16LE (SbgStreamBuffer *pHandle, uint16_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt24LE (SbgStreamBuffer *pHandle, int32_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint24LE (SbgStreamBuffer *pHandle, uint32_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt32LE (SbgStreamBuffer *pHandle, int32_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint32LE (SbgStreamBuffer *pHandle, uint32_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint48LE (SbgStreamBuffer *pHandle, uint64_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt64LE (SbgStreamBuffer *pHandle, int64_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint64LE (SbgStreamBuffer *pHandle, uint64_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteSizeT32LE (SbgStreamBuffer *pHandle, size_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteSizeT64LE (SbgStreamBuffer *pHandle, size_t value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteFloatLE (SbgStreamBuffer *pHandle, float value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteDoubleLE (SbgStreamBuffer *pHandle, double value)
 
SBG_INLINE SbgErrorCode sbgStreamBufferReadStringLE (SbgStreamBuffer *pHandle, char *pString, size_t maxSize)
 
SBG_INLINE SbgErrorCode sbgStreamBufferWriteStringLE (SbgStreamBuffer *pHandle, const char *pString)
 

Detailed Description

Specific method of stream buffer for little endian readings/writings.

Author
SBG Systems
Date
17 February 2015
License

The MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Function Documentation

◆ sbgStreamBufferReadInt16LE()

SBG_INLINE int16_t sbgStreamBufferReadInt16LE ( SbgStreamBuffer pHandle)

Read an int16_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint16LE()

SBG_INLINE uint16_t sbgStreamBufferReadUint16LE ( SbgStreamBuffer pHandle)

Read an uint16_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadInt24LE()

SBG_INLINE int32_t sbgStreamBufferReadInt24LE ( SbgStreamBuffer pHandle)

Read an int24 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint24LE()

SBG_INLINE uint32_t sbgStreamBufferReadUint24LE ( SbgStreamBuffer pHandle)

Read an uint24 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadInt32LE()

SBG_INLINE int32_t sbgStreamBufferReadInt32LE ( SbgStreamBuffer pHandle)

Read an int32_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint32LE()

SBG_INLINE uint32_t sbgStreamBufferReadUint32LE ( SbgStreamBuffer pHandle)

Read an uint32_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

Referenced by sbgStreamBufferReadFloatLE(), sbgStreamBufferReadInt64LE(), sbgStreamBufferReadSizeT32LE(), and sbgStreamBufferReadUint64LE().

◆ sbgStreamBufferReadInt40LE()

SBG_INLINE int64_t sbgStreamBufferReadInt40LE ( SbgStreamBuffer pHandle)

Read an int40 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint40LE()

SBG_INLINE int64_t sbgStreamBufferReadUint40LE ( SbgStreamBuffer pHandle)

Read an uint40 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadInt48LE()

SBG_INLINE int64_t sbgStreamBufferReadInt48LE ( SbgStreamBuffer pHandle)

Read an int48 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint48LE()

SBG_INLINE uint64_t sbgStreamBufferReadUint48LE ( SbgStreamBuffer pHandle)

Read an uint48 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadInt56LE()

SBG_INLINE int64_t sbgStreamBufferReadInt56LE ( SbgStreamBuffer pHandle)

Read an int56 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadUint56LE()

SBG_INLINE uint64_t sbgStreamBufferReadUint56LE ( SbgStreamBuffer pHandle)

Read an uint56 from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferReadInt64LE()

SBG_INLINE int64_t sbgStreamBufferReadInt64LE ( SbgStreamBuffer pHandle)

Read an int64_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, sbgStreamBufferGetSpace(), and sbgStreamBufferReadUint32LE().

◆ sbgStreamBufferReadUint64LE()

SBG_INLINE uint64_t sbgStreamBufferReadUint64LE ( SbgStreamBuffer pHandle)

Read an uint64_t from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, sbgStreamBufferGetSpace(), and sbgStreamBufferReadUint32LE().

Referenced by sbgStreamBufferReadDoubleLE(), and sbgStreamBufferReadSizeT64LE().

◆ sbgStreamBufferReadSizeT32LE()

SBG_INLINE size_t sbgStreamBufferReadSizeT32LE ( SbgStreamBuffer pHandle)

Read a size_t from a stream buffer that has been stored in a uint32_t (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References sbgStreamBufferReadUint32LE().

Referenced by sbgStreamBufferReadStringLE().

◆ sbgStreamBufferReadSizeT64LE()

SBG_INLINE size_t sbgStreamBufferReadSizeT64LE ( SbgStreamBuffer pHandle)

Read a size_t from a stream buffer that has been stored in a uint64_t (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References sbgStreamBufferReadUint64LE().

◆ sbgStreamBufferReadFloatLE()

SBG_INLINE float sbgStreamBufferReadFloatLE ( SbgStreamBuffer pHandle)

Read an float from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, sbgStreamBufferGetSpace(), and sbgStreamBufferReadUint32LE().

◆ sbgStreamBufferReadDoubleLE()

SBG_INLINE double sbgStreamBufferReadDoubleLE ( SbgStreamBuffer pHandle)

Read an double from a stream buffer (Little endian version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
Returns
The read value or 0 if we have an error.

References _SbgStreamBuffer::errorCode, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, sbgStreamBufferGetSpace(), and sbgStreamBufferReadUint64LE().

◆ sbgStreamBufferWriteInt16LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt16LE ( SbgStreamBuffer pHandle,
int16_t  value 
)

Write an int16_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferWriteUint16LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint16LE ( SbgStreamBuffer pHandle,
uint16_t  value 
)

Write an uint16_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferWriteInt24LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt24LE ( SbgStreamBuffer pHandle,
int32_t  value 
)

Write an int24 into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, and SBG_NO_ERROR.

◆ sbgStreamBufferWriteUint24LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint24LE ( SbgStreamBuffer pHandle,
uint32_t  value 
)

Write an uint24 into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, and SBG_NO_ERROR.

◆ sbgStreamBufferWriteInt32LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt32LE ( SbgStreamBuffer pHandle,
int32_t  value 
)

Write an int32_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferWriteUint32LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint32LE ( SbgStreamBuffer pHandle,
uint32_t  value 
)

Write an uint32_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

Referenced by sbgStreamBufferWriteFloatLE(), and sbgStreamBufferWriteSizeT32LE().

◆ sbgStreamBufferWriteUint48LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint48LE ( SbgStreamBuffer pHandle,
uint64_t  value 
)

Write an uint48 into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferWriteInt64LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteInt64LE ( SbgStreamBuffer pHandle,
int64_t  value 
)

Write an int64_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

◆ sbgStreamBufferWriteUint64LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint64LE ( SbgStreamBuffer pHandle,
uint64_t  value 
)

Write an uint64_t into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, _SbgStreamBuffer::pCurrentPtr, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, and sbgStreamBufferGetSpace().

Referenced by sbgStreamBufferWriteDoubleLE(), and sbgStreamBufferWriteSizeT64LE().

◆ sbgStreamBufferWriteSizeT32LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteSizeT32LE ( SbgStreamBuffer pHandle,
size_t  value 
)

Write an size_t into a stream buffer as a uint32_t (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References sbgStreamBufferWriteUint32LE().

Referenced by sbgStreamBufferWriteStringLE().

◆ sbgStreamBufferWriteSizeT64LE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteSizeT64LE ( SbgStreamBuffer pHandle,
size_t  value 
)

Write an size_t into a stream buffer as a uint64_t (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References sbgStreamBufferWriteUint64LE().

◆ sbgStreamBufferWriteFloatLE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteFloatLE ( SbgStreamBuffer pHandle,
float  value 
)

Write an float into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, SBG_NO_ERROR, and sbgStreamBufferWriteUint32LE().

◆ sbgStreamBufferWriteDoubleLE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteDoubleLE ( SbgStreamBuffer pHandle,
double  value 
)

Write an double into a stream buffer. (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]valueThe value to write.
Returns
SBG_NO_ERROR if the value has been successfully written.

References _SbgStreamBuffer::errorCode, SBG_NO_ERROR, and sbgStreamBufferWriteUint64LE().

◆ sbgStreamBufferReadStringLE()

SBG_INLINE SbgErrorCode sbgStreamBufferReadStringLE ( SbgStreamBuffer pHandle,
char *  pString,
size_t  maxSize 
)

Read a C String from a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports read operations.
[out]pStringBuffer that can hold the read NULL terminated C string.
[in]maxSizeMaximum number of bytes that can be stored in pString (including the NULL char).
Returns
SBG_NO_ERROR if the string has been read successfully from the stream buffer. SBG_BUFFER_OVERFLOW if the provided string isn't big enough to hold the read string

References _SbgStreamBuffer::errorCode, SBG_BUFFER_OVERFLOW, SBG_NO_ERROR, sbgStreamBufferReadBuffer(), and sbgStreamBufferReadSizeT32LE().

◆ sbgStreamBufferWriteStringLE()

SBG_INLINE SbgErrorCode sbgStreamBufferWriteStringLE ( SbgStreamBuffer pHandle,
const char *  pString 
)

Write a NULL terminated C String into a stream buffer (Little Endian Version).

Parameters
[in]pHandleValid stream buffer handle that supports write operations.
[in]pStringNULL terminated C String to write to the stream buffer.
Returns
SBG_NO_ERROR if the string has been written successfully to the stream buffer.

References _SbgStreamBuffer::errorCode, SBG_INVALID_PARAMETER, SBG_NO_ERROR, sbgStreamBufferWriteBuffer(), and sbgStreamBufferWriteSizeT32LE().