mochilo 1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,400 @@
1
+ /* C code produced by gperf version 3.0.3 */
2
+ /* Command-line: gperf */
3
+ /* Computed positions: -k'3-5,7,$' */
4
+
5
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28
+ /* The character set is not based on ISO-646. */
29
+ error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
30
+ #endif
31
+
32
+ struct mochilo_enc_map { const char *name; uint8_t id; };
33
+ /* maximum key range = 326, duplicates = 0 */
34
+
35
+ #ifdef __GNUC__
36
+ __inline
37
+ #else
38
+ #ifdef __cplusplus
39
+ inline
40
+ #endif
41
+ #endif
42
+ static unsigned int
43
+ mochilo_encoding_hash (str, len)
44
+ register const char *str;
45
+ register unsigned int len;
46
+ {
47
+ static const unsigned short asso_values[] =
48
+ {
49
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
50
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
51
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
52
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
53
+ 336, 336, 336, 336, 336, 5, 336, 336, 40, 50,
54
+ 30, 55, 90, 5, 0, 60, 10, 80, 336, 336,
55
+ 336, 336, 336, 336, 336, 10, 10, 15, 0, 0,
56
+ 90, 0, 336, 105, 12, 110, 0, 0, 336, 5,
57
+ 30, 336, 10, 0, 0, 35, 336, 17, 336, 336,
58
+ 336, 336, 336, 336, 336, 336, 336, 0, 336, 0,
59
+ 0, 5, 85, 0, 0, 70, 336, 0, 20, 5,
60
+ 0, 0, 336, 336, 12, 0, 0, 0, 336, 336,
61
+ 336, 70, 336, 336, 336, 336, 336, 336, 336, 336,
62
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
63
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
64
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
65
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
66
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
67
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
68
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
69
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
70
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
71
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
72
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
73
+ 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
74
+ 336, 336, 336, 336, 336, 336
75
+ };
76
+ register int hval = len;
77
+
78
+ switch (hval)
79
+ {
80
+ default:
81
+ hval += asso_values[(unsigned char)str[6]];
82
+ /*FALLTHROUGH*/
83
+ case 6:
84
+ case 5:
85
+ hval += asso_values[(unsigned char)str[4]];
86
+ /*FALLTHROUGH*/
87
+ case 4:
88
+ hval += asso_values[(unsigned char)str[3]];
89
+ /*FALLTHROUGH*/
90
+ case 3:
91
+ hval += asso_values[(unsigned char)str[2]];
92
+ break;
93
+ }
94
+ return hval + asso_values[(unsigned char)str[len - 1]];
95
+ }
96
+
97
+ static const char *mochilo_enc_lookup[] = {
98
+ "UTF-8",
99
+ "US-ASCII",
100
+ "Big5",
101
+ "Big5-HKSCS",
102
+ "Big5-UAO",
103
+ "CP949",
104
+ "Emacs-Mule",
105
+ "EUC-JP",
106
+ "EUC-KR",
107
+ "EUC-TW",
108
+ "GB18030",
109
+ "GBK",
110
+ "ISO-8859-1",
111
+ "ISO-8859-2",
112
+ "ISO-8859-3",
113
+ "ISO-8859-4",
114
+ "ISO-8859-5",
115
+ "ISO-8859-6",
116
+ "ISO-8859-7",
117
+ "ISO-8859-8",
118
+ "ISO-8859-9",
119
+ "ISO-8859-10",
120
+ "ISO-8859-11",
121
+ "ISO-8859-13",
122
+ "ISO-8859-14",
123
+ "ISO-8859-15",
124
+ "ISO-8859-16",
125
+ "KOI8-R",
126
+ "KOI8-U",
127
+ "Shift_JIS",
128
+ "UTF-16BE",
129
+ "UTF-16LE",
130
+ "UTF-32BE",
131
+ "UTF-32LE",
132
+ "Windows-1251",
133
+ "IBM437",
134
+ "IBM737",
135
+ "IBM775",
136
+ "CP850",
137
+ "IBM852",
138
+ "CP852",
139
+ "IBM855",
140
+ "CP855",
141
+ "IBM857",
142
+ "IBM860",
143
+ "IBM861",
144
+ "IBM862",
145
+ "IBM863",
146
+ "IBM864",
147
+ "IBM865",
148
+ "IBM866",
149
+ "IBM869",
150
+ "Windows-1258",
151
+ "GB1988",
152
+ "macCentEuro",
153
+ "macCroatian",
154
+ "macCyrillic",
155
+ "macGreek",
156
+ "macIceland",
157
+ "macRoman",
158
+ "macRomania",
159
+ "macThai",
160
+ "macTurkish",
161
+ "macUkraine",
162
+ "CP950",
163
+ "CP951",
164
+ "stateless-ISO-2022-JP",
165
+ "eucJP-ms",
166
+ "CP51932",
167
+ "GB2312",
168
+ "GB12345",
169
+ "ISO-2022-JP",
170
+ "ISO-2022-JP-2",
171
+ "CP50220",
172
+ "CP50221",
173
+ "Windows-1252",
174
+ "Windows-1250",
175
+ "Windows-1256",
176
+ "Windows-1253",
177
+ "Windows-1255",
178
+ "Windows-1254",
179
+ "TIS-620",
180
+ "Windows-874",
181
+ "Windows-1257",
182
+ "Windows-31J",
183
+ "MacJapanese",
184
+ "UTF-7",
185
+ "UTF8-MAC",
186
+ "UTF-16",
187
+ "UTF-32",
188
+ "UTF8-DoCoMo",
189
+ "SJIS-DoCoMo",
190
+ "UTF8-KDDI",
191
+ "SJIS-KDDI",
192
+ "ISO-2022-JP-KDDI",
193
+ "stateless-ISO-2022-JP-KDDI",
194
+ "UTF8-SoftBank",
195
+ "SJIS-SoftBank"
196
+ };
197
+
198
+
199
+ #ifdef __GNUC__
200
+ __inline
201
+ #ifdef __GNUC_STDC_INLINE__
202
+ __attribute__ ((__gnu_inline__))
203
+ #endif
204
+ #endif
205
+ static const struct mochilo_enc_map *
206
+ mochilo_encoding_to_id (str, len)
207
+ register const char *str;
208
+ register unsigned int len;
209
+ {
210
+ enum
211
+ {
212
+ TOTAL_KEYWORDS = 99,
213
+ MIN_WORD_LENGTH = 3,
214
+ MAX_WORD_LENGTH = 26,
215
+ MIN_HASH_VALUE = 10,
216
+ MAX_HASH_VALUE = 335
217
+ };
218
+
219
+ static const struct mochilo_enc_map wordlist[] =
220
+ {
221
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
222
+ {""},
223
+ {"macTurkish", MSGPACK_ENC_MACTURKISH},
224
+ {""},
225
+ {"Windows-1256", MSGPACK_ENC_WINDOWS_1256},
226
+ {""},
227
+ {"Big5", MSGPACK_ENC_BIG5},
228
+ {"Emacs-Mule", MSGPACK_ENC_EMACS_MULE},
229
+ {"IBM866", MSGPACK_ENC_IBM866},
230
+ {"Windows-1255", MSGPACK_ENC_WINDOWS_1255},
231
+ {"macRoman", MSGPACK_ENC_MACROMAN},
232
+ {""},
233
+ {"macRomania", MSGPACK_ENC_MACROMANIA},
234
+ {"IBM865", MSGPACK_ENC_IBM865},
235
+ {"Windows-1258", MSGPACK_ENC_WINDOWS_1258},
236
+ {"Windows-31J", MSGPACK_ENC_WINDOWS_31J},
237
+ {""},
238
+ {"macGreek", MSGPACK_ENC_MACGREEK},
239
+ {"IBM855", MSGPACK_ENC_IBM855},
240
+ {""},
241
+ {"MacJapanese", MSGPACK_ENC_MACJAPANESE},
242
+ {""},
243
+ {"CP855", MSGPACK_ENC_CP855},
244
+ {"macCentEuro", MSGPACK_ENC_MACCENTEURO},
245
+ {""},
246
+ {"Big5-UAO", MSGPACK_ENC_BIG5_UAO},
247
+ {""},
248
+ {"ISO-8859-6", MSGPACK_ENC_ISO_8859_6},
249
+ {"ISO-8859-16", MSGPACK_ENC_ISO_8859_16},
250
+ {""},
251
+ {"macCroatian", MSGPACK_ENC_MACCROATIAN},
252
+ {""},
253
+ {"ISO-8859-5", MSGPACK_ENC_ISO_8859_5},
254
+ {"ISO-8859-15", MSGPACK_ENC_ISO_8859_15},
255
+ {"Windows-1252", MSGPACK_ENC_WINDOWS_1252},
256
+ {"EUC-TW", MSGPACK_ENC_EUC_TW},
257
+ {""},
258
+ {"ISO-8859-8", MSGPACK_ENC_ISO_8859_8},
259
+ {"IBM862", MSGPACK_ENC_IBM862},
260
+ {""}, {""}, {""},
261
+ {"macUkraine", MSGPACK_ENC_MACUKRAINE},
262
+ {"IBM852", MSGPACK_ENC_IBM852},
263
+ {"Windows-1250", MSGPACK_ENC_WINDOWS_1250},
264
+ {""}, {""},
265
+ {"eucJP-ms", MSGPACK_ENC_EUCJP_MS},
266
+ {"IBM860", MSGPACK_ENC_IBM860},
267
+ {""}, {""}, {""}, {""},
268
+ {"stateless-ISO-2022-JP", MSGPACK_ENC_STATELESS_ISO_2022_JP},
269
+ {"Windows-1251", MSGPACK_ENC_WINDOWS_1251},
270
+ {""}, {""},
271
+ {"ISO-8859-2", MSGPACK_ENC_ISO_8859_2},
272
+ {"IBM861", MSGPACK_ENC_IBM861},
273
+ {"Windows-1253", MSGPACK_ENC_WINDOWS_1253},
274
+ {"EUC-JP", MSGPACK_ENC_EUC_JP},
275
+ {""}, {""},
276
+ {"IBM863", MSGPACK_ENC_IBM863},
277
+ {"Windows-1257", MSGPACK_ENC_WINDOWS_1257},
278
+ {""}, {""}, {""},
279
+ {"ISO-8859-10", MSGPACK_ENC_ISO_8859_10},
280
+ {""}, {""}, {""},
281
+ {"CP852", MSGPACK_ENC_CP852},
282
+ {"IBM857", MSGPACK_ENC_IBM857},
283
+ {""}, {""}, {""},
284
+ {"ISO-8859-1", MSGPACK_ENC_ISO_8859_1},
285
+ {"ISO-8859-11", MSGPACK_ENC_ISO_8859_11},
286
+ {""}, {""}, {""},
287
+ {"ISO-8859-3", MSGPACK_ENC_ISO_8859_3},
288
+ {"ISO-8859-13", MSGPACK_ENC_ISO_8859_13},
289
+ {"TIS-620", MSGPACK_ENC_TIS_620},
290
+ {""}, {""},
291
+ {"ISO-8859-7", MSGPACK_ENC_ISO_8859_7},
292
+ {"IBM869", MSGPACK_ENC_IBM869},
293
+ {""}, {""}, {""},
294
+ {"CP850", MSGPACK_ENC_CP850},
295
+ {"Windows-874", MSGPACK_ENC_WINDOWS_874},
296
+ {"Windows-1254", MSGPACK_ENC_WINDOWS_1254},
297
+ {""}, {""}, {""},
298
+ {"IBM864", MSGPACK_ENC_IBM864},
299
+ {""}, {""}, {""}, {""},
300
+ {"ISO-2022-JP", MSGPACK_ENC_ISO_2022_JP},
301
+ {""},
302
+ {"ISO-2022-JP-2", MSGPACK_ENC_ISO_2022_JP_2},
303
+ {""},
304
+ {"ISO-8859-9", MSGPACK_ENC_ISO_8859_9},
305
+ {"UTF8-DoCoMo", MSGPACK_ENC_UTF8_DOCOMO},
306
+ {""},
307
+ {"UTF8-SoftBank", MSGPACK_ENC_UTF8_SOFTBANK},
308
+ {""},
309
+ {"UTF-8", MSGPACK_ENC_UTF_8},
310
+ {"SJIS-DoCoMo", MSGPACK_ENC_SJIS_DOCOMO},
311
+ {""},
312
+ {"SJIS-SoftBank", MSGPACK_ENC_SJIS_SOFTBANK},
313
+ {""},
314
+ {"ISO-8859-4", MSGPACK_ENC_ISO_8859_4},
315
+ {"ISO-8859-14", MSGPACK_ENC_ISO_8859_14},
316
+ {""}, {""}, {""},
317
+ {"Big5-HKSCS", MSGPACK_ENC_BIG5_HKSCS},
318
+ {"IBM775", MSGPACK_ENC_IBM775},
319
+ {""}, {""}, {""},
320
+ {"macIceland", MSGPACK_ENC_MACICELAND},
321
+ {"KOI8-R", MSGPACK_ENC_KOI8_R},
322
+ {""},
323
+ {"UTF8-MAC", MSGPACK_ENC_UTF8_MAC},
324
+ {""}, {""},
325
+ {"stateless-ISO-2022-JP-KDDI", MSGPACK_ENC_STATELESS_ISO_2022_JP_KDDI},
326
+ {""}, {""}, {""}, {""},
327
+ {"EUC-KR", MSGPACK_ENC_EUC_KR},
328
+ {"macThai", MSGPACK_ENC_MACTHAI},
329
+ {""}, {""}, {""},
330
+ {"UTF-16", MSGPACK_ENC_UTF_16},
331
+ {"GB12345", MSGPACK_ENC_GB12345},
332
+ {"UTF-16LE", MSGPACK_ENC_UTF_16LE},
333
+ {""}, {""},
334
+ {"GB1988", MSGPACK_ENC_GB1988},
335
+ {""},
336
+ {"UTF-32LE", MSGPACK_ENC_UTF_32LE},
337
+ {""}, {""},
338
+ {"KOI8-U", MSGPACK_ENC_KOI8_U},
339
+ {"CP50220", MSGPACK_ENC_CP50220},
340
+ {"UTF-16BE", MSGPACK_ENC_UTF_16BE},
341
+ {""}, {""},
342
+ {"macCyrillic", MSGPACK_ENC_MACCYRILLIC},
343
+ {""},
344
+ {"UTF-32BE", MSGPACK_ENC_UTF_32BE},
345
+ {""},
346
+ {"CP950", MSGPACK_ENC_CP950},
347
+ {"GB2312", MSGPACK_ENC_GB2312},
348
+ {""}, {""}, {""}, {""},
349
+ {"Shift_JIS", MSGPACK_ENC_SHIFT_JIS},
350
+ {""}, {""}, {""}, {""},
351
+ {"IBM737", MSGPACK_ENC_IBM737},
352
+ {"CP50221", MSGPACK_ENC_CP50221},
353
+ {""}, {""}, {""},
354
+ {"UTF-32", MSGPACK_ENC_UTF_32},
355
+ {"GB18030", MSGPACK_ENC_GB18030},
356
+ {""}, {""},
357
+ {"CP951", MSGPACK_ENC_CP951},
358
+ {"ISO-2022-JP-KDDI", MSGPACK_ENC_ISO_2022_JP_KDDI},
359
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
360
+ {""},
361
+ {"CP51932", MSGPACK_ENC_CP51932},
362
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
363
+ {"IBM437", MSGPACK_ENC_IBM437},
364
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
365
+ {"UTF8-KDDI", MSGPACK_ENC_UTF8_KDDI},
366
+ {"UTF-7", MSGPACK_ENC_UTF_7},
367
+ {""}, {""},
368
+ {"GBK", MSGPACK_ENC_GBK},
369
+ {"SJIS-KDDI", MSGPACK_ENC_SJIS_KDDI},
370
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
371
+ {"US-ASCII", MSGPACK_ENC_US_ASCII},
372
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
373
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
374
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
375
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
376
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
377
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
378
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
379
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
380
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
381
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
382
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
383
+ {""}, {""},
384
+ {"CP949", MSGPACK_ENC_CP949}
385
+ };
386
+
387
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
388
+ {
389
+ register int key = mochilo_encoding_hash (str, len);
390
+
391
+ if (key <= MAX_HASH_VALUE && key >= 0)
392
+ {
393
+ register const char *s = wordlist[key].name;
394
+
395
+ if (*str == *s && !strcmp (str + 1, s + 1))
396
+ return &wordlist[key];
397
+ }
398
+ }
399
+ return 0;
400
+ }
@@ -0,0 +1,5 @@
1
+ require 'mkmf'
2
+
3
+ have_header("ruby/st.h")
4
+ have_header("st.h")
5
+ create_makefile('mochilo/mochilo')
@@ -0,0 +1,158 @@
1
+ #ifndef __MOCHILO_H__
2
+ #define __MOCHILO_H__
3
+
4
+ #define RSTRING_NOT_MODIFIED
5
+ #include <ruby.h>
6
+ #if defined(HAVE_RUBY_ST_H)
7
+ #include <ruby/st.h>
8
+ #else
9
+ #include <st.h>
10
+ #endif
11
+
12
+ #include "buffer.h"
13
+
14
+ #define MOAPI static inline
15
+
16
+ enum msgpack_t {
17
+ MSGPACK_T_NIL = 0xc0,
18
+ MSGPACK_T_FALSE = 0xc2,
19
+ MSGPACK_T_TRUE = 0xc3,
20
+ MSGPACK_T_FLOAT = 0xca,
21
+ MSGPACK_T_DOUBLE = 0xcb,
22
+ MSGPACK_T_UINT8 = 0xcc,
23
+ MSGPACK_T_UINT16 = 0xcd,
24
+ MSGPACK_T_UINT32 = 0xce,
25
+ MSGPACK_T_UINT64 = 0xcf,
26
+ MSGPACK_T_INT8 = 0xd0,
27
+ MSGPACK_T_INT16 = 0xd1,
28
+ MSGPACK_T_INT32 = 0xd2,
29
+ MSGPACK_T_INT64 = 0xd3,
30
+ MSGPACK_T_SYM = 0xd4,
31
+ MSGPACK_T_STR16 = 0xd8, /* reserved in the spec */
32
+ MSGPACK_T_STR32 = 0xd9, /* reserved in the spec */
33
+ MSGPACK_T_RAW16 = 0xda,
34
+ MSGPACK_T_RAW32 = 0xdb,
35
+ MSGPACK_T_ARRAY16 = 0xdc,
36
+ MSGPACK_T_ARRAY32 = 0xdd,
37
+ MSGPACK_T_MAP16 = 0xde,
38
+ MSGPACK_T_MAP32 = 0xdf
39
+ };
40
+
41
+ enum msgpack_enc_t {
42
+ MSGPACK_ENC_UTF_8,
43
+ MSGPACK_ENC_US_ASCII,
44
+ MSGPACK_ENC_BIG5,
45
+ MSGPACK_ENC_BIG5_HKSCS,
46
+ MSGPACK_ENC_BIG5_UAO,
47
+ MSGPACK_ENC_CP949,
48
+ MSGPACK_ENC_EMACS_MULE,
49
+ MSGPACK_ENC_EUC_JP,
50
+ MSGPACK_ENC_EUC_KR,
51
+ MSGPACK_ENC_EUC_TW,
52
+ MSGPACK_ENC_GB18030,
53
+ MSGPACK_ENC_GBK,
54
+ MSGPACK_ENC_ISO_8859_1,
55
+ MSGPACK_ENC_ISO_8859_2,
56
+ MSGPACK_ENC_ISO_8859_3,
57
+ MSGPACK_ENC_ISO_8859_4,
58
+ MSGPACK_ENC_ISO_8859_5,
59
+ MSGPACK_ENC_ISO_8859_6,
60
+ MSGPACK_ENC_ISO_8859_7,
61
+ MSGPACK_ENC_ISO_8859_8,
62
+ MSGPACK_ENC_ISO_8859_9,
63
+ MSGPACK_ENC_ISO_8859_10,
64
+ MSGPACK_ENC_ISO_8859_11,
65
+ MSGPACK_ENC_ISO_8859_13,
66
+ MSGPACK_ENC_ISO_8859_14,
67
+ MSGPACK_ENC_ISO_8859_15,
68
+ MSGPACK_ENC_ISO_8859_16,
69
+ MSGPACK_ENC_KOI8_R,
70
+ MSGPACK_ENC_KOI8_U,
71
+ MSGPACK_ENC_SHIFT_JIS,
72
+ MSGPACK_ENC_UTF_16BE,
73
+ MSGPACK_ENC_UTF_16LE,
74
+ MSGPACK_ENC_UTF_32BE,
75
+ MSGPACK_ENC_UTF_32LE,
76
+ MSGPACK_ENC_WINDOWS_1251,
77
+ MSGPACK_ENC_IBM437,
78
+ MSGPACK_ENC_IBM737,
79
+ MSGPACK_ENC_IBM775,
80
+ MSGPACK_ENC_CP850,
81
+ MSGPACK_ENC_IBM852,
82
+ MSGPACK_ENC_CP852,
83
+ MSGPACK_ENC_IBM855,
84
+ MSGPACK_ENC_CP855,
85
+ MSGPACK_ENC_IBM857,
86
+ MSGPACK_ENC_IBM860,
87
+ MSGPACK_ENC_IBM861,
88
+ MSGPACK_ENC_IBM862,
89
+ MSGPACK_ENC_IBM863,
90
+ MSGPACK_ENC_IBM864,
91
+ MSGPACK_ENC_IBM865,
92
+ MSGPACK_ENC_IBM866,
93
+ MSGPACK_ENC_IBM869,
94
+ MSGPACK_ENC_WINDOWS_1258,
95
+ MSGPACK_ENC_GB1988,
96
+ MSGPACK_ENC_MACCENTEURO,
97
+ MSGPACK_ENC_MACCROATIAN,
98
+ MSGPACK_ENC_MACCYRILLIC,
99
+ MSGPACK_ENC_MACGREEK,
100
+ MSGPACK_ENC_MACICELAND,
101
+ MSGPACK_ENC_MACROMAN,
102
+ MSGPACK_ENC_MACROMANIA,
103
+ MSGPACK_ENC_MACTHAI,
104
+ MSGPACK_ENC_MACTURKISH,
105
+ MSGPACK_ENC_MACUKRAINE,
106
+ MSGPACK_ENC_CP950,
107
+ MSGPACK_ENC_CP951,
108
+ MSGPACK_ENC_STATELESS_ISO_2022_JP,
109
+ MSGPACK_ENC_EUCJP_MS,
110
+ MSGPACK_ENC_CP51932,
111
+ MSGPACK_ENC_GB2312,
112
+ MSGPACK_ENC_GB12345,
113
+ MSGPACK_ENC_ISO_2022_JP,
114
+ MSGPACK_ENC_ISO_2022_JP_2,
115
+ MSGPACK_ENC_CP50220,
116
+ MSGPACK_ENC_CP50221,
117
+ MSGPACK_ENC_WINDOWS_1252,
118
+ MSGPACK_ENC_WINDOWS_1250,
119
+ MSGPACK_ENC_WINDOWS_1256,
120
+ MSGPACK_ENC_WINDOWS_1253,
121
+ MSGPACK_ENC_WINDOWS_1255,
122
+ MSGPACK_ENC_WINDOWS_1254,
123
+ MSGPACK_ENC_TIS_620,
124
+ MSGPACK_ENC_WINDOWS_874,
125
+ MSGPACK_ENC_WINDOWS_1257,
126
+ MSGPACK_ENC_WINDOWS_31J,
127
+ MSGPACK_ENC_MACJAPANESE,
128
+ MSGPACK_ENC_UTF_7,
129
+ MSGPACK_ENC_UTF8_MAC,
130
+ MSGPACK_ENC_UTF_16,
131
+ MSGPACK_ENC_UTF_32,
132
+ MSGPACK_ENC_UTF8_DOCOMO,
133
+ MSGPACK_ENC_SJIS_DOCOMO,
134
+ MSGPACK_ENC_UTF8_KDDI,
135
+ MSGPACK_ENC_SJIS_KDDI,
136
+ MSGPACK_ENC_ISO_2022_JP_KDDI,
137
+ MSGPACK_ENC_STATELESS_ISO_2022_JP_KDDI,
138
+ MSGPACK_ENC_UTF8_SOFTBANK,
139
+ MSGPACK_ENC_SJIS_SOFTBANK
140
+ };
141
+
142
+ enum msgpack_err_t {
143
+ MSGPACK_EEOF = -1,
144
+ MSGPACK_EINVALID = -2,
145
+ MSGPACK_ENOTHING = -3,
146
+ MSGPACK_EUNSAFE = -4,
147
+ };
148
+
149
+ typedef void * mo_value;
150
+ typedef uint64_t mo_integer;
151
+ int mochilo_unpack_one(mo_value *_value, mochilo_src *src);
152
+
153
+ #ifdef HAVE_RUBY_ENCODING_H
154
+ # include <ruby/encoding.h>
155
+ # include "encodings.h"
156
+ #endif
157
+
158
+ #endif