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
20extern "C" {
21#endif
22
23
24#ifndef MSGPACK_EMBED_STACK_SIZE
25#define MSGPACK_EMBED_STACK_SIZE 32
26#endif
27
28
29typedef 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
77typedef 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