MyOS Libc
serdes.h
1
#ifndef SERDES_H
2
#define SERDES_H
3
4
#include <stddef.h>
5
9
typedef
struct
{
10
char
*
buf
;
11
size_t
sizeorpos
;
12
}
serdes_state
;
13
14
20
void
serialize_int(
int
num,
serdes_state
* state);
21
27
void
serialize_ptr(
void
* ptr,
serdes_state
* state);
28
29
30
37
void
serialize_ary(
void
* ary,
size_t
len,
serdes_state
* state);
38
44
#define serialize_str(str,state) (serialize_int(strlen(str)+1,state),serialize_ary(str,strlen(str)+1,state))
45
46
47
53
void
start_deserialize(
char
* buf,
serdes_state
* state);
54
60
int
deserialize_int(
serdes_state
* state);
61
67
void
* deserialize_ptr(
serdes_state
* state);
68
75
void
* deserialize_ary(
size_t
len,
serdes_state
* state);
76
82
#define deserialize_str(state) (deserialize_ary(deserialize_int(state),state))
83
84
85
#endif
86
serdes_state
Definition:
serdes.h:9
serdes_state::buf
char * buf
The buffer getting (de)serialized.
Definition:
serdes.h:10
serdes_state::sizeorpos
size_t sizeorpos
When serializing, the size of the buffer. When deserializing. the position in the buffer.
Definition:
serdes.h:11
libc
serdes.h
Generated by
1.9.1