sbgEComBinaryLogDiag.c
Go to the documentation of this file.
1 // sbgCommonLib headers
2 #include <sbgCommon.h>
4 
5 // Local headers
6 #include "sbgEComBinaryLogDiag.h"
7 
8 //----------------------------------------------------------------------//
9 //- Public functions -//
10 //----------------------------------------------------------------------//
11 
13 {
14  assert(pInputStream);
15  assert(pOutputData);
16 
17  pOutputData->timestamp = sbgStreamBufferReadUint32LE(pInputStream);
18  pOutputData->type = (SbgDebugLogType)sbgStreamBufferReadUint8(pInputStream);
19  pOutputData->errorCode = (SbgErrorCode)sbgStreamBufferReadUint8(pInputStream);
20 
21  sbgStreamBufferReadBuffer(pInputStream, pOutputData->string, sbgStreamBufferGetSpace(pInputStream));
22  pOutputData->string[sizeof(pOutputData->string) - 1] = '\0';
23 
24  return sbgStreamBufferGetLastError(pInputStream);
25 }
26 
28 {
29  size_t length;
30 
31  assert(pOutputStream);
32  assert(pInputData);
33 
34  sbgStreamBufferWriteUint32LE(pOutputStream, pInputData->timestamp);
35  sbgStreamBufferWriteUint8(pOutputStream, pInputData->type);
36  sbgStreamBufferWriteUint8(pOutputStream, pInputData->errorCode);
37 
38  length = strlen(pInputData->string);
39 
40  if (length >= sizeof(pInputData->string))
41  {
42  length = sizeof(pInputData->string) - 1;
43  }
44 
45  sbgStreamBufferWriteBuffer(pOutputStream, pInputData->string, length);
46  sbgStreamBufferWriteUint8(pOutputStream, 0);
47 
48  return sbgStreamBufferGetLastError(pOutputStream);
49 }
sbgStreamBufferWriteUint8
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint8(SbgStreamBuffer *pHandle, uint8_t value)
Definition: sbgStreamBufferCommon.h:726
sbgStreamBufferGetLastError
SBG_INLINE SbgErrorCode sbgStreamBufferGetLastError(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:274
sbgCommon.h
sbgStreamBufferWriteBuffer
SBG_INLINE SbgErrorCode sbgStreamBufferWriteBuffer(SbgStreamBuffer *pHandle, const void *pBuffer, size_t numBytesToWrite)
Definition: sbgStreamBufferCommon.h:814
sbgEComBinaryLogDiag.h
_SbgLogDiagData::string
char string[SBG_ECOM_LOG_DIAG_MAX_STRING_SIZE]
Definition: sbgEComBinaryLogDiag.h:51
_SbgLogDiagData::timestamp
uint32_t timestamp
Definition: sbgEComBinaryLogDiag.h:48
_SbgLogDiagData
Definition: sbgEComBinaryLogDiag.h:46
sbgStreamBufferReadUint8
SBG_INLINE uint8_t sbgStreamBufferReadUint8(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:543
sbgStreamBufferGetSpace
SBG_INLINE size_t sbgStreamBufferGetSpace(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:353
sbgStreamBufferReadUint32LE
SBG_INLINE uint32_t sbgStreamBufferReadUint32LE(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferLE.h:386
sbgStreamBufferReadBuffer
SBG_INLINE SbgErrorCode sbgStreamBufferReadBuffer(SbgStreamBuffer *pHandle, void *pBuffer, size_t numBytesToRead)
Definition: sbgStreamBufferCommon.h:636
sbgEComBinaryLogWriteDiagData
SbgErrorCode sbgEComBinaryLogWriteDiagData(SbgStreamBuffer *pOutputStream, const SbgLogDiagData *pInputData)
Definition: sbgEComBinaryLogDiag.c:27
_SbgStreamBuffer
Definition: sbgStreamBufferCommon.h:188
SbgDebugLogType
enum _SbgDebugLogType SbgDebugLogType
sbgStreamBuffer.h
SbgErrorCode
enum _SbgErrorCode SbgErrorCode
Header file that defines all error codes for SBG Systems libraries.
length
TF2SIMD_FORCE_INLINE tf2Scalar length(const Quaternion &q)
_SbgLogDiagData::errorCode
SbgErrorCode errorCode
Definition: sbgEComBinaryLogDiag.h:50
sbgEComBinaryLogParseDiagData
SbgErrorCode sbgEComBinaryLogParseDiagData(SbgStreamBuffer *pInputStream, SbgLogDiagData *pOutputData)
Definition: sbgEComBinaryLogDiag.c:12
_SbgLogDiagData::type
SbgDebugLogType type
Definition: sbgEComBinaryLogDiag.h:49
sbgStreamBufferWriteUint32LE
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint32LE(SbgStreamBuffer *pHandle, uint32_t value)
Definition: sbgStreamBufferLE.h:1499


sbg_driver
Author(s): SBG Systems
autogenerated on Fri Oct 11 2024 02:13:40