messagepack implementation for embedded systems (mbed / arduino)

Dependents:   hello_message_pack

msgpack-c & msgpack-c++ https://github.com/msgpack/msgpack-c implementation for embedded systems (mbed / Arduino)

Committer:
hideakitai
Date:
Mon Feb 22 01:43:48 2016 +0000
Revision:
4:bd0c06dd6e92
Parent:
0:3f9dbf1e2cb0
fix throw error

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hideakitai 0:3f9dbf1e2cb0 1 /*
hideakitai 0:3f9dbf1e2cb0 2 * MessagePack unpacking routine template
hideakitai 0:3f9dbf1e2cb0 3 *
hideakitai 0:3f9dbf1e2cb0 4 * Copyright (C) 2008-2010 FURUHASHI Sadayuki
hideakitai 0:3f9dbf1e2cb0 5 *
hideakitai 0:3f9dbf1e2cb0 6 * Distributed under the Boost Software License, Version 1.0.
hideakitai 0:3f9dbf1e2cb0 7 * (See accompanying file LICENSE_1_0.txt or copy at
hideakitai 0:3f9dbf1e2cb0 8 * http://www.boost.org/LICENSE_1_0.txt)
hideakitai 0:3f9dbf1e2cb0 9 */
hideakitai 0:3f9dbf1e2cb0 10 #ifndef MSGPACK_UNPACK_DEFINE_H
hideakitai 0:3f9dbf1e2cb0 11 #define MSGPACK_UNPACK_DEFINE_H
hideakitai 0:3f9dbf1e2cb0 12
hideakitai 0:3f9dbf1e2cb0 13 #include "sysdep.h"
hideakitai 0:3f9dbf1e2cb0 14 #include <stdlib.h>
hideakitai 0:3f9dbf1e2cb0 15 #include <string.h>
hideakitai 0:3f9dbf1e2cb0 16 #include <assert.h>
hideakitai 0:3f9dbf1e2cb0 17 #include <stdio.h>
hideakitai 0:3f9dbf1e2cb0 18
hideakitai 0:3f9dbf1e2cb0 19 #ifdef __cplusplus
hideakitai 0:3f9dbf1e2cb0 20 extern "C" {
hideakitai 0:3f9dbf1e2cb0 21 #endif
hideakitai 0:3f9dbf1e2cb0 22
hideakitai 0:3f9dbf1e2cb0 23
hideakitai 0:3f9dbf1e2cb0 24 #ifndef MSGPACK_EMBED_STACK_SIZE
hideakitai 0:3f9dbf1e2cb0 25 #define MSGPACK_EMBED_STACK_SIZE 32
hideakitai 0:3f9dbf1e2cb0 26 #endif
hideakitai 0:3f9dbf1e2cb0 27
hideakitai 0:3f9dbf1e2cb0 28
hideakitai 0:3f9dbf1e2cb0 29 typedef enum {
hideakitai 0:3f9dbf1e2cb0 30 MSGPACK_CS_HEADER = 0x00, // nil
hideakitai 0:3f9dbf1e2cb0 31
hideakitai 0:3f9dbf1e2cb0 32 //MSGPACK_CS_ = 0x01,
hideakitai 0:3f9dbf1e2cb0 33 //MSGPACK_CS_ = 0x02, // false
hideakitai 0:3f9dbf1e2cb0 34 //MSGPACK_CS_ = 0x03, // true
hideakitai 0:3f9dbf1e2cb0 35
hideakitai 0:3f9dbf1e2cb0 36 MSGPACK_CS_BIN_8 = 0x04,
hideakitai 0:3f9dbf1e2cb0 37 MSGPACK_CS_BIN_16 = 0x05,
hideakitai 0:3f9dbf1e2cb0 38 MSGPACK_CS_BIN_32 = 0x06,
hideakitai 0:3f9dbf1e2cb0 39
hideakitai 0:3f9dbf1e2cb0 40 MSGPACK_CS_EXT_8 = 0x07,
hideakitai 0:3f9dbf1e2cb0 41 MSGPACK_CS_EXT_16 = 0x08,
hideakitai 0:3f9dbf1e2cb0 42 MSGPACK_CS_EXT_32 = 0x09,
hideakitai 0:3f9dbf1e2cb0 43
hideakitai 0:3f9dbf1e2cb0 44 MSGPACK_CS_FLOAT = 0x0a,
hideakitai 0:3f9dbf1e2cb0 45 MSGPACK_CS_DOUBLE = 0x0b,
hideakitai 0:3f9dbf1e2cb0 46 MSGPACK_CS_UINT_8 = 0x0c,
hideakitai 0:3f9dbf1e2cb0 47 MSGPACK_CS_UINT_16 = 0x0d,
hideakitai 0:3f9dbf1e2cb0 48 MSGPACK_CS_UINT_32 = 0x0e,
hideakitai 0:3f9dbf1e2cb0 49 MSGPACK_CS_UINT_64 = 0x0f,
hideakitai 0:3f9dbf1e2cb0 50 MSGPACK_CS_INT_8 = 0x10,
hideakitai 0:3f9dbf1e2cb0 51 MSGPACK_CS_INT_16 = 0x11,
hideakitai 0:3f9dbf1e2cb0 52 MSGPACK_CS_INT_32 = 0x12,
hideakitai 0:3f9dbf1e2cb0 53 MSGPACK_CS_INT_64 = 0x13,
hideakitai 0:3f9dbf1e2cb0 54
hideakitai 0:3f9dbf1e2cb0 55 MSGPACK_CS_FIXEXT_1 = 0x14,
hideakitai 0:3f9dbf1e2cb0 56 MSGPACK_CS_FIXEXT_2 = 0x15,
hideakitai 0:3f9dbf1e2cb0 57 MSGPACK_CS_FIXEXT_4 = 0x16,
hideakitai 0:3f9dbf1e2cb0 58 MSGPACK_CS_FIXEXT_8 = 0x17,
hideakitai 0:3f9dbf1e2cb0 59 MSGPACK_CS_FIXEXT_16 = 0x18,
hideakitai 0:3f9dbf1e2cb0 60
hideakitai 0:3f9dbf1e2cb0 61 MSGPACK_CS_STR_8 = 0x19, // str8
hideakitai 0:3f9dbf1e2cb0 62 MSGPACK_CS_STR_16 = 0x1a, // str16
hideakitai 0:3f9dbf1e2cb0 63 MSGPACK_CS_STR_32 = 0x1b, // str32
hideakitai 0:3f9dbf1e2cb0 64 MSGPACK_CS_ARRAY_16 = 0x1c,
hideakitai 0:3f9dbf1e2cb0 65 MSGPACK_CS_ARRAY_32 = 0x1d,
hideakitai 0:3f9dbf1e2cb0 66 MSGPACK_CS_MAP_16 = 0x1e,
hideakitai 0:3f9dbf1e2cb0 67 MSGPACK_CS_MAP_32 = 0x1f,
hideakitai 0:3f9dbf1e2cb0 68
hideakitai 0:3f9dbf1e2cb0 69 //MSGPACK_ACS_BIG_INT_VALUE,
hideakitai 0:3f9dbf1e2cb0 70 //MSGPACK_ACS_BIG_FLOAT_VALUE,
hideakitai 0:3f9dbf1e2cb0 71 MSGPACK_ACS_STR_VALUE,
hideakitai 0:3f9dbf1e2cb0 72 MSGPACK_ACS_BIN_VALUE,
hideakitai 0:3f9dbf1e2cb0 73 MSGPACK_ACS_EXT_VALUE
hideakitai 0:3f9dbf1e2cb0 74 } msgpack_unpack_state;
hideakitai 0:3f9dbf1e2cb0 75
hideakitai 0:3f9dbf1e2cb0 76
hideakitai 0:3f9dbf1e2cb0 77 typedef enum {
hideakitai 0:3f9dbf1e2cb0 78 MSGPACK_CT_ARRAY_ITEM,
hideakitai 0:3f9dbf1e2cb0 79 MSGPACK_CT_MAP_KEY,
hideakitai 0:3f9dbf1e2cb0 80 MSGPACK_CT_MAP_VALUE
hideakitai 0:3f9dbf1e2cb0 81 } msgpack_container_type;
hideakitai 0:3f9dbf1e2cb0 82
hideakitai 0:3f9dbf1e2cb0 83
hideakitai 0:3f9dbf1e2cb0 84 #ifdef __cplusplus
hideakitai 0:3f9dbf1e2cb0 85 }
hideakitai 0:3f9dbf1e2cb0 86 #endif
hideakitai 0:3f9dbf1e2cb0 87
hideakitai 0:3f9dbf1e2cb0 88 #endif /* msgpack/unpack_define.h */