gwenhywfar 5.12.0
msg.h File Reference
#include <gwenhywfar/list.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/buffer.h>
#include <gwenhywfar/db.h>
Include dependency graph for msg.h:

Go to the source code of this file.

Macros

#define GWEN_MSG_FLAGS_PAYLOADINFO_SET   0x80000000u

Typedefs

typedef struct GWEN_MSG GWEN_MSG

Functions

GWENHYWFAR_API int GWEN_Msg_AddByte (GWEN_MSG *msg, uint8_t b)
GWENHYWFAR_API int GWEN_Msg_AddBytes (GWEN_MSG *msg, const uint8_t *bufferPtr, uint32_t bufferLen)
GWENHYWFAR_API void GWEN_Msg_Attach (GWEN_MSG *msg)
GWENHYWFAR_API GWEN_MSGGWEN_Msg_dup (const GWEN_MSG *srcMsg)
GWENHYWFAR_API void GWEN_Msg_free (GWEN_MSG *msg)
GWENHYWFAR_API GWEN_MSGGWEN_Msg_fromBytes (const uint8_t *ptr, uint32_t len)
GWENHYWFAR_API uint8_t * GWEN_Msg_GetBuffer (GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetBytesInBuffer (const GWEN_MSG *msg)
GWENHYWFAR_API const uint8_t * GWEN_Msg_GetConstBuffer (const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetCurrentPos (const GWEN_MSG *msg)
GWENHYWFAR_API int GWEN_Msg_GetGroupId (const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetMaxSize (const GWEN_MSG *msg)
GWENHYWFAR_API int GWEN_Msg_GetRemainingBytes (const GWEN_MSG *msg)
GWENHYWFAR_API int GWEN_Msg_IncCurrentPos (GWEN_MSG *msg, uint32_t i)
GWENHYWFAR_API GWEN_MSGGWEN_Msg_new (uint32_t bufferSize)
GWENHYWFAR_API int GWEN_Msg_ReadNextByte (GWEN_MSG *msg)
GWENHYWFAR_API int GWEN_Msg_RewindCurrentPos (GWEN_MSG *msg)
GWENHYWFAR_API void GWEN_Msg_SetBytesInBuffer (GWEN_MSG *msg, uint32_t i)
GWENHYWFAR_API void GWEN_Msg_SetGroupId (GWEN_MSG *msg, int groupId)
Parsed Information

This group concerns data which is parsed by e.g. implementations of GWEN_MSG_ENDPOINT

GWENHYWFAR_API void GWEN_Msg_AddFlags (GWEN_MSG *msg, uint32_t f)
GWENHYWFAR_API int GWEN_Msg_AddString (GWEN_MSG *msg, const char *s, uint32_t maxSize, uint8_t filler)
GWENHYWFAR_API int GWEN_Msg_AddStringWithTrailingNull (GWEN_MSG *msg, const char *s, uint32_t maxSize, uint8_t filler)
GWENHYWFAR_API int GWEN_Msg_AddUint16 (GWEN_MSG *msg, uint16_t v)
GWENHYWFAR_API int GWEN_Msg_AddUint32 (GWEN_MSG *msg, uint32_t v)
GWENHYWFAR_API int GWEN_Msg_AddUint64 (GWEN_MSG *msg, uint64_t v)
GWENHYWFAR_API int GWEN_Msg_AddUint8 (GWEN_MSG *msg, uint8_t v)
GWENHYWFAR_API void GWEN_Msg_DelFlags (GWEN_MSG *msg, uint32_t f)
GWENHYWFAR_API void GWEN_Msg_Dump (const GWEN_MSG *msg, GWEN_BUFFER *buf)
GWENHYWFAR_API GWEN_DB_NODEGWEN_Msg_GetDbParsedInfo (const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetFlags (const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetParsedPayloadOffset (const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_Msg_GetParsedPayloadSize (const GWEN_MSG *msg)
GWENHYWFAR_API uint16_t GWEN_Msg_GetUint16At (const GWEN_MSG *msg, int offs, uint16_t defaultValue)
GWENHYWFAR_API uint32_t GWEN_Msg_GetUint32At (const GWEN_MSG *msg, int offs, uint32_t defaultValue)
GWENHYWFAR_API uint64_t GWEN_Msg_GetUint64At (const GWEN_MSG *msg, int offs, uint64_t defaultValue)
GWENHYWFAR_API uint8_t GWEN_Msg_GetUint8At (const GWEN_MSG *msg, int offs, uint8_t defaultValue)
GWENHYWFAR_API void GWEN_Msg_SetDbParsedInfo (GWEN_MSG *msg, GWEN_DB_NODE *db)
GWENHYWFAR_API void GWEN_Msg_SetFlags (GWEN_MSG *msg, uint32_t f)
GWENHYWFAR_API void GWEN_Msg_SetParsedPayloadOffset (GWEN_MSG *msg, uint32_t v)
GWENHYWFAR_API void GWEN_Msg_SetParsedPayloadSize (GWEN_MSG *msg, uint32_t v)
GWENHYWFAR_API int GWEN_Msg_WriteBytesAt (GWEN_MSG *msg, uint32_t pos, const uint8_t *bufferPtr, uint32_t bufferLen)
GWENHYWFAR_API int GWEN_Msg_WriteUint16At (GWEN_MSG *msg, uint32_t pos, uint16_t v)
GWENHYWFAR_API int GWEN_Msg_WriteUint32At (GWEN_MSG *msg, uint32_t pos, uint32_t v)
GWENHYWFAR_API int GWEN_Msg_WriteUint64At (GWEN_MSG *msg, uint32_t pos, uint64_t v)
GWENHYWFAR_API int GWEN_Msg_WriteUint8At (GWEN_MSG *msg, uint32_t pos, uint8_t v)

Macro Definition Documentation

◆ GWEN_MSG_FLAGS_PAYLOADINFO_SET

#define GWEN_MSG_FLAGS_PAYLOADINFO_SET   0x80000000u

Definition at line 20 of file msg.h.

Typedef Documentation

◆ GWEN_MSG

typedef struct GWEN_MSG GWEN_MSG

Definition at line 24 of file msg.h.

Function Documentation

◆ GWEN_Msg_AddByte()

GWENHYWFAR_API int GWEN_Msg_AddByte ( GWEN_MSG * msg,
uint8_t b )

Definition at line 186 of file msg.c.

References GWEN_Msg_AddBytes().

Here is the call graph for this function:

◆ GWEN_Msg_AddBytes()

GWENHYWFAR_API int GWEN_Msg_AddBytes ( GWEN_MSG * msg,
const uint8_t * bufferPtr,
uint32_t bufferLen )

Definition at line 193 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.

Referenced by _distributeBufferContent(), GWEN_IpcMsg_new(), GWEN_Msg_AddByte(), GWEN_Msg_AddString(), and GWEN_Msg_AddStringWithTrailingNull().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_AddFlags()

GWENHYWFAR_API void GWEN_Msg_AddFlags ( GWEN_MSG * msg,
uint32_t f )

Definition at line 553 of file msg.c.

◆ GWEN_Msg_AddString()

GWENHYWFAR_API int GWEN_Msg_AddString ( GWEN_MSG * msg,
const char * s,
uint32_t maxSize,
uint8_t filler )

Definition at line 404 of file msg.c.

References DBG_ERROR, GWEN_ERROR_INVALID, GWEN_LOGDOMAIN, GWEN_Msg_AddBytes(), and GWEN_Msg_AddUint8().

Here is the call graph for this function:

◆ GWEN_Msg_AddStringWithTrailingNull()

GWENHYWFAR_API int GWEN_Msg_AddStringWithTrailingNull ( GWEN_MSG * msg,
const char * s,
uint32_t maxSize,
uint8_t filler )

Definition at line 428 of file msg.c.

References DBG_ERROR, GWEN_ERROR_INVALID, GWEN_LOGDOMAIN, GWEN_Msg_AddBytes(), and GWEN_Msg_AddUint8().

Here is the call graph for this function:

◆ GWEN_Msg_AddUint16()

GWENHYWFAR_API int GWEN_Msg_AddUint16 ( GWEN_MSG * msg,
uint16_t v )

Definition at line 362 of file msg.c.

References DBG_INFO, GWEN_ERROR_GENERIC, GWEN_LOGDOMAIN, and GWEN_Msg_WriteUint16At().

Referenced by GWEN_IpcMsg_new().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_AddUint32()

GWENHYWFAR_API int GWEN_Msg_AddUint32 ( GWEN_MSG * msg,
uint32_t v )

Definition at line 341 of file msg.c.

References DBG_INFO, GWEN_ERROR_GENERIC, GWEN_LOGDOMAIN, and GWEN_Msg_WriteUint32At().

Referenced by GWEN_IpcMsg_new().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_AddUint64()

GWENHYWFAR_API int GWEN_Msg_AddUint64 ( GWEN_MSG * msg,
uint64_t v )

Definition at line 320 of file msg.c.

References DBG_INFO, GWEN_ERROR_GENERIC, GWEN_LOGDOMAIN, and GWEN_Msg_WriteUint64At().

Here is the call graph for this function:

◆ GWEN_Msg_AddUint8()

GWENHYWFAR_API int GWEN_Msg_AddUint8 ( GWEN_MSG * msg,
uint8_t v )

Definition at line 383 of file msg.c.

References DBG_INFO, GWEN_ERROR_GENERIC, GWEN_LOGDOMAIN, and GWEN_Msg_WriteUint8At().

Referenced by GWEN_IpcMsg_new(), GWEN_Msg_AddString(), and GWEN_Msg_AddStringWithTrailingNull().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_Attach()

GWENHYWFAR_API void GWEN_Msg_Attach ( GWEN_MSG * msg)

Definition at line 70 of file msg.c.

◆ GWEN_Msg_DelFlags()

GWENHYWFAR_API void GWEN_Msg_DelFlags ( GWEN_MSG * msg,
uint32_t f )

Definition at line 561 of file msg.c.

◆ GWEN_Msg_Dump()

GWENHYWFAR_API void GWEN_Msg_Dump ( const GWEN_MSG * msg,
GWEN_BUFFER * buf )

Definition at line 646 of file msg.c.

References GWEN_Buffer_AppendArgs(), GWEN_Buffer_AppendByte(), and GWEN_Text_DumpString2Buffer().

Here is the call graph for this function:

◆ GWEN_Msg_dup()

GWENHYWFAR_API GWEN_MSG * GWEN_Msg_dup ( const GWEN_MSG * srcMsg)

Definition at line 95 of file msg.c.

References GWEN_DB_Group_dup(), GWEN_Msg_new(), and NULL.

Here is the call graph for this function:

◆ GWEN_Msg_free()

GWENHYWFAR_API void GWEN_Msg_free ( GWEN_MSG * msg)

Definition at line 78 of file msg.c.

References GWEN_DB_Group_free(), GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_LIST_FINI.

Referenced by _writeCurrentMessage(), GWEN_MsgEndpoint_free(), GWEN_MsgRequest_free(), and GWEN_MsgRequest_SetRequestMsg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_fromBytes()

GWENHYWFAR_API GWEN_MSG * GWEN_Msg_fromBytes ( const uint8_t * ptr,
uint32_t len )

Definition at line 54 of file msg.c.

References GWEN_Msg_new(), and NULL.

Here is the call graph for this function:

◆ GWEN_Msg_GetBuffer()

GWENHYWFAR_API uint8_t * GWEN_Msg_GetBuffer ( GWEN_MSG * msg)

Definition at line 133 of file msg.c.

References NULL.

Referenced by _writeCurrentMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_GetBytesInBuffer()

GWENHYWFAR_API uint32_t GWEN_Msg_GetBytesInBuffer ( const GWEN_MSG * msg)

Definition at line 151 of file msg.c.

Referenced by _getBytesNeededForMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_GetConstBuffer()

GWENHYWFAR_API const uint8_t * GWEN_Msg_GetConstBuffer ( const GWEN_MSG * msg)

Definition at line 142 of file msg.c.

References NULL.

◆ GWEN_Msg_GetCurrentPos()

GWENHYWFAR_API uint32_t GWEN_Msg_GetCurrentPos ( const GWEN_MSG * msg)

Definition at line 176 of file msg.c.

Referenced by _writeCurrentMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_GetDbParsedInfo()

GWENHYWFAR_API GWEN_DB_NODE * GWEN_Msg_GetDbParsedInfo ( const GWEN_MSG * msg)

Definition at line 569 of file msg.c.

References NULL.

◆ GWEN_Msg_GetFlags()

GWENHYWFAR_API uint32_t GWEN_Msg_GetFlags ( const GWEN_MSG * msg)

Definition at line 536 of file msg.c.

◆ GWEN_Msg_GetGroupId()

GWENHYWFAR_API int GWEN_Msg_GetGroupId ( const GWEN_MSG * msg)

Definition at line 119 of file msg.c.

◆ GWEN_Msg_GetMaxSize()

GWENHYWFAR_API uint32_t GWEN_Msg_GetMaxSize ( const GWEN_MSG * msg)

Definition at line 169 of file msg.c.

◆ GWEN_Msg_GetParsedPayloadOffset()

GWENHYWFAR_API uint32_t GWEN_Msg_GetParsedPayloadOffset ( const GWEN_MSG * msg)

Definition at line 519 of file msg.c.

◆ GWEN_Msg_GetParsedPayloadSize()

GWENHYWFAR_API uint32_t GWEN_Msg_GetParsedPayloadSize ( const GWEN_MSG * msg)

Definition at line 502 of file msg.c.

◆ GWEN_Msg_GetRemainingBytes()

GWENHYWFAR_API int GWEN_Msg_GetRemainingBytes ( const GWEN_MSG * msg)

Definition at line 493 of file msg.c.

Referenced by _writeCurrentMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_GetUint16At()

GWENHYWFAR_API uint16_t GWEN_Msg_GetUint16At ( const GWEN_MSG * msg,
int offs,
uint16_t defaultValue )

Definition at line 617 of file msg.c.

References GWEN_ENDIAN_LE16TOH.

Referenced by GWEN_IpcMsg_GetCode().

Here is the caller graph for this function:

◆ GWEN_Msg_GetUint32At()

GWENHYWFAR_API uint32_t GWEN_Msg_GetUint32At ( const GWEN_MSG * msg,
int offs,
uint32_t defaultValue )

Definition at line 603 of file msg.c.

References GWEN_ENDIAN_LE32TOH.

Referenced by GWEN_IpcMsg_GetMsgId(), GWEN_IpcMsg_GetMsgSize(), GWEN_IpcMsg_GetRefMsgId(), and GWEN_IpcMsg_IsMsgComplete().

Here is the caller graph for this function:

◆ GWEN_Msg_GetUint64At()

GWENHYWFAR_API uint64_t GWEN_Msg_GetUint64At ( const GWEN_MSG * msg,
int offs,
uint64_t defaultValue )

Definition at line 589 of file msg.c.

References GWEN_ENDIAN_LE64TOH.

◆ GWEN_Msg_GetUint8At()

GWENHYWFAR_API uint8_t GWEN_Msg_GetUint8At ( const GWEN_MSG * msg,
int offs,
uint8_t defaultValue )

Definition at line 631 of file msg.c.

Referenced by GWEN_IpcMsg_GetProtoId(), and GWEN_IpcMsg_GetProtoVersion().

Here is the caller graph for this function:

◆ GWEN_Msg_IncCurrentPos()

GWENHYWFAR_API int GWEN_Msg_IncCurrentPos ( GWEN_MSG * msg,
uint32_t i )

Definition at line 468 of file msg.c.

References GWEN_ERROR_EOF.

Referenced by _writeCurrentMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_new()

GWENHYWFAR_API GWEN_MSG * GWEN_Msg_new ( uint32_t bufferSize)

Definition at line 37 of file msg.c.

References GWEN_INHERIT_INIT, GWEN_LIST_INIT, and GWEN_NEW_OBJECT.

Referenced by _distributeBufferContent(), GWEN_IpcMsg_new(), GWEN_Msg_dup(), and GWEN_Msg_fromBytes().

Here is the caller graph for this function:

◆ GWEN_Msg_ReadNextByte()

GWENHYWFAR_API int GWEN_Msg_ReadNextByte ( GWEN_MSG * msg)

Definition at line 455 of file msg.c.

References GWEN_ERROR_EOF.

◆ GWEN_Msg_RewindCurrentPos()

GWENHYWFAR_API int GWEN_Msg_RewindCurrentPos ( GWEN_MSG * msg)

Definition at line 482 of file msg.c.

References GWEN_ERROR_EOF.

Referenced by GWEN_MsgEndpoint_AddReceivedMessage(), and GWEN_MsgEndpoint_AddSendMessage().

Here is the caller graph for this function:

◆ GWEN_Msg_SetBytesInBuffer()

GWENHYWFAR_API void GWEN_Msg_SetBytesInBuffer ( GWEN_MSG * msg,
uint32_t i )

Definition at line 161 of file msg.c.

◆ GWEN_Msg_SetDbParsedInfo()

GWENHYWFAR_API void GWEN_Msg_SetDbParsedInfo ( GWEN_MSG * msg,
GWEN_DB_NODE * db )

Definition at line 578 of file msg.c.

References GWEN_DB_Group_free().

Here is the call graph for this function:

◆ GWEN_Msg_SetFlags()

GWENHYWFAR_API void GWEN_Msg_SetFlags ( GWEN_MSG * msg,
uint32_t f )

Definition at line 545 of file msg.c.

◆ GWEN_Msg_SetGroupId()

GWENHYWFAR_API void GWEN_Msg_SetGroupId ( GWEN_MSG * msg,
int groupId )

Definition at line 126 of file msg.c.

Referenced by _distributeBufferContent().

Here is the caller graph for this function:

◆ GWEN_Msg_SetParsedPayloadOffset()

GWENHYWFAR_API void GWEN_Msg_SetParsedPayloadOffset ( GWEN_MSG * msg,
uint32_t v )

Definition at line 528 of file msg.c.

◆ GWEN_Msg_SetParsedPayloadSize()

GWENHYWFAR_API void GWEN_Msg_SetParsedPayloadSize ( GWEN_MSG * msg,
uint32_t v )

Definition at line 511 of file msg.c.

◆ GWEN_Msg_WriteBytesAt()

GWENHYWFAR_API int GWEN_Msg_WriteBytesAt ( GWEN_MSG * msg,
uint32_t pos,
const uint8_t * bufferPtr,
uint32_t bufferLen )

Definition at line 299 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.

Here is the call graph for this function:

◆ GWEN_Msg_WriteUint16At()

GWENHYWFAR_API int GWEN_Msg_WriteUint16At ( GWEN_MSG * msg,
uint32_t pos,
uint16_t v )

Definition at line 257 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ENDIAN_HTOLE16, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.

Referenced by GWEN_Msg_AddUint16().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_WriteUint32At()

GWENHYWFAR_API int GWEN_Msg_WriteUint32At ( GWEN_MSG * msg,
uint32_t pos,
uint32_t v )

Definition at line 236 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ENDIAN_HTOLE32, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.

Referenced by GWEN_IpcMsg_AdjustMsgSize(), and GWEN_Msg_AddUint32().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_WriteUint64At()

GWENHYWFAR_API int GWEN_Msg_WriteUint64At ( GWEN_MSG * msg,
uint32_t pos,
uint64_t v )

Definition at line 215 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ENDIAN_HTOLE64, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.

Referenced by GWEN_Msg_AddUint64().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Msg_WriteUint8At()

GWENHYWFAR_API int GWEN_Msg_WriteUint8At ( GWEN_MSG * msg,
uint32_t pos,
uint8_t v )

Definition at line 278 of file msg.c.

References _ensureWritePos(), DBG_INFO, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.

Referenced by GWEN_Msg_AddUint8().

Here is the call graph for this function:
Here is the caller graph for this function: