RetroArch/libretro-db/rmsgpack.h
2015-05-30 13:17:11 -03:00

82 lines
1.3 KiB
C

#ifndef __RARCHDB_MSGPACK_H__
#define __RARCHDB_MSGPACK_H__
#include <stdio.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(
FILE *fp,
uint32_t size
);
int rmsgpack_write_map_header(
FILE *fp,
uint32_t size
);
int rmsgpack_write_string(
FILE *fp,
const char * s,
uint32_t len
);
int rmsgpack_write_bin(
FILE *fp,
const void * s,
uint32_t len
);
int rmsgpack_write_nil(FILE *fp);
int rmsgpack_write_bool(
FILE *fp,
int value
);
int rmsgpack_write_int(
FILE *fp,
int64_t value
);
int rmsgpack_write_uint(
FILE *fp,
uint64_t value
);
int rmsgpack_read(
FILE *fp,
struct rmsgpack_read_callbacks * callbacks,
void * data
);
#endif