mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-29 04:17:57 +01:00
lang/c/msgpack: c-macro based template
git-svn-id: file:///Users/frsyuki/project/msgpack-git/svn/x@66 5a5092ae-2292-43ba-b2d5-dcab9c1a2731
This commit is contained in:
35
c/unpack.h
35
c/unpack.h
@@ -21,24 +21,29 @@
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct {
|
||||
void* (*unpack_unsigned_int_8)(void* data, uint8_t d);
|
||||
void* (*unpack_unsigned_int_16)(void* data, uint16_t d);
|
||||
void* (*unpack_unsigned_int_32)(void* data, uint32_t d);
|
||||
void* (*unpack_unsigned_int_64)(void* data, uint64_t d);
|
||||
void* (*unpack_signed_int_8)(void* data, int8_t d);
|
||||
void* (*unpack_signed_int_16)(void* data, int16_t d);
|
||||
void* (*unpack_signed_int_32)(void* data, int32_t d);
|
||||
void* (*unpack_signed_int_64)(void* data, int64_t d);
|
||||
void* (*unpack_uint8)(void* data, uint8_t d);
|
||||
void* (*unpack_uint16)(void* data, uint16_t d);
|
||||
void* (*unpack_uint32)(void* data, uint32_t d);
|
||||
void* (*unpack_uint64)(void* data, uint64_t d);
|
||||
void* (*unpack_int8)(void* data, int8_t d);
|
||||
void* (*unpack_int16)(void* data, int16_t d);
|
||||
void* (*unpack_int32)(void* data, int32_t d);
|
||||
void* (*unpack_int64)(void* data, int64_t d);
|
||||
void* (*unpack_float)(void* data, float d);
|
||||
void* (*unpack_double)(void* data, double d);
|
||||
void* (*unpack_nil)(void* data);
|
||||
void* (*unpack_true)(void* data);
|
||||
void* (*unpack_false)(void* data);
|
||||
void* (*unpack_array_start)(void* data, unsigned int n);
|
||||
void* (*unpack_array)(void* data, unsigned int n);
|
||||
void (*unpack_array_item)(void* data, void* c, void* o);
|
||||
void* (*unpack_map_start)(void* data, unsigned int n);
|
||||
void (*unpack_map_item)(void* data, void* c, void* k, void* v);
|
||||
void* (*unpack_map)(void* data, unsigned int n);
|
||||
void (*unpack_map_item)(void* data, void* c, void* k, void* v);
|
||||
void* (*unpack_raw)(void* data, const char* b, const char* p, unsigned int l);
|
||||
} msgpack_unpack_callback;
|
||||
|
||||
@@ -51,8 +56,14 @@ msgpack_unpack_t* msgpack_unpack_new(void* data, msgpack_unpack_callback* callba
|
||||
void msgpack_unpack_free(msgpack_unpack_t* ctx);
|
||||
void msgpack_unpack_reset(msgpack_unpack_t* ctx);
|
||||
|
||||
int msgpack_unpack_execute(msgpack_unpack_t* ctx, const char* data, size_t len, size_t* off);
|
||||
int msgpack_unpack_execute(msgpack_unpack_t* ctx,
|
||||
const char* data, size_t len, size_t* off);
|
||||
void* msgpack_unpack_data(msgpack_unpack_t* ctx);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* msgpack/unpack.h */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user