diff options
| author | Paolo Bosetti <[email protected]> | 2012-05-31 18:52:33 -0700 |
|---|---|---|
| committer | Paolo Bosetti <[email protected]> | 2012-05-31 18:52:33 -0700 |
| commit | 9c0bfd343679fcd84090b7611ed582ae31e0e3b9 (patch) | |
| tree | 75e6ac394862821a0e466ccfee361655c40ae749 /include/mruby.h | |
| parent | 6dbba7b799e0cf1a86ec86f347bbc1b40420d372 (diff) | |
| parent | 8180fee1808c56048b9fa18a8dd16014e694e48e (diff) | |
| download | mruby-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.h | 95 |
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*); |
