bindex 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.travis.yml +48 -0
- data/CONTRIBUTING.md +15 -0
- data/Gemfile +10 -0
- data/LICENSE.txt +22 -0
- data/README.md +38 -0
- data/Rakefile +48 -0
- data/bindex.gemspec +27 -0
- data/ext/bindex/bindex.h +11 -0
- data/ext/bindex/bindings.c +106 -0
- data/ext/bindex/com/gsamokovarov/bindex/BindingBuilder.java.erb +17 -0
- data/ext/bindex/com/gsamokovarov/bindex/CurrentBindingsIterator.java +54 -0
- data/ext/bindex/com/gsamokovarov/bindex/RubyBindingsCollector.java +34 -0
- data/ext/bindex/com/gsamokovarov/bindex/SetExceptionBindingsEventHook.java +21 -0
- data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInterfaceException.java +14 -0
- data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInternals.java +54 -0
- data/ext/bindex/cruby.c +34 -0
- data/ext/bindex/extconf.rb +29 -0
- data/ext/bindex/ruby_193.h +101 -0
- data/ext/bindex/ruby_193/addr2line.h +21 -0
- data/ext/bindex/ruby_193/constant.h +34 -0
- data/ext/bindex/ruby_193/debug.h +41 -0
- data/ext/bindex/ruby_193/dln.h +50 -0
- data/ext/bindex/ruby_193/encdb.h +167 -0
- data/ext/bindex/ruby_193/eval_intern.h +234 -0
- data/ext/bindex/ruby_193/gc.h +99 -0
- data/ext/bindex/ruby_193/id.h +177 -0
- data/ext/bindex/ruby_193/internal.h +242 -0
- data/ext/bindex/ruby_193/iseq.h +126 -0
- data/ext/bindex/ruby_193/method.h +105 -0
- data/ext/bindex/ruby_193/node.h +504 -0
- data/ext/bindex/ruby_193/parse.h +302 -0
- data/ext/bindex/ruby_193/probes.h +369 -0
- data/ext/bindex/ruby_193/regenc.h +219 -0
- data/ext/bindex/ruby_193/regint.h +850 -0
- data/ext/bindex/ruby_193/regparse.h +362 -0
- data/ext/bindex/ruby_193/revision.h +1 -0
- data/ext/bindex/ruby_193/ruby_atomic.h +175 -0
- data/ext/bindex/ruby_193/siphash.h +48 -0
- data/ext/bindex/ruby_193/thread_pthread.h +51 -0
- data/ext/bindex/ruby_193/thread_win32.h +40 -0
- data/ext/bindex/ruby_193/timev.h +21 -0
- data/ext/bindex/ruby_193/transcode_data.h +117 -0
- data/ext/bindex/ruby_193/transdb.h +186 -0
- data/ext/bindex/ruby_193/verconf.h +12 -0
- data/ext/bindex/ruby_193/version.h +52 -0
- data/ext/bindex/ruby_193/vm_core.h +763 -0
- data/ext/bindex/ruby_193/vm_exec.h +184 -0
- data/ext/bindex/ruby_193/vm_insnhelper.h +220 -0
- data/ext/bindex/ruby_193/vm_opts.h +51 -0
- data/ext/bindex/ruby_20.h +142 -0
- data/ext/bindex/ruby_20/addr2line.h +21 -0
- data/ext/bindex/ruby_20/constant.h +36 -0
- data/ext/bindex/ruby_20/dln.h +50 -0
- data/ext/bindex/ruby_20/encdb.h +169 -0
- data/ext/bindex/ruby_20/eval_intern.h +241 -0
- data/ext/bindex/ruby_20/gc.h +104 -0
- data/ext/bindex/ruby_20/id.h +135 -0
- data/ext/bindex/ruby_20/internal.h +395 -0
- data/ext/bindex/ruby_20/iseq.h +140 -0
- data/ext/bindex/ruby_20/method.h +138 -0
- data/ext/bindex/ruby_20/node.h +541 -0
- data/ext/bindex/ruby_20/parse.h +292 -0
- data/ext/bindex/ruby_20/probes.h +369 -0
- data/ext/bindex/ruby_20/probes_helper.h +67 -0
- data/ext/bindex/ruby_20/regenc.h +227 -0
- data/ext/bindex/ruby_20/regint.h +915 -0
- data/ext/bindex/ruby_20/regparse.h +367 -0
- data/ext/bindex/ruby_20/revision.h +1 -0
- data/ext/bindex/ruby_20/ruby_atomic.h +170 -0
- data/ext/bindex/ruby_20/siphash.h +48 -0
- data/ext/bindex/ruby_20/thread_pthread.h +56 -0
- data/ext/bindex/ruby_20/thread_win32.h +45 -0
- data/ext/bindex/ruby_20/timev.h +21 -0
- data/ext/bindex/ruby_20/transcode_data.h +127 -0
- data/ext/bindex/ruby_20/transdb.h +190 -0
- data/ext/bindex/ruby_20/verconf.h +12 -0
- data/ext/bindex/ruby_20/version.h +52 -0
- data/ext/bindex/ruby_20/vm_core.h +1018 -0
- data/ext/bindex/ruby_20/vm_debug.h +41 -0
- data/ext/bindex/ruby_20/vm_exec.h +173 -0
- data/ext/bindex/ruby_20/vm_insnhelper.h +274 -0
- data/ext/bindex/ruby_20/vm_opts.h +56 -0
- data/ext/bindex/ruby_21.h +142 -0
- data/ext/bindex/ruby_21/addr2line.h +21 -0
- data/ext/bindex/ruby_21/constant.h +36 -0
- data/ext/bindex/ruby_21/dln.h +51 -0
- data/ext/bindex/ruby_21/encdb.h +170 -0
- data/ext/bindex/ruby_21/eval_intern.h +260 -0
- data/ext/bindex/ruby_21/gc.h +101 -0
- data/ext/bindex/ruby_21/id.h +210 -0
- data/ext/bindex/ruby_21/internal.h +889 -0
- data/ext/bindex/ruby_21/iseq.h +136 -0
- data/ext/bindex/ruby_21/method.h +142 -0
- data/ext/bindex/ruby_21/node.h +543 -0
- data/ext/bindex/ruby_21/parse.h +298 -0
- data/ext/bindex/ruby_21/probes.h +401 -0
- data/ext/bindex/ruby_21/probes_helper.h +67 -0
- data/ext/bindex/ruby_21/regenc.h +223 -0
- data/ext/bindex/ruby_21/regint.h +911 -0
- data/ext/bindex/ruby_21/regparse.h +363 -0
- data/ext/bindex/ruby_21/revision.h +1 -0
- data/ext/bindex/ruby_21/ruby_atomic.h +170 -0
- data/ext/bindex/ruby_21/siphash.h +48 -0
- data/ext/bindex/ruby_21/thread_native.h +23 -0
- data/ext/bindex/ruby_21/thread_pthread.h +56 -0
- data/ext/bindex/ruby_21/thread_win32.h +45 -0
- data/ext/bindex/ruby_21/timev.h +42 -0
- data/ext/bindex/ruby_21/transcode_data.h +123 -0
- data/ext/bindex/ruby_21/transdb.h +190 -0
- data/ext/bindex/ruby_21/verconf.h +13 -0
- data/ext/bindex/ruby_21/version.h +52 -0
- data/ext/bindex/ruby_21/vm_core.h +1043 -0
- data/ext/bindex/ruby_21/vm_debug.h +37 -0
- data/ext/bindex/ruby_21/vm_exec.h +182 -0
- data/ext/bindex/ruby_21/vm_insnhelper.h +273 -0
- data/ext/bindex/ruby_21/vm_opts.h +56 -0
- data/ext/bindex/ruby_21preview.h +146 -0
- data/ext/bindex/ruby_21preview/addr2line.h +21 -0
- data/ext/bindex/ruby_21preview/constant.h +36 -0
- data/ext/bindex/ruby_21preview/dln.h +51 -0
- data/ext/bindex/ruby_21preview/encdb.h +270 -0
- data/ext/bindex/ruby_21preview/eval_intern.h +217 -0
- data/ext/bindex/ruby_21preview/gc.h +100 -0
- data/ext/bindex/ruby_21preview/id.h +169 -0
- data/ext/bindex/ruby_21preview/internal.h +765 -0
- data/ext/bindex/ruby_21preview/iseq.h +136 -0
- data/ext/bindex/ruby_21preview/method.h +141 -0
- data/ext/bindex/ruby_21preview/node.h +543 -0
- data/ext/bindex/ruby_21preview/parse.h +298 -0
- data/ext/bindex/ruby_21preview/probes.h +385 -0
- data/ext/bindex/ruby_21preview/probes_helper.h +67 -0
- data/ext/bindex/ruby_21preview/regenc.h +223 -0
- data/ext/bindex/ruby_21preview/regint.h +911 -0
- data/ext/bindex/ruby_21preview/regparse.h +363 -0
- data/ext/bindex/ruby_21preview/revision.h +1 -0
- data/ext/bindex/ruby_21preview/ruby_atomic.h +130 -0
- data/ext/bindex/ruby_21preview/siphash.h +48 -0
- data/ext/bindex/ruby_21preview/thread_native.h +23 -0
- data/ext/bindex/ruby_21preview/thread_pthread.h +56 -0
- data/ext/bindex/ruby_21preview/thread_win32.h +45 -0
- data/ext/bindex/ruby_21preview/timev.h +42 -0
- data/ext/bindex/ruby_21preview/transcode_data.h +123 -0
- data/ext/bindex/ruby_21preview/transdb.h +190 -0
- data/ext/bindex/ruby_21preview/verconf.h +13 -0
- data/ext/bindex/ruby_21preview/version.h +53 -0
- data/ext/bindex/ruby_21preview/vm_core.h +1017 -0
- data/ext/bindex/ruby_21preview/vm_debug.h +37 -0
- data/ext/bindex/ruby_21preview/vm_exec.h +180 -0
- data/ext/bindex/ruby_21preview/vm_insnhelper.h +272 -0
- data/ext/bindex/ruby_21preview/vm_opts.h +56 -0
- data/lib/bindex.rb +10 -0
- data/lib/bindex/jruby.rb +20 -0
- data/lib/bindex/jruby_internals.jar +0 -0
- data/lib/bindex/jruby_internals_9k.jar +0 -0
- data/lib/bindex/rubinius.rb +56 -0
- data/lib/bindex/version.rb +3 -0
- data/test/exception_test.rb +45 -0
- data/test/fixtures/basic_nested_fixture.rb +13 -0
- data/test/fixtures/custom_error_fixture.rb +9 -0
- data/test/fixtures/eval_nested_fixture.rb +13 -0
- data/test/fixtures/flat_fixture.rb +7 -0
- data/test/test_helper.rb +17 -0
- metadata +270 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
/*-*-c-*-*/
|
2
|
+
/**********************************************************************
|
3
|
+
|
4
|
+
vm_opts.h - VM optimize option
|
5
|
+
|
6
|
+
$Author$
|
7
|
+
|
8
|
+
Copyright (C) 2004-2007 Koichi Sasada
|
9
|
+
|
10
|
+
**********************************************************************/
|
11
|
+
|
12
|
+
|
13
|
+
#ifndef RUBY_VM_OPTS_H
|
14
|
+
#define RUBY_VM_OPTS_H
|
15
|
+
|
16
|
+
/* Compile options.
|
17
|
+
* You can change these options at runtime by VM::CompileOption.
|
18
|
+
* Following definitions are default values.
|
19
|
+
*/
|
20
|
+
|
21
|
+
#define OPT_TRACE_INSTRUCTION 1
|
22
|
+
#define OPT_TAILCALL_OPTIMIZATION 0
|
23
|
+
#define OPT_PEEPHOLE_OPTIMIZATION 1
|
24
|
+
#define OPT_SPECIALISED_INSTRUCTION 1
|
25
|
+
#define OPT_INLINE_CONST_CACHE 1
|
26
|
+
|
27
|
+
|
28
|
+
/* Build Options.
|
29
|
+
* You can't change these options at runtime.
|
30
|
+
*/
|
31
|
+
|
32
|
+
/* C compiler dependent */
|
33
|
+
#define OPT_DIRECT_THREADED_CODE 1
|
34
|
+
#define OPT_TOKEN_THREADED_CODE 0
|
35
|
+
#define OPT_CALL_THREADED_CODE 0
|
36
|
+
|
37
|
+
/* VM running option */
|
38
|
+
#define OPT_CHECKED_RUN 1
|
39
|
+
#define OPT_INLINE_METHOD_CACHE 1
|
40
|
+
#define OPT_GLOBAL_METHOD_CACHE 1
|
41
|
+
#define OPT_BLOCKINLINING 0
|
42
|
+
|
43
|
+
/* architecture independent, affects generated code */
|
44
|
+
#define OPT_OPERANDS_UNIFICATION 1
|
45
|
+
#define OPT_INSTRUCTIONS_UNIFICATION 0
|
46
|
+
#define OPT_UNIFY_ALL_COMBINATION 0
|
47
|
+
#define OPT_STACK_CACHING 0
|
48
|
+
|
49
|
+
/* misc */
|
50
|
+
#define SUPPORT_JOKE 0
|
51
|
+
|
52
|
+
#ifndef VM_COLLECT_USAGE_DETAILS
|
53
|
+
#define VM_COLLECT_USAGE_DETAILS 0
|
54
|
+
#endif
|
55
|
+
|
56
|
+
#endif /* RUBY_VM_OPTS_H */
|
@@ -0,0 +1,146 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
6
|
+
modification, are permitted provided that the following conditions
|
7
|
+
are met:
|
8
|
+
1. Redistributions of source code must retain the above copyright
|
9
|
+
notice, this list of conditions and the following disclaimer.
|
10
|
+
2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
notice, this list of conditions and the following disclaimer in the
|
12
|
+
documentation and/or other materials provided with the distribution.
|
13
|
+
|
14
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
15
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
16
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
17
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
18
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
19
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
20
|
+
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
21
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
22
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
23
|
+
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
24
|
+
SUCH DAMAGE.
|
25
|
+
|
26
|
+
**********************************************************************/
|
27
|
+
#ifndef _RUBY_21PREVIEW_H
|
28
|
+
#define _RUBY_21PREVIEW_H
|
29
|
+
|
30
|
+
#include "ruby_21preview/internal.h"
|
31
|
+
#include "ruby_21preview/method.h"
|
32
|
+
#include "ruby_21preview/vm_core.h"
|
33
|
+
|
34
|
+
|
35
|
+
typedef struct rb_backtrace_location_struct {
|
36
|
+
enum LOCATION_TYPE {
|
37
|
+
LOCATION_TYPE_ISEQ = 1,
|
38
|
+
LOCATION_TYPE_ISEQ_CALCED,
|
39
|
+
LOCATION_TYPE_CFUNC,
|
40
|
+
LOCATION_TYPE_IFUNC
|
41
|
+
} type;
|
42
|
+
|
43
|
+
union {
|
44
|
+
struct {
|
45
|
+
const rb_iseq_t *iseq;
|
46
|
+
union {
|
47
|
+
const VALUE *pc;
|
48
|
+
int lineno;
|
49
|
+
} lineno;
|
50
|
+
} iseq;
|
51
|
+
struct {
|
52
|
+
ID mid;
|
53
|
+
struct rb_backtrace_location_struct *prev_loc;
|
54
|
+
} cfunc;
|
55
|
+
} body;
|
56
|
+
} rb_backtrace_location_t;
|
57
|
+
|
58
|
+
typedef struct rb_backtrace_struct {
|
59
|
+
rb_backtrace_location_t *backtrace;
|
60
|
+
rb_backtrace_location_t *backtrace_base;
|
61
|
+
int backtrace_size;
|
62
|
+
VALUE strary;
|
63
|
+
} rb_backtrace_t;
|
64
|
+
|
65
|
+
|
66
|
+
static void
|
67
|
+
location_mark_entry(rb_backtrace_location_t *fi)
|
68
|
+
{
|
69
|
+
switch (fi->type) {
|
70
|
+
case LOCATION_TYPE_ISEQ:
|
71
|
+
case LOCATION_TYPE_ISEQ_CALCED:
|
72
|
+
rb_gc_mark(fi->body.iseq.iseq->self);
|
73
|
+
break;
|
74
|
+
case LOCATION_TYPE_CFUNC:
|
75
|
+
case LOCATION_TYPE_IFUNC:
|
76
|
+
default:
|
77
|
+
break;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
static void
|
82
|
+
backtrace_mark(void *ptr)
|
83
|
+
{
|
84
|
+
if (ptr) {
|
85
|
+
rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
|
86
|
+
size_t i, s = bt->backtrace_size;
|
87
|
+
|
88
|
+
for (i=0; i<s; i++) {
|
89
|
+
location_mark_entry(&bt->backtrace[i]);
|
90
|
+
rb_gc_mark(bt->strary);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
static void
|
96
|
+
backtrace_free(void *ptr)
|
97
|
+
{
|
98
|
+
if (ptr) {
|
99
|
+
rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
|
100
|
+
if (bt->backtrace) ruby_xfree(bt->backtrace_base);
|
101
|
+
ruby_xfree(bt);
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
static size_t
|
106
|
+
backtrace_memsize(const void *ptr)
|
107
|
+
{
|
108
|
+
rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
|
109
|
+
return sizeof(rb_backtrace_t) + sizeof(rb_backtrace_location_t) * bt->backtrace_size;
|
110
|
+
}
|
111
|
+
|
112
|
+
static const rb_data_type_t backtrace_data_type = {
|
113
|
+
"backtrace",
|
114
|
+
{backtrace_mark, backtrace_free, backtrace_memsize,},
|
115
|
+
};
|
116
|
+
|
117
|
+
int
|
118
|
+
rb_backtrace_p(VALUE obj)
|
119
|
+
{
|
120
|
+
return rb_typeddata_is_kind_of(obj, &backtrace_data_type);
|
121
|
+
}
|
122
|
+
|
123
|
+
VALUE
|
124
|
+
rb_check_backtrace(VALUE bt)
|
125
|
+
{
|
126
|
+
long i;
|
127
|
+
static const char err[] = "backtrace must be Array of String";
|
128
|
+
|
129
|
+
if (!NIL_P(bt)) {
|
130
|
+
if (RB_TYPE_P(bt, T_STRING)) return rb_ary_new3(1, bt);
|
131
|
+
if (rb_backtrace_p(bt)) return bt;
|
132
|
+
if (!RB_TYPE_P(bt, T_ARRAY)) {
|
133
|
+
rb_raise(rb_eTypeError, err);
|
134
|
+
}
|
135
|
+
for (i=0;i<RARRAY_LEN(bt);i++) {
|
136
|
+
VALUE e = RARRAY_AREF(bt, i);
|
137
|
+
if (!RB_TYPE_P(e, T_STRING)) {
|
138
|
+
rb_raise(rb_eTypeError, err);
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
142
|
+
return bt;
|
143
|
+
}
|
144
|
+
|
145
|
+
#endif
|
146
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
addr2line.h -
|
4
|
+
|
5
|
+
$Author$
|
6
|
+
|
7
|
+
Copyright (C) 2010 Shinichiro Hamaji
|
8
|
+
|
9
|
+
**********************************************************************/
|
10
|
+
|
11
|
+
#ifndef RUBY_ADDR2LINE_H
|
12
|
+
#define RUBY_ADDR2LINE_H
|
13
|
+
|
14
|
+
#ifdef USE_ELF
|
15
|
+
|
16
|
+
void
|
17
|
+
rb_dump_backtrace_with_lines(int num_traces, void **traces, char **syms);
|
18
|
+
|
19
|
+
#endif /* USE_ELF */
|
20
|
+
|
21
|
+
#endif /* RUBY_ADDR2LINE_H */
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
constant.h -
|
4
|
+
|
5
|
+
$Author$
|
6
|
+
created at: Sun Nov 15 00:09:33 2009
|
7
|
+
|
8
|
+
Copyright (C) 2009 Yusuke Endoh
|
9
|
+
|
10
|
+
**********************************************************************/
|
11
|
+
#ifndef CONSTANT_H
|
12
|
+
#define CONSTANT_H
|
13
|
+
|
14
|
+
typedef enum {
|
15
|
+
CONST_PUBLIC = 0x00,
|
16
|
+
CONST_PRIVATE = 0x01
|
17
|
+
} rb_const_flag_t;
|
18
|
+
|
19
|
+
typedef struct rb_const_entry_struct {
|
20
|
+
rb_const_flag_t flag;
|
21
|
+
const VALUE value; /* should be mark */
|
22
|
+
const VALUE file; /* should be mark */
|
23
|
+
int line;
|
24
|
+
} rb_const_entry_t;
|
25
|
+
|
26
|
+
VALUE rb_mod_private_constant(int argc, VALUE *argv, VALUE obj);
|
27
|
+
VALUE rb_mod_public_constant(int argc, VALUE *argv, VALUE obj);
|
28
|
+
void rb_free_const_table(st_table *tbl);
|
29
|
+
VALUE rb_public_const_get(VALUE klass, ID id);
|
30
|
+
VALUE rb_public_const_get_at(VALUE klass, ID id);
|
31
|
+
VALUE rb_public_const_get_from(VALUE klass, ID id);
|
32
|
+
int rb_public_const_defined(VALUE klass, ID id);
|
33
|
+
int rb_public_const_defined_at(VALUE klass, ID id);
|
34
|
+
int rb_public_const_defined_from(VALUE klass, ID id);
|
35
|
+
|
36
|
+
#endif /* CONSTANT_H */
|
@@ -0,0 +1,51 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
dln.h -
|
4
|
+
|
5
|
+
$Author$
|
6
|
+
created at: Wed Jan 19 16:53:09 JST 1994
|
7
|
+
|
8
|
+
Copyright (C) 1993-2007 Yukihiro Matsumoto
|
9
|
+
|
10
|
+
**********************************************************************/
|
11
|
+
|
12
|
+
#ifndef DLN_H
|
13
|
+
#define DLN_H
|
14
|
+
|
15
|
+
#ifdef __cplusplus
|
16
|
+
# ifndef HAVE_PROTOTYPES
|
17
|
+
# define HAVE_PROTOTYPES 1
|
18
|
+
# endif
|
19
|
+
# ifndef HAVE_STDARG_PROTOTYPES
|
20
|
+
# define HAVE_STDARG_PROTOTYPES 1
|
21
|
+
# endif
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#undef _
|
25
|
+
#ifdef HAVE_PROTOTYPES
|
26
|
+
# define _(args) args
|
27
|
+
#else
|
28
|
+
# define _(args) ()
|
29
|
+
#endif
|
30
|
+
|
31
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
32
|
+
|
33
|
+
#ifndef DLN_FIND_EXTRA_ARG
|
34
|
+
#define DLN_FIND_EXTRA_ARG
|
35
|
+
#endif
|
36
|
+
#ifndef DLN_FIND_EXTRA_ARG_DECL
|
37
|
+
#define DLN_FIND_EXTRA_ARG_DECL
|
38
|
+
#endif
|
39
|
+
|
40
|
+
char *dln_find_exe_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
|
41
|
+
char *dln_find_file_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
|
42
|
+
|
43
|
+
#ifdef USE_DLN_A_OUT
|
44
|
+
extern char *dln_argv0;
|
45
|
+
#endif
|
46
|
+
|
47
|
+
void *dln_load(const char*);
|
48
|
+
|
49
|
+
RUBY_SYMBOL_EXPORT_END
|
50
|
+
|
51
|
+
#endif
|
@@ -0,0 +1,270 @@
|
|
1
|
+
ENC_DEFINE("ASCII-8BIT");
|
2
|
+
#define ENCIDX_ASCII_8BIT 0
|
3
|
+
ENC_DEFINE("UTF-8");
|
4
|
+
#define ENCIDX_UTF_8 1
|
5
|
+
ENC_DEFINE("US-ASCII");
|
6
|
+
#define ENCIDX_US_ASCII 2
|
7
|
+
ENC_DEFINE("Big5");
|
8
|
+
#define ENCIDX_Big5 3
|
9
|
+
ENC_DEFINE("Big5-HKSCS");
|
10
|
+
#define ENCIDX_Big5_HKSCS 4
|
11
|
+
ENC_DEFINE("Big5-UAO");
|
12
|
+
#define ENCIDX_Big5_UAO 5
|
13
|
+
ENC_DEFINE("CP949");
|
14
|
+
#define ENCIDX_CP949 6
|
15
|
+
ENC_DEFINE("Emacs-Mule");
|
16
|
+
#define ENCIDX_Emacs_Mule 7
|
17
|
+
ENC_DEFINE("EUC-JP");
|
18
|
+
#define ENCIDX_EUC_JP 8
|
19
|
+
ENC_DEFINE("EUC-KR");
|
20
|
+
#define ENCIDX_EUC_KR 9
|
21
|
+
ENC_DEFINE("EUC-TW");
|
22
|
+
#define ENCIDX_EUC_TW 10
|
23
|
+
ENC_DEFINE("GB2312");
|
24
|
+
#define ENCIDX_GB2312 11
|
25
|
+
ENC_DEFINE("GB18030");
|
26
|
+
#define ENCIDX_GB18030 12
|
27
|
+
ENC_DEFINE("GBK");
|
28
|
+
#define ENCIDX_GBK 13
|
29
|
+
ENC_DEFINE("ISO-8859-1");
|
30
|
+
#define ENCIDX_ISO_8859_1 14
|
31
|
+
ENC_DEFINE("ISO-8859-2");
|
32
|
+
#define ENCIDX_ISO_8859_2 15
|
33
|
+
ENC_DEFINE("ISO-8859-3");
|
34
|
+
#define ENCIDX_ISO_8859_3 16
|
35
|
+
ENC_DEFINE("ISO-8859-4");
|
36
|
+
#define ENCIDX_ISO_8859_4 17
|
37
|
+
ENC_DEFINE("ISO-8859-5");
|
38
|
+
#define ENCIDX_ISO_8859_5 18
|
39
|
+
ENC_DEFINE("ISO-8859-6");
|
40
|
+
#define ENCIDX_ISO_8859_6 19
|
41
|
+
ENC_DEFINE("ISO-8859-7");
|
42
|
+
#define ENCIDX_ISO_8859_7 20
|
43
|
+
ENC_DEFINE("ISO-8859-8");
|
44
|
+
#define ENCIDX_ISO_8859_8 21
|
45
|
+
ENC_DEFINE("ISO-8859-9");
|
46
|
+
#define ENCIDX_ISO_8859_9 22
|
47
|
+
ENC_DEFINE("ISO-8859-10");
|
48
|
+
#define ENCIDX_ISO_8859_10 23
|
49
|
+
ENC_DEFINE("ISO-8859-11");
|
50
|
+
#define ENCIDX_ISO_8859_11 24
|
51
|
+
ENC_DEFINE("ISO-8859-13");
|
52
|
+
#define ENCIDX_ISO_8859_13 25
|
53
|
+
ENC_DEFINE("ISO-8859-14");
|
54
|
+
#define ENCIDX_ISO_8859_14 26
|
55
|
+
ENC_DEFINE("ISO-8859-15");
|
56
|
+
#define ENCIDX_ISO_8859_15 27
|
57
|
+
ENC_DEFINE("ISO-8859-16");
|
58
|
+
#define ENCIDX_ISO_8859_16 28
|
59
|
+
ENC_DEFINE("KOI8-R");
|
60
|
+
#define ENCIDX_KOI8_R 29
|
61
|
+
ENC_DEFINE("KOI8-U");
|
62
|
+
#define ENCIDX_KOI8_U 30
|
63
|
+
ENC_DEFINE("Shift_JIS");
|
64
|
+
#define ENCIDX_Shift_JIS 31
|
65
|
+
ENC_DEFINE("UTF-16BE");
|
66
|
+
#define ENCIDX_UTF_16BE 32
|
67
|
+
ENC_DEFINE("UTF-16LE");
|
68
|
+
#define ENCIDX_UTF_16LE 33
|
69
|
+
ENC_DEFINE("UTF-32BE");
|
70
|
+
#define ENCIDX_UTF_32BE 34
|
71
|
+
ENC_DEFINE("UTF-32LE");
|
72
|
+
#define ENCIDX_UTF_32LE 35
|
73
|
+
ENC_DEFINE("Windows-31J");
|
74
|
+
#define ENCIDX_Windows_31J 36
|
75
|
+
ENC_DEFINE("Windows-1251");
|
76
|
+
#define ENCIDX_Windows_1251 37
|
77
|
+
ENC_ALIAS("BINARY", "ASCII-8BIT");
|
78
|
+
ENC_REPLICATE("IBM437", "ASCII-8BIT");
|
79
|
+
#define ENCIDX_IBM437 38
|
80
|
+
ENC_ALIAS("CP437", "IBM437");
|
81
|
+
ENC_REPLICATE("IBM737", "ASCII-8BIT");
|
82
|
+
#define ENCIDX_IBM737 39
|
83
|
+
ENC_ALIAS("CP737", "IBM737");
|
84
|
+
ENC_REPLICATE("IBM775", "ASCII-8BIT");
|
85
|
+
#define ENCIDX_IBM775 40
|
86
|
+
ENC_ALIAS("CP775", "IBM775");
|
87
|
+
ENC_REPLICATE("CP850", "ASCII-8BIT");
|
88
|
+
#define ENCIDX_CP850 41
|
89
|
+
ENC_ALIAS("IBM850", "CP850");
|
90
|
+
ENC_REPLICATE("IBM852", "ASCII-8BIT");
|
91
|
+
#define ENCIDX_IBM852 42
|
92
|
+
ENC_REPLICATE("CP852", "IBM852");
|
93
|
+
#define ENCIDX_CP852 43
|
94
|
+
ENC_REPLICATE("IBM855", "ASCII-8BIT");
|
95
|
+
#define ENCIDX_IBM855 44
|
96
|
+
ENC_REPLICATE("CP855", "IBM855");
|
97
|
+
#define ENCIDX_CP855 45
|
98
|
+
ENC_REPLICATE("IBM857", "ASCII-8BIT");
|
99
|
+
#define ENCIDX_IBM857 46
|
100
|
+
ENC_ALIAS("CP857", "IBM857");
|
101
|
+
ENC_REPLICATE("IBM860", "ASCII-8BIT");
|
102
|
+
#define ENCIDX_IBM860 47
|
103
|
+
ENC_ALIAS("CP860", "IBM860");
|
104
|
+
ENC_REPLICATE("IBM861", "ASCII-8BIT");
|
105
|
+
#define ENCIDX_IBM861 48
|
106
|
+
ENC_ALIAS("CP861", "IBM861");
|
107
|
+
ENC_REPLICATE("IBM862", "ASCII-8BIT");
|
108
|
+
#define ENCIDX_IBM862 49
|
109
|
+
ENC_ALIAS("CP862", "IBM862");
|
110
|
+
ENC_REPLICATE("IBM863", "ASCII-8BIT");
|
111
|
+
#define ENCIDX_IBM863 50
|
112
|
+
ENC_ALIAS("CP863", "IBM863");
|
113
|
+
ENC_REPLICATE("IBM864", "ASCII-8BIT");
|
114
|
+
#define ENCIDX_IBM864 51
|
115
|
+
ENC_ALIAS("CP864", "IBM864");
|
116
|
+
ENC_REPLICATE("IBM865", "ASCII-8BIT");
|
117
|
+
#define ENCIDX_IBM865 52
|
118
|
+
ENC_ALIAS("CP865", "IBM865");
|
119
|
+
ENC_REPLICATE("IBM866", "ASCII-8BIT");
|
120
|
+
#define ENCIDX_IBM866 53
|
121
|
+
ENC_ALIAS("CP866", "IBM866");
|
122
|
+
ENC_REPLICATE("IBM869", "ASCII-8BIT");
|
123
|
+
#define ENCIDX_IBM869 54
|
124
|
+
ENC_ALIAS("CP869", "IBM869");
|
125
|
+
ENC_REPLICATE("Windows-1258", "ASCII-8BIT");
|
126
|
+
#define ENCIDX_Windows_1258 55
|
127
|
+
ENC_ALIAS("CP1258", "Windows-1258");
|
128
|
+
ENC_REPLICATE("GB1988", "ASCII-8BIT");
|
129
|
+
#define ENCIDX_GB1988 56
|
130
|
+
ENC_REPLICATE("macCentEuro", "ASCII-8BIT");
|
131
|
+
#define ENCIDX_macCentEuro 57
|
132
|
+
ENC_REPLICATE("macCroatian", "ASCII-8BIT");
|
133
|
+
#define ENCIDX_macCroatian 58
|
134
|
+
ENC_REPLICATE("macCyrillic", "ASCII-8BIT");
|
135
|
+
#define ENCIDX_macCyrillic 59
|
136
|
+
ENC_REPLICATE("macGreek", "ASCII-8BIT");
|
137
|
+
#define ENCIDX_macGreek 60
|
138
|
+
ENC_REPLICATE("macIceland", "ASCII-8BIT");
|
139
|
+
#define ENCIDX_macIceland 61
|
140
|
+
ENC_REPLICATE("macRoman", "ASCII-8BIT");
|
141
|
+
#define ENCIDX_macRoman 62
|
142
|
+
ENC_REPLICATE("macRomania", "ASCII-8BIT");
|
143
|
+
#define ENCIDX_macRomania 63
|
144
|
+
ENC_REPLICATE("macThai", "ASCII-8BIT");
|
145
|
+
#define ENCIDX_macThai 64
|
146
|
+
ENC_REPLICATE("macTurkish", "ASCII-8BIT");
|
147
|
+
#define ENCIDX_macTurkish 65
|
148
|
+
ENC_REPLICATE("macUkraine", "ASCII-8BIT");
|
149
|
+
#define ENCIDX_macUkraine 66
|
150
|
+
ENC_REPLICATE("CP950", "Big5");
|
151
|
+
#define ENCIDX_CP950 67
|
152
|
+
ENC_SET_BASE("Big5-HKSCS", "Big5");
|
153
|
+
ENC_ALIAS("Big5-HKSCS:2008", "Big5-HKSCS");
|
154
|
+
ENC_REPLICATE("CP951", "Big5-HKSCS");
|
155
|
+
#define ENCIDX_CP951 68
|
156
|
+
ENC_SET_BASE("Big5-UAO", "Big5");
|
157
|
+
ENC_REPLICATE("stateless-ISO-2022-JP", "Emacs-Mule");
|
158
|
+
#define ENCIDX_stateless_ISO_2022_JP 69
|
159
|
+
ENC_ALIAS("eucJP", "EUC-JP") /* UI-OSF Application Platform Profile for Japanese Environment Version 1.1 */;
|
160
|
+
ENC_REPLICATE("eucJP-ms", "EUC-JP") /* TOG/JVC CDE/Motif Technical WG */;
|
161
|
+
#define ENCIDX_eucJP_ms 70
|
162
|
+
ENC_ALIAS("euc-jp-ms", "eucJP-ms");
|
163
|
+
ENC_REPLICATE("CP51932", "EUC-JP");
|
164
|
+
#define ENCIDX_CP51932 71
|
165
|
+
ENC_REPLICATE("EUC-JIS-2004", "EUC-JP") /* defined at JIS X 0213:2004 */;
|
166
|
+
#define ENCIDX_EUC_JIS_2004 72
|
167
|
+
ENC_ALIAS("EUC-JISX0213", "EUC-JIS-2004") /* defined at JIS X 0213:2000, and obsolete at JIS X 0213:2004 */;
|
168
|
+
ENC_ALIAS("eucKR", "EUC-KR");
|
169
|
+
ENC_ALIAS("eucTW", "EUC-TW");
|
170
|
+
ENC_ALIAS("EUC-CN", "GB2312");
|
171
|
+
ENC_ALIAS("eucCN", "GB2312");
|
172
|
+
ENC_REPLICATE("GB12345", "GB2312");
|
173
|
+
#define ENCIDX_GB12345 73
|
174
|
+
ENC_ALIAS("CP936", "GBK");
|
175
|
+
ENC_DUMMY("ISO-2022-JP");
|
176
|
+
#define ENCIDX_ISO_2022_JP 74
|
177
|
+
ENC_ALIAS("ISO2022-JP", "ISO-2022-JP");
|
178
|
+
ENC_REPLICATE("ISO-2022-JP-2", "ISO-2022-JP");
|
179
|
+
#define ENCIDX_ISO_2022_JP_2 75
|
180
|
+
ENC_ALIAS("ISO2022-JP2", "ISO-2022-JP-2");
|
181
|
+
ENC_REPLICATE("CP50220", "ISO-2022-JP");
|
182
|
+
#define ENCIDX_CP50220 76
|
183
|
+
ENC_REPLICATE("CP50221", "ISO-2022-JP");
|
184
|
+
#define ENCIDX_CP50221 77
|
185
|
+
ENC_ALIAS("ISO8859-1", "ISO-8859-1");
|
186
|
+
ENC_REPLICATE("Windows-1252", "ISO-8859-1");
|
187
|
+
#define ENCIDX_Windows_1252 78
|
188
|
+
ENC_ALIAS("CP1252", "Windows-1252");
|
189
|
+
ENC_ALIAS("ISO8859-2", "ISO-8859-2");
|
190
|
+
ENC_REPLICATE("Windows-1250", "ISO-8859-2");
|
191
|
+
#define ENCIDX_Windows_1250 79
|
192
|
+
ENC_ALIAS("CP1250", "Windows-1250");
|
193
|
+
ENC_ALIAS("ISO8859-3", "ISO-8859-3");
|
194
|
+
ENC_ALIAS("ISO8859-4", "ISO-8859-4");
|
195
|
+
ENC_ALIAS("ISO8859-5", "ISO-8859-5");
|
196
|
+
ENC_ALIAS("ISO8859-6", "ISO-8859-6");
|
197
|
+
ENC_REPLICATE("Windows-1256", "ISO-8859-6");
|
198
|
+
#define ENCIDX_Windows_1256 80
|
199
|
+
ENC_ALIAS("CP1256", "Windows-1256");
|
200
|
+
ENC_ALIAS("ISO8859-7", "ISO-8859-7");
|
201
|
+
ENC_REPLICATE("Windows-1253", "ISO-8859-7");
|
202
|
+
#define ENCIDX_Windows_1253 81
|
203
|
+
ENC_ALIAS("CP1253", "Windows-1253");
|
204
|
+
ENC_ALIAS("ISO8859-8", "ISO-8859-8");
|
205
|
+
ENC_REPLICATE("Windows-1255", "ISO-8859-8");
|
206
|
+
#define ENCIDX_Windows_1255 82
|
207
|
+
ENC_ALIAS("CP1255", "Windows-1255");
|
208
|
+
ENC_ALIAS("ISO8859-9", "ISO-8859-9");
|
209
|
+
ENC_REPLICATE("Windows-1254", "ISO-8859-9");
|
210
|
+
#define ENCIDX_Windows_1254 83
|
211
|
+
ENC_ALIAS("CP1254", "Windows-1254");
|
212
|
+
ENC_ALIAS("ISO8859-10", "ISO-8859-10");
|
213
|
+
ENC_ALIAS("ISO8859-11", "ISO-8859-11");
|
214
|
+
ENC_REPLICATE("TIS-620", "ISO-8859-11");
|
215
|
+
#define ENCIDX_TIS_620 84
|
216
|
+
ENC_REPLICATE("Windows-874", "ISO-8859-11");
|
217
|
+
#define ENCIDX_Windows_874 85
|
218
|
+
ENC_ALIAS("CP874", "Windows-874");
|
219
|
+
ENC_ALIAS("ISO8859-13", "ISO-8859-13");
|
220
|
+
ENC_REPLICATE("Windows-1257", "ISO-8859-13");
|
221
|
+
#define ENCIDX_Windows_1257 86
|
222
|
+
ENC_ALIAS("CP1257", "Windows-1257");
|
223
|
+
ENC_ALIAS("ISO8859-14", "ISO-8859-14");
|
224
|
+
ENC_ALIAS("ISO8859-15", "ISO-8859-15");
|
225
|
+
ENC_ALIAS("ISO8859-16", "ISO-8859-16");
|
226
|
+
ENC_ALIAS("CP878", "KOI8-R");
|
227
|
+
ENC_REPLICATE("MacJapanese", "Shift_JIS");
|
228
|
+
#define ENCIDX_MacJapanese 87
|
229
|
+
ENC_ALIAS("MacJapan", "MacJapanese");
|
230
|
+
ENC_ALIAS("ASCII", "US-ASCII");
|
231
|
+
ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII");
|
232
|
+
ENC_ALIAS("646", "US-ASCII");
|
233
|
+
ENC_DUMMY("UTF-7");
|
234
|
+
#define ENCIDX_UTF_7 88
|
235
|
+
ENC_ALIAS("CP65000", "UTF-7");
|
236
|
+
ENC_ALIAS("CP65001", "UTF-8");
|
237
|
+
ENC_REPLICATE("UTF8-MAC", "UTF-8");
|
238
|
+
#define ENCIDX_UTF8_MAC 89
|
239
|
+
ENC_ALIAS("UTF-8-MAC", "UTF8-MAC");
|
240
|
+
ENC_ALIAS("UTF-8-HFS", "UTF8-MAC") /* Emacs 23.2 */;
|
241
|
+
ENC_DUMMY_UNICODE("UTF-16");
|
242
|
+
#define ENCIDX_UTF_16 90
|
243
|
+
ENC_DUMMY_UNICODE("UTF-32");
|
244
|
+
#define ENCIDX_UTF_32 91
|
245
|
+
ENC_ALIAS("UCS-2BE", "UTF-16BE");
|
246
|
+
ENC_ALIAS("UCS-4BE", "UTF-32BE");
|
247
|
+
ENC_ALIAS("UCS-4LE", "UTF-32LE");
|
248
|
+
ENC_ALIAS("CP932", "Windows-31J");
|
249
|
+
ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */;
|
250
|
+
ENC_ALIAS("SJIS", "Windows-31J");
|
251
|
+
ENC_ALIAS("PCK", "Windows-31J");
|
252
|
+
ENC_ALIAS("CP1251", "Windows-1251");
|
253
|
+
ENC_REPLICATE("UTF8-DoCoMo", "UTF-8");
|
254
|
+
#define ENCIDX_UTF8_DoCoMo 92
|
255
|
+
ENC_REPLICATE("SJIS-DoCoMo", "Windows-31J");
|
256
|
+
#define ENCIDX_SJIS_DoCoMo 93
|
257
|
+
ENC_REPLICATE("UTF8-KDDI", "UTF-8");
|
258
|
+
#define ENCIDX_UTF8_KDDI 94
|
259
|
+
ENC_REPLICATE("SJIS-KDDI", "Windows-31J");
|
260
|
+
#define ENCIDX_SJIS_KDDI 95
|
261
|
+
ENC_REPLICATE("ISO-2022-JP-KDDI", "ISO-2022-JP");
|
262
|
+
#define ENCIDX_ISO_2022_JP_KDDI 96
|
263
|
+
ENC_REPLICATE("stateless-ISO-2022-JP-KDDI", "stateless-ISO-2022-JP");
|
264
|
+
#define ENCIDX_stateless_ISO_2022_JP_KDDI 97
|
265
|
+
ENC_REPLICATE("UTF8-SoftBank", "UTF-8");
|
266
|
+
#define ENCIDX_UTF8_SoftBank 98
|
267
|
+
ENC_REPLICATE("SJIS-SoftBank", "Windows-31J");
|
268
|
+
#define ENCIDX_SJIS_SoftBank 99
|
269
|
+
|
270
|
+
#define ENCODING_COUNT 100
|