devilutionX/Source/tmsg.h
2021-02-25 05:50:24 +01:00

43 lines
800 B
C

/**
* @file tmsg.h
*
* Interface of functionality transmitting chat messages.
*/
#ifndef __TMSG_H__
#define __TMSG_H__
DEVILUTION_BEGIN_NAMESPACE
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push, 1)
typedef struct TMsg TMsg;
typedef struct TMsgHdr {
TMsg *pNext;
Sint32 dwTime;
Uint8 bLen;
} TMsgHdr;
typedef struct TMsg {
TMsgHdr hdr;
// this is actually alignment padding, but the message body is appended to the struct
// so it's convenient to use byte-alignment and name it "body"
Uint8 body[3];
} TMsg;
#pragma pack(pop)
int tmsg_get(Uint8 *pbMsg, Uint32 dwMaxLen);
void tmsg_add(Uint8 *pbMsg, Uint8 bLen);
void tmsg_start();
void tmsg_cleanup();
#ifdef __cplusplus
}
#endif
DEVILUTION_END_NAMESPACE
#endif /* __TMSG_H__ */