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