1 #ifndef CISSERIALIZEBASE_H_ 2 #define CISSERIALIZEBASE_H_ 11 enum seri_enum { DIRECT_SERI, FORMAT_SERI, ARRAY_SERI,
12 ASCII_TABLE_SERI, ASCII_TABLE_ARRAY_SERI,
14 typedef enum seri_enum seri_type;
37 int serialize_direct(
const seri_t s,
char *buf,
const size_t buf_siz,
38 int *args_used, va_list ap) {
40 if (s.type != DIRECT_SERI)
42 char *msg = va_arg(ap,
char*);
44 int ret = (int)strlen(msg);
45 if ((ret + 1) < (int)buf_siz)
59 int deserialize_direct(
const seri_t s,
const char *buf,
const size_t buf_siz,
61 if (s.type != DIRECT_SERI)
63 char **msg = va_arg(ap,
char**);
64 *msg = (
char*)realloc(*msg, buf_siz + 1);
65 memcpy(*msg, buf, buf_siz);
66 (*msg)[buf_siz] =
'\0';
Serializer structure.
Definition: SerializeBase.h:19
void * info
Pointer to any extra info serializer requires.
Definition: SerializeBase.h:21
size_t size_info
Size of allocate space for info.
Definition: SerializeBase.h:22
seri_type type
Serializer type.
Definition: SerializeBase.h:20