|
gwenhywfar 5.14.1
|
#include "msgio/msg_p.h"#include <gwenhywfar/error.h>#include <gwenhywfar/misc.h>#include <gwenhywfar/debug.h>#include <gwenhywfar/text.h>#include <gwenhywfar/endianfns.h>
Go to the source code of this file.
Macros | |
| #define | GWEN_MSG_SIZE_MASK (~4095) |
| #define | GWEN_MSG_SIZE_STEP 4096 |
Functions | |
| static int | _ensureWritePos (GWEN_MSG *msg, uint32_t newPos) |
| int | GWEN_Msg_AddByte (GWEN_MSG *msg, uint8_t b) |
| int | GWEN_Msg_AddBytes (GWEN_MSG *msg, const uint8_t *bufferPtr, uint32_t bufferLen) |
| void | GWEN_Msg_AddFlags (GWEN_MSG *msg, uint32_t f) |
| int | GWEN_Msg_AddString (GWEN_MSG *msg, const char *s, uint32_t maxSize, uint8_t filler) |
| int | GWEN_Msg_AddStringWithTrailingNull (GWEN_MSG *msg, const char *s, uint32_t maxSize, uint8_t filler) |
| int | GWEN_Msg_AddUint16 (GWEN_MSG *msg, uint16_t v) |
| int | GWEN_Msg_AddUint32 (GWEN_MSG *msg, uint32_t v) |
| int | GWEN_Msg_AddUint64 (GWEN_MSG *msg, uint64_t v) |
| int | GWEN_Msg_AddUint8 (GWEN_MSG *msg, uint8_t v) |
| void | GWEN_Msg_Attach (GWEN_MSG *msg) |
| void | GWEN_Msg_DelFlags (GWEN_MSG *msg, uint32_t f) |
| void | GWEN_Msg_Dump (const GWEN_MSG *msg, GWEN_BUFFER *buf) |
| GWEN_MSG * | GWEN_Msg_dup (const GWEN_MSG *srcMsg) |
| void | GWEN_Msg_free (GWEN_MSG *msg) |
| GWEN_MSG * | GWEN_Msg_fromBytes (const uint8_t *ptr, uint32_t len) |
| uint8_t * | GWEN_Msg_GetBuffer (GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetBytesInBuffer (const GWEN_MSG *msg) |
| const uint8_t * | GWEN_Msg_GetConstBuffer (const GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetCurrentPos (const GWEN_MSG *msg) |
| GWEN_DB_NODE * | GWEN_Msg_GetDbParsedInfo (const GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetFlags (const GWEN_MSG *msg) |
| int | GWEN_Msg_GetGroupId (const GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetMaxSize (const GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetParsedPayloadOffset (const GWEN_MSG *msg) |
| uint32_t | GWEN_Msg_GetParsedPayloadSize (const GWEN_MSG *msg) |
| int | GWEN_Msg_GetRemainingBytes (const GWEN_MSG *msg) |
| uint16_t | GWEN_Msg_GetUint16At (const GWEN_MSG *msg, int offs, uint16_t defaultValue) |
| uint32_t | GWEN_Msg_GetUint32At (const GWEN_MSG *msg, int offs, uint32_t defaultValue) |
| uint64_t | GWEN_Msg_GetUint64At (const GWEN_MSG *msg, int offs, uint64_t defaultValue) |
| uint8_t | GWEN_Msg_GetUint8At (const GWEN_MSG *msg, int offs, uint8_t defaultValue) |
| int | GWEN_Msg_IncCurrentPos (GWEN_MSG *msg, uint32_t i) |
| GWEN_MSG * | GWEN_Msg_new (uint32_t bufferSize) |
| int | GWEN_Msg_ReadNextByte (GWEN_MSG *msg) |
| int | GWEN_Msg_RewindCurrentPos (GWEN_MSG *msg) |
| void | GWEN_Msg_SetBytesInBuffer (GWEN_MSG *msg, uint32_t i) |
| void | GWEN_Msg_SetDbParsedInfo (GWEN_MSG *msg, GWEN_DB_NODE *db) |
| void | GWEN_Msg_SetFlags (GWEN_MSG *msg, uint32_t f) |
| void | GWEN_Msg_SetGroupId (GWEN_MSG *msg, int groupId) |
| void | GWEN_Msg_SetParsedPayloadOffset (GWEN_MSG *msg, uint32_t v) |
| void | GWEN_Msg_SetParsedPayloadSize (GWEN_MSG *msg, uint32_t v) |
| int | GWEN_Msg_WriteBytesAt (GWEN_MSG *msg, uint32_t pos, const uint8_t *bufferPtr, uint32_t bufferLen) |
| int | GWEN_Msg_WriteUint16At (GWEN_MSG *msg, uint32_t pos, uint16_t v) |
| int | GWEN_Msg_WriteUint32At (GWEN_MSG *msg, uint32_t pos, uint32_t v) |
| int | GWEN_Msg_WriteUint64At (GWEN_MSG *msg, uint32_t pos, uint64_t v) |
| int | GWEN_Msg_WriteUint8At (GWEN_MSG *msg, uint32_t pos, uint8_t v) |
| #define GWEN_MSG_SIZE_MASK (~4095) |
Definition at line 26 of file msg.c.
Referenced by _ensureWritePos().
| #define GWEN_MSG_SIZE_STEP 4096 |
Definition at line 25 of file msg.c.
Referenced by _ensureWritePos().
|
static |
Definition at line 658 of file msg.c.
References DBG_ERROR, DBG_INFO, GWEN_ERROR_INVALID, GWEN_ERROR_MEMORY_FULL, GWEN_LOGDOMAIN, GWEN_MSG_SIZE_MASK, GWEN_MSG_SIZE_STEP, and NULL.
Referenced by GWEN_Msg_AddBytes(), GWEN_Msg_WriteBytesAt(), GWEN_Msg_WriteUint16At(), GWEN_Msg_WriteUint32At(), GWEN_Msg_WriteUint64At(), and GWEN_Msg_WriteUint8At().

| int GWEN_Msg_AddByte | ( | GWEN_MSG * | msg, |
| uint8_t | b ) |
Definition at line 186 of file msg.c.
References GWEN_Msg_AddBytes().

| 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().


| 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().

| 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().

| 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().


| 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().


| 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().

| 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().


| 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().

Definition at line 95 of file msg.c.
References GWEN_DB_Group_dup(), GWEN_Msg_new(), and NULL.

| 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().


| 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.

| uint8_t * GWEN_Msg_GetBuffer | ( | GWEN_MSG * | msg | ) |
Definition at line 133 of file msg.c.
References NULL.
Referenced by _writeCurrentMessage().

| uint32_t GWEN_Msg_GetBytesInBuffer | ( | const GWEN_MSG * | msg | ) |
Definition at line 151 of file msg.c.
Referenced by _getBytesNeededForMessage().

| const uint8_t * GWEN_Msg_GetConstBuffer | ( | const GWEN_MSG * | msg | ) |
| uint32_t GWEN_Msg_GetCurrentPos | ( | const GWEN_MSG * | msg | ) |
Definition at line 176 of file msg.c.
Referenced by _writeCurrentMessage().

| GWEN_DB_NODE * GWEN_Msg_GetDbParsedInfo | ( | const GWEN_MSG * | msg | ) |
| uint32_t GWEN_Msg_GetParsedPayloadOffset | ( | const GWEN_MSG * | msg | ) |
| uint32_t GWEN_Msg_GetParsedPayloadSize | ( | const GWEN_MSG * | msg | ) |
| int GWEN_Msg_GetRemainingBytes | ( | const GWEN_MSG * | msg | ) |
Definition at line 493 of file msg.c.
Referenced by _writeCurrentMessage().

| 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().

| 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().

| 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.
| 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().

| 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().

| 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().

| int GWEN_Msg_ReadNextByte | ( | GWEN_MSG * | msg | ) |
Definition at line 455 of file msg.c.
References GWEN_ERROR_EOF.
| 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().

| void GWEN_Msg_SetDbParsedInfo | ( | GWEN_MSG * | msg, |
| GWEN_DB_NODE * | db ) |
Definition at line 578 of file msg.c.
References GWEN_DB_Group_free().

| void GWEN_Msg_SetGroupId | ( | GWEN_MSG * | msg, |
| int | groupId ) |
Definition at line 126 of file msg.c.
Referenced by _distributeBufferContent().

| void GWEN_Msg_SetParsedPayloadOffset | ( | GWEN_MSG * | msg, |
| uint32_t | v ) |
| void GWEN_Msg_SetParsedPayloadSize | ( | GWEN_MSG * | msg, |
| uint32_t | v ) |
| 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.

| 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().


| 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().


| 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().


| 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().

