RetroArch/libretrodb/rmsgpack.h
2015-01-19 22:47:09 +01:00

81 lines
1.2 KiB
C

#ifndef __RARCHDB_MSGPACK_H__
#define __RARCHDB_MSGPACK_H__
#include <stdint.h>
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