#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