MGE General C Library - Full Internal Documentation v1.8.4
Library of general C functions.
Loading...
Searching...
No Matches
mge-message.h
Go to the documentation of this file.
1
16#ifndef MGE_MESSAGE_H
17#define MGE_MESSAGE_H
18
19#include <stdbool.h>
20#include <sys/types.h>
21
22#include <libmgec/mge-buffer.h>
24
26
30struct mgemessage {
31 char *message;
32 size_t size;
33 size_t next_free;
34 bool complete;
36 char separator;
37 int argc;
38 char **argv;
39};
40
44#define MGEMESSAGE_INIT(a, b) \
45 { \
46 .message = NULL, .size = 0, .next_free = 0, .complete = false, \
47 .terminator = a, .separator = b, .argc = 0, .argv = NULL \
48 }
49
50struct mgemessage *pull_msg(struct mgebuffer *buf, struct mgemessage *msg);
51
52void clear_msg(struct mgemessage *msg, const char terminator,
53 const char separator);
54
55void print_msg(struct mgemessage *msg);
56
57void print_def_msg_values(void);
58
60
61#endif /* ndef MGE_MESSAGE_H */
Header file for buffer processing.
void clear_msg(struct mgemessage *msg, const char terminator, const char separator)
Clear message struct.
Definition message.c:204
struct mgemessage * pull_msg(struct mgebuffer *buf, struct mgemessage *msg)
Pull a message from a buffer object.
Definition message.c:51
void print_def_msg_values(void)
Print default values to stdout, for debugging.
Definition message.c:241
void print_msg(struct mgemessage *msg)
Print a message struct.
Definition message.c:222
Header file to ease portability.
#define BEGIN_C_DECLS
BEGIN_C_DECLS should be used at the beginning of declarations so that C++ compilers don't mangle thei...
Definition mge-portability.h:30
#define END_C_DECLS
Use END_C_DECLS at the end of C declarations.
Definition mge-portability.h:34
A buffer object.
Definition mge-buffer.h:28
Message object.
Definition mge-message.h:30
size_t next_free
Next free message location.
Definition mge-message.h:33
char * message
The message buffer.
Definition mge-message.h:31
char terminator
Message delimmitter.
Definition mge-message.h:35
char separator
Message element delimitter.
Definition mge-message.h:36
size_t size
Size of message buffer.
Definition mge-message.h:32
int argc
Number of arguments to the message.
Definition mge-message.h:37
char ** argv
Message arguments.
Definition mge-message.h:38
bool complete
Is message a complete message.
Definition mge-message.h:34