summaryrefslogtreecommitdiffhomepage
path: root/include/mruby.h
diff options
context:
space:
mode:
authorPaolo Bosetti <[email protected]>2012-05-31 18:52:33 -0700
committerPaolo Bosetti <[email protected]>2012-05-31 18:52:33 -0700
commit9c0bfd343679fcd84090b7611ed582ae31e0e3b9 (patch)
tree75e6ac394862821a0e466ccfee361655c40ae749 /include/mruby.h
parent6dbba7b799e0cf1a86ec86f347bbc1b40420d372 (diff)
parent8180fee1808c56048b9fa18a8dd16014e694e48e (diff)
downloadmruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.tar.gz
mruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.zip
Merge branch 'master' of git://github.com/mruby/mruby into XCode
Diffstat (limited to 'include/mruby.h')
-rw-r--r--include/mruby.h95
1 files changed, 7 insertions, 88 deletions
diff --git a/include/mruby.h b/include/mruby.h
index c86c3b478..3bbc6e6cc 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -341,8 +341,9 @@ void *mrb_realloc(mrb_state*, void*, size_t);
struct RBasic *mrb_obj_alloc(mrb_state*, enum mrb_vtype, struct RClass*);
void *mrb_free(mrb_state*, void*);
-mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len); /* mrb_str_new */
+mrb_value mrb_str_new(mrb_state *mrb, const char *p, int len); /* mrb_str_new */
mrb_value mrb_str_new_cstr(mrb_state*, const char*);
+mrb_value mrb_str_new2(mrb_state *mrb, const char *p);
mrb_state* mrb_open(void);
mrb_state* mrb_open_allocf(mrb_allocf);
@@ -415,9 +416,6 @@ mrb_value mrb_check_funcall(mrb_state *mrb, mrb_value recv, mrb_sym mid, int arg
#define ISXDIGIT(c) (ISASCII(c) && isxdigit((int)(unsigned char)(c)))
#endif
-extern mrb_value mrb_rs;
-extern mrb_value mrb_default_rs;
-
int mrb_block_given_p(void);
void mrb_raise(mrb_state *mrb, struct RClass *c, const char *fmt, ...);
void rb_raise(struct RClass *c, const char *fmt, ...);
@@ -447,16 +445,6 @@ void mrb_bug(const char *fmt, ...);
#define SYM2ID(x) ((x).value.sym)
-#define CONST_ID_CACHE(mrb, result, str) \
- { \
- static mrb_sym mrb_intern_id_cache;\
- if (!mrb_intern_id_cache) \
- mrb_intern_id_cache = mrb_intern(mrb, str); \
- result mrb_intern_id_cache; \
- }
-#define CONST_ID(mrb, var, str) \
- do CONST_ID_CACHE(mrb, var =, str) while (0)
-
#define NUM2CHR_internal(x) (((mrb_type(x) == MRB_TT_STRING)&&(RSTRING_LEN(x)>=1))?\
RSTRING_PTR(x)[0]:(char)(mrb_fixnum_number(x)&0xff))
#ifdef __GNUC__
@@ -471,24 +459,6 @@ NUM2CHR(mrb_value x)
*/
#define NUM2CHR(x) NUM2CHR_internal(x)
#endif
-mrb_value mrb_io_gets(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_getbyte(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_ungetc(mrb_state *, mrb_value, mrb_value);
-mrb_value mrb_io_ungetbyte(mrb_state *mrb, mrb_value, mrb_value);
-mrb_value mrb_io_close(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_flush(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_eof(mrb_value);
-mrb_value mrb_io_binmode(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_ascii8bit_binmode(mrb_value);
-mrb_value mrb_io_addstr(mrb_state *mrb, mrb_value, mrb_value);
-mrb_value mrb_io_printf(mrb_state *mrb, int, mrb_value*, mrb_value);
-mrb_value mrb_io_print(mrb_state *mrb, int, mrb_value*, mrb_value);
-mrb_value mrb_io_puts(mrb_state *mrb, /*int argc, mrb_value *argv,*/ mrb_value);
-mrb_value mrb_io_fdopen(int, int, const char*);
-mrb_value mrb_io_get_io(mrb_state *mrb, mrb_value);
-mrb_value mrb_file_open(mrb_state *mrb, const char*, const char*);
-mrb_value mrb_file_open_str(mrb_value, const char*);
-mrb_value mrb_gets(mrb_state *mrb);
mrb_value mrb_yield(mrb_state *mrb, mrb_value v, mrb_value blk);
mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv);
@@ -505,61 +475,11 @@ mrb_value mrb_exec_recursive(mrb_state *mrb, mrb_value(*)(mrb_state *, mrb_value
#define xfree free
#endif
-void mrb_gc(void);
-#define thread_debug if(0)printf
-
-#define RUBY_VM 1 /* YARV */
-#define HAVE_NATIVETHREAD
-int ruby_native_thread_p(void);
-
-#define RUBY_EVENT_NONE 0x0000
-#define RUBY_EVENT_LINE 0x0001
-#define RUBY_EVENT_CLASS 0x0002
-#define RUBY_EVENT_END 0x0004
-#define RUBY_EVENT_CALL 0x0008
-#define RUBY_EVENT_RETURN 0x0010
-#define RUBY_EVENT_C_CALL 0x0020
-#define RUBY_EVENT_C_RETURN 0x0040
-#define RUBY_EVENT_RAISE 0x0080
-#define RUBY_EVENT_ALL 0xffff
-#define RUBY_EVENT_VM 0x10000
-#define RUBY_EVENT_SWITCH 0x20000
-#define RUBY_EVENT_COVERAGE 0x40000
-
-typedef unsigned int mrb_event_flag_t;
-typedef void (*mrb_event_hook_func_t)(mrb_state *mrb, mrb_event_flag_t, mrb_value data, mrb_value, mrb_sym, mrb_value klass);
-
-typedef struct mrb_event_hook_struct {
- mrb_event_flag_t flag;
- mrb_event_hook_func_t func;
- mrb_value data;
- struct mrb_event_hook_struct *next;
-} mrb_event_hook_t;
-
-#define RB_EVENT_HOOKS_HAVE_CALLBACK_DATA 1
-void mrb_add_event_hook(mrb_state *mrb, mrb_event_hook_func_t func, mrb_event_flag_t events,
- mrb_value data);
-int mrb_remove_event_hook(mrb_event_hook_func_t func);
+void mrb_garbage_collect(mrb_state *mrb);
+void mrb_gc_protect(mrb_state *mrb, mrb_value obj);
mrb_value mrb_to_int(mrb_state *mrb, mrb_value val);
void mrb_check_type(mrb_state *mrb, mrb_value x, enum mrb_vtype t);
-//#define RUBY_SETJMP(env) ${setjmp_prefix}setjmp(env${setjmp_sigmask+,0})
-//#define RUBY_LONGJMP(env,val) ${setjmp_prefix}longjmp(env,val)
-//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf
-#define RUBY_SETJMP(env) __builtin_setjmp(env)
-#define RUBY_LONGJMP(env,val) __builtin_longjmp(env,1)//(env,val)
-//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf
-#define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t)
-
-//int RUBY_SETJMP(mrb_jmpbuf_t env); /* add kusuda */
-#define ruby_setjmp(env) RUBY_SETJMP(env)
-#define ruby_longjmp(env,val) RUBY_LONGJMP(env,val)
-
-#define KHASH 0
-#define STHASH 1
-#define BASICHASH 2
-#define HASH_CLASS_METHOD BASICHASH
-
typedef enum call_type {
CALL_PUBLIC,
CALL_FCALL,
@@ -571,8 +491,6 @@ typedef enum call_type {
void mrb_cmperr(mrb_state *mrb, mrb_value x, mrb_value y);
int mrb_cmpint(mrb_state *mrb, mrb_value val, mrb_value a, mrb_value b);
-#define REALLOC_N(mrb,var,type,n) (var)=(type*)mrb_realloc(mrb, (char*)(var), sizeof(type)*(n))
-
#ifndef ANYARGS
# ifdef __cplusplus
# define ANYARGS ...
@@ -585,10 +503,11 @@ const char *mrb_class_name(mrb_state *mrb, struct RClass* klass);
void mrb_define_global_const(mrb_state *mrb, const char *name, mrb_value val);
mrb_value mrb_block_proc(void);
-int mrb_sourceline(void);
-void ruby_default_signal(int sig);
mrb_value mrb_attr_get(mrb_state *mrb, mrb_value obj, mrb_sym id);
+int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid);
+int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c);
+
/* memory pool implementation */
typedef struct mrb_pool mrb_pool;
struct mrb_pool* mrb_pool_open(mrb_state*);