gwenhywfar 5.11.2beta
msg_ipc.h
Go to the documentation of this file.
1/****************************************************************************
2 * This file is part of the project Gwenhywfar.
3 * Gwenhywfar (c) by 2023 Martin Preuss, all rights reserved.
4 *
5 * The license for this file can be found in the file COPYING which you
6 * should have received along with this file.
7 ****************************************************************************/
8
9
10#ifndef GWEN_MSG_MSG_IPC_H
11#define GWEN_MSG_MSG_IPC_H
12
13
14#include <gwenhywfar/msg.h>
15
16
17#define GWEN_MSGIPC_OFFS_SIZE 0 /* 4 bytes: number of all bytes including size, protoid, protover and code */
18#define GWEN_MSGIPC_OFFS_PROTOID 4 /* 1 byte: protocol id (free to use) */
19#define GWEN_MSGIPC_OFFS_PROTOVER 5 /* 1 byte: protocol version (free to use) */
20#define GWEN_MSGIPC_OFFS_CODE 6 /* 2 bytes msg code (meaning depends on protocol) */
21#define GWEN_MSGIPC_OFFS_PAYLOAD 8 /* begin of payload for a given message */
22
23
24
26 uint8_t protoVer,
27 uint16_t code,
28 uint32_t payloadLen,
29 const uint8_t *payload);
35
36
37#endif
38
39
#define GWENHYWFAR_API
struct GWEN_MSG GWEN_MSG
Definition msg.h:25
GWENHYWFAR_API GWEN_MSG * GWEN_IpcMsg_new(uint8_t protoId, uint8_t protoVer, uint16_t code, uint32_t payloadLen, const uint8_t *payload)
GWENHYWFAR_API uint8_t GWEN_IpcMsg_GetProtoVersion(const GWEN_MSG *msg)
GWENHYWFAR_API int GWEN_IpcMsg_IsMsgComplete(const GWEN_MSG *msg)
GWENHYWFAR_API uint16_t GWEN_IpcMsg_GetCode(const GWEN_MSG *msg)
GWENHYWFAR_API uint32_t GWEN_IpcMsg_GetMsgSize(const GWEN_MSG *msg)
GWENHYWFAR_API uint8_t GWEN_IpcMsg_GetProtoId(const GWEN_MSG *msg)