mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-26 10:32:58 +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:
33
c/pack.h
33
c/pack.h
@@ -21,26 +21,32 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef void (*msgpack_pack_callback_t)(void* data, const unsigned char* b, unsigned int i);
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef void (*msgpack_pack_append_buffer_t)(void* data, const char* b, unsigned int i);
|
||||
|
||||
typedef struct {
|
||||
void* data;
|
||||
msgpack_pack_callback_t callback;
|
||||
msgpack_pack_append_buffer_t callback;
|
||||
} msgpack_pack_t;
|
||||
|
||||
msgpack_pack_t* msgpack_pack_new(void* data, msgpack_pack_callback_t callback);
|
||||
msgpack_pack_t* msgpack_pack_new(void* data, msgpack_pack_append_buffer_t callback);
|
||||
|
||||
void msgpack_pack_free(msgpack_pack_t* ctx);
|
||||
|
||||
void msgpack_pack_int(msgpack_pack_t* ctx, int d);
|
||||
void msgpack_pack_unsigned_int(msgpack_pack_t* ctx, unsigned int d);
|
||||
void msgpack_pack_unsigned_int_8(msgpack_pack_t* ctx, uint8_t d);
|
||||
void msgpack_pack_unsigned_int_16(msgpack_pack_t* ctx, uint16_t d);
|
||||
void msgpack_pack_unsigned_int_32(msgpack_pack_t* ctx, uint32_t d);
|
||||
void msgpack_pack_unsigned_int_64(msgpack_pack_t* ctx, uint64_t d);
|
||||
void msgpack_pack_signed_int_8(msgpack_pack_t* ctx, int8_t d);
|
||||
void msgpack_pack_signed_int_16(msgpack_pack_t* ctx, int16_t d);
|
||||
void msgpack_pack_signed_int_32(msgpack_pack_t* ctx, int32_t d);
|
||||
void msgpack_pack_signed_int_64(msgpack_pack_t* ctx, int64_t d);
|
||||
void msgpack_pack_uint8(msgpack_pack_t* ctx, uint8_t d);
|
||||
void msgpack_pack_uint16(msgpack_pack_t* ctx, uint16_t d);
|
||||
void msgpack_pack_uint32(msgpack_pack_t* ctx, uint32_t d);
|
||||
void msgpack_pack_uint64(msgpack_pack_t* ctx, uint64_t d);
|
||||
void msgpack_pack_int8(msgpack_pack_t* ctx, int8_t d);
|
||||
void msgpack_pack_int16(msgpack_pack_t* ctx, int16_t d);
|
||||
void msgpack_pack_int32(msgpack_pack_t* ctx, int32_t d);
|
||||
void msgpack_pack_int64(msgpack_pack_t* ctx, int64_t d);
|
||||
void msgpack_pack_float(msgpack_pack_t* ctx, float d);
|
||||
void msgpack_pack_double(msgpack_pack_t* ctx, double d);
|
||||
void msgpack_pack_nil(msgpack_pack_t* ctx);
|
||||
@@ -51,5 +57,10 @@ void msgpack_pack_map(msgpack_pack_t* ctx, unsigned int n);
|
||||
void msgpack_pack_string(msgpack_pack_t* ctx, const char* b);
|
||||
void msgpack_pack_raw(msgpack_pack_t* ctx, const void* b, size_t l);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* msgpack/pack.h */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user