#ifndef __MOCHILO_H__ #define __MOCHILO_H__ #define RSTRING_NOT_MODIFIED #include #if defined(HAVE_RUBY_ST_H) #include #else #include #endif #include "buffer.h" #define MOAPI static inline enum msgpack_t { MSGPACK_T_NIL = 0xc0, MSGPACK_T_FALSE = 0xc2, MSGPACK_T_TRUE = 0xc3, MSGPACK_T_FLOAT = 0xca, MSGPACK_T_DOUBLE = 0xcb, MSGPACK_T_UINT8 = 0xcc, MSGPACK_T_UINT16 = 0xcd, MSGPACK_T_UINT32 = 0xce, MSGPACK_T_UINT64 = 0xcf, MSGPACK_T_INT8 = 0xd0, MSGPACK_T_INT16 = 0xd1, MSGPACK_T_INT32 = 0xd2, MSGPACK_T_INT64 = 0xd3, MSGPACK_T_SYM = 0xd4, MSGPACK_T_STR16 = 0xd8, /* reserved in the spec */ MSGPACK_T_STR32 = 0xd9, /* reserved in the spec */ MSGPACK_T_RAW16 = 0xda, MSGPACK_T_RAW32 = 0xdb, MSGPACK_T_ARRAY16 = 0xdc, MSGPACK_T_ARRAY32 = 0xdd, MSGPACK_T_MAP16 = 0xde, MSGPACK_T_MAP32 = 0xdf }; enum msgpack_enc_t { MSGPACK_ENC_UTF_8, MSGPACK_ENC_US_ASCII, MSGPACK_ENC_BIG5, MSGPACK_ENC_BIG5_HKSCS, MSGPACK_ENC_BIG5_UAO, MSGPACK_ENC_CP949, MSGPACK_ENC_EMACS_MULE, MSGPACK_ENC_EUC_JP, MSGPACK_ENC_EUC_KR, MSGPACK_ENC_EUC_TW, MSGPACK_ENC_GB18030, MSGPACK_ENC_GBK, MSGPACK_ENC_ISO_8859_1, MSGPACK_ENC_ISO_8859_2, MSGPACK_ENC_ISO_8859_3, MSGPACK_ENC_ISO_8859_4, MSGPACK_ENC_ISO_8859_5, MSGPACK_ENC_ISO_8859_6, MSGPACK_ENC_ISO_8859_7, MSGPACK_ENC_ISO_8859_8, MSGPACK_ENC_ISO_8859_9, MSGPACK_ENC_ISO_8859_10, MSGPACK_ENC_ISO_8859_11, MSGPACK_ENC_ISO_8859_13, MSGPACK_ENC_ISO_8859_14, MSGPACK_ENC_ISO_8859_15, MSGPACK_ENC_ISO_8859_16, MSGPACK_ENC_KOI8_R, MSGPACK_ENC_KOI8_U, MSGPACK_ENC_SHIFT_JIS, MSGPACK_ENC_UTF_16BE, MSGPACK_ENC_UTF_16LE, MSGPACK_ENC_UTF_32BE, MSGPACK_ENC_UTF_32LE, MSGPACK_ENC_WINDOWS_1251, MSGPACK_ENC_IBM437, MSGPACK_ENC_IBM737, MSGPACK_ENC_IBM775, MSGPACK_ENC_CP850, MSGPACK_ENC_IBM852, MSGPACK_ENC_CP852, MSGPACK_ENC_IBM855, MSGPACK_ENC_CP855, MSGPACK_ENC_IBM857, MSGPACK_ENC_IBM860, MSGPACK_ENC_IBM861, MSGPACK_ENC_IBM862, MSGPACK_ENC_IBM863, MSGPACK_ENC_IBM864, MSGPACK_ENC_IBM865, MSGPACK_ENC_IBM866, MSGPACK_ENC_IBM869, MSGPACK_ENC_WINDOWS_1258, MSGPACK_ENC_GB1988, MSGPACK_ENC_MACCENTEURO, MSGPACK_ENC_MACCROATIAN, MSGPACK_ENC_MACCYRILLIC, MSGPACK_ENC_MACGREEK, MSGPACK_ENC_MACICELAND, MSGPACK_ENC_MACROMAN, MSGPACK_ENC_MACROMANIA, MSGPACK_ENC_MACTHAI, MSGPACK_ENC_MACTURKISH, MSGPACK_ENC_MACUKRAINE, MSGPACK_ENC_CP950, MSGPACK_ENC_CP951, MSGPACK_ENC_STATELESS_ISO_2022_JP, MSGPACK_ENC_EUCJP_MS, MSGPACK_ENC_CP51932, MSGPACK_ENC_GB2312, MSGPACK_ENC_GB12345, MSGPACK_ENC_ISO_2022_JP, MSGPACK_ENC_ISO_2022_JP_2, MSGPACK_ENC_CP50220, MSGPACK_ENC_CP50221, MSGPACK_ENC_WINDOWS_1252, MSGPACK_ENC_WINDOWS_1250, MSGPACK_ENC_WINDOWS_1256, MSGPACK_ENC_WINDOWS_1253, MSGPACK_ENC_WINDOWS_1255, MSGPACK_ENC_WINDOWS_1254, MSGPACK_ENC_TIS_620, MSGPACK_ENC_WINDOWS_874, MSGPACK_ENC_WINDOWS_1257, MSGPACK_ENC_WINDOWS_31J, MSGPACK_ENC_MACJAPANESE, MSGPACK_ENC_UTF_7, MSGPACK_ENC_UTF8_MAC, MSGPACK_ENC_UTF_16, MSGPACK_ENC_UTF_32, MSGPACK_ENC_UTF8_DOCOMO, MSGPACK_ENC_SJIS_DOCOMO, MSGPACK_ENC_UTF8_KDDI, MSGPACK_ENC_SJIS_KDDI, MSGPACK_ENC_ISO_2022_JP_KDDI, MSGPACK_ENC_STATELESS_ISO_2022_JP_KDDI, MSGPACK_ENC_UTF8_SOFTBANK, MSGPACK_ENC_SJIS_SOFTBANK }; enum msgpack_err_t { MSGPACK_EEOF = -1, MSGPACK_EINVALID = -2, MSGPACK_ENOTHING = -3, MSGPACK_EUNSAFE = -4, }; typedef void * mo_value; typedef uint64_t mo_integer; int mochilo_unpack_one(mo_value *_value, mochilo_src *src); #ifdef HAVE_RUBY_ENCODING_H # include # include "encodings.h" #endif #endif