#ifndef __RARCHDB_MSGPACK_H__ #define __RARCHDB_MSGPACK_H__ #include struct rmsgpack_read_callbacks { int(*read_nil)(void*); int(*read_bool)(int, void*); int(*read_int)(int64_t, void*); int(*read_uint)(uint64_t, void*); int(*read_string)(char *, uint32_t, void*); int(*read_bin)(void *, uint32_t, void*); int(*read_map_start)(uint32_t, void*); int(*read_array_start)(uint32_t, void*); }; int rmsgpack_write_array_header(int fd, uint32_t size); int rmsgpack_write_map_header(int fd, uint32_t size); int rmsgpack_write_string(int fd, const char *s, uint32_t len); int rmsgpack_write_bin(int fd, const void *s, uint32_t len); int rmsgpack_write_nil(int fd); int rmsgpack_write_bool(int fd, int value); int rmsgpack_write_int(int fd, int64_t value); int rmsgpack_write_uint(int fd, uint64_t value); int rmsgpack_read(int fd, struct rmsgpack_read_callbacks *callbacks, void *data); #endif