summaryrefslogtreecommitdiffstats
path: root/node.h
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-22 08:35:23 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-03-22 08:35:23 +0000
commit0e02ee2835b0849ed71de4c0264965cd933fdcb5 (patch)
tree1fb2f1f6e0990ed2d9c30cb11bc27db7d849cb32 /node.h
parent11a5c8be903568891001147313c67eb68e30ccc1 (diff)
downloadruby-0e02ee2835b0849ed71de4c0264965cd933fdcb5.tar.gz
ruby-0e02ee2835b0849ed71de4c0264965cd933fdcb5.tar.xz
ruby-0e02ee2835b0849ed71de4c0264965cd933fdcb5.zip
* eval.c (rb_add_event_hook): new function to add a hook function for
interpreter events. (backported form HEAD) git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'node.h')
-rw-r--r--node.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/node.h b/node.h
index 3f2416e4d..505977985 100644
--- a/node.h
+++ b/node.h
@@ -359,6 +359,23 @@ VALUE rb_gvar_get _((struct global_entry *));
VALUE rb_gvar_set _((struct global_entry *, VALUE));
VALUE rb_gvar_defined _((struct global_entry *));
+typedef unsigned int rb_event_t;
+
+#define RUBY_EVENT_NONE 0x00
+#define RUBY_EVENT_LINE 0x01
+#define RUBY_EVENT_CLASS 0x02
+#define RUBY_EVENT_END 0x04
+#define RUBY_EVENT_CALL 0x08
+#define RUBY_EVENT_RETURN 0x10
+#define RUBY_EVENT_C_CALL 0x20
+#define RUBY_EVENT_C_RETURN 0x40
+#define RUBY_EVENT_RAISE 0x80
+#define RUBY_EVENT_ALL 0xff
+
+typedef void (*rb_event_hook_func_t) _((rb_event_t,NODE*,VALUE,ID,VALUE));
+void rb_add_event_hook _((rb_event_hook_func_t,rb_event_t));
+int rb_remove_event_hook _((rb_event_hook_func_t));
+
#if defined(__cplusplus)
} /* extern "C" { */
#endif