diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/ext/dl/dl.c | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/ext/dl/dl.c')
-rw-r--r-- | trunk/ext/dl/dl.c | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/trunk/ext/dl/dl.c b/trunk/ext/dl/dl.c deleted file mode 100644 index 0427dfb3f3..0000000000 --- a/trunk/ext/dl/dl.c +++ /dev/null @@ -1,137 +0,0 @@ -#include <ruby/ruby.h> -#include <ruby/io.h> -#include <ctype.h> -#include "dl.h" - -VALUE rb_mDL; -VALUE rb_eDLError; -VALUE rb_eDLTypeError; - -ID rbdl_id_cdecl; -ID rbdl_id_stdcall; - -VALUE -rb_dl_dlopen(int argc, VALUE argv[], VALUE self) -{ - rb_secure(2); - return rb_class_new_instance(argc, argv, rb_cDLHandle); -} - -VALUE -rb_dl_malloc(VALUE self, VALUE size) -{ - void *ptr; - - rb_secure(4); - ptr = (void*)ruby_xmalloc(NUM2INT(size)); - return PTR2NUM(ptr); -} - -VALUE -rb_dl_realloc(VALUE self, VALUE addr, VALUE size) -{ - void *ptr = NUM2PTR(addr); - - rb_secure(4); - ptr = (void*)ruby_xrealloc(ptr, NUM2INT(size)); - return PTR2NUM(ptr); -} - -VALUE -rb_dl_free(VALUE self, VALUE addr) -{ - void *ptr = NUM2PTR(addr); - - rb_secure(4); - ruby_xfree(ptr); - return Qnil; -} - -VALUE -rb_dl_ptr2value(VALUE self, VALUE addr) -{ - rb_secure(4); - return (VALUE)NUM2PTR(addr); -} - -VALUE -rb_dl_value2ptr(VALUE self, VALUE val) -{ - return PTR2NUM((void*)val); -} - -#include "callback.h" - -void -Init_dl() -{ - void Init_dlhandle(); - void Init_dlcfunc(); - void Init_dlptr(); - - rbdl_id_cdecl = rb_intern("cdecl"); - rbdl_id_stdcall = rb_intern("stdcall"); - - rb_mDL = rb_define_module("DL"); - rb_eDLError = rb_define_class_under(rb_mDL, "DLError", rb_eStandardError); - rb_eDLTypeError = rb_define_class_under(rb_mDL, "DLTypeError", rb_eDLError); - - rb_define_const(rb_mDL, "MAX_CALLBACK", INT2NUM(MAX_CALLBACK)); - rb_define_const(rb_mDL, "DLSTACK_SIZE", INT2NUM(DLSTACK_SIZE)); - - rb_dl_init_callbacks(); - - rb_define_const(rb_mDL, "RTLD_GLOBAL", INT2NUM(RTLD_GLOBAL)); - rb_define_const(rb_mDL, "RTLD_LAZY", INT2NUM(RTLD_LAZY)); - rb_define_const(rb_mDL, "RTLD_NOW", INT2NUM(RTLD_NOW)); - - rb_define_const(rb_mDL, "TYPE_VOID", INT2NUM(DLTYPE_VOID)); - rb_define_const(rb_mDL, "TYPE_VOIDP", INT2NUM(DLTYPE_VOIDP)); - rb_define_const(rb_mDL, "TYPE_CHAR", INT2NUM(DLTYPE_CHAR)); - rb_define_const(rb_mDL, "TYPE_SHORT", INT2NUM(DLTYPE_SHORT)); - rb_define_const(rb_mDL, "TYPE_INT", INT2NUM(DLTYPE_INT)); - rb_define_const(rb_mDL, "TYPE_LONG", INT2NUM(DLTYPE_LONG)); -#if HAVE_LONG_LONG - rb_define_const(rb_mDL, "TYPE_LONG_LONG", INT2NUM(DLTYPE_LONG_LONG)); -#endif - rb_define_const(rb_mDL, "TYPE_FLOAT", INT2NUM(DLTYPE_FLOAT)); - rb_define_const(rb_mDL, "TYPE_DOUBLE", INT2NUM(DLTYPE_DOUBLE)); - - rb_define_const(rb_mDL, "ALIGN_VOIDP", INT2NUM(ALIGN_VOIDP)); - rb_define_const(rb_mDL, "ALIGN_CHAR", INT2NUM(ALIGN_CHAR)); - rb_define_const(rb_mDL, "ALIGN_SHORT", INT2NUM(ALIGN_SHORT)); - rb_define_const(rb_mDL, "ALIGN_INT", INT2NUM(ALIGN_INT)); - rb_define_const(rb_mDL, "ALIGN_LONG", INT2NUM(ALIGN_LONG)); -#if HAVE_LONG_LONG - rb_define_const(rb_mDL, "ALIGN_LONG_LONG", INT2NUM(ALIGN_LONG_LONG)); -#endif - rb_define_const(rb_mDL, "ALIGN_FLOAT", INT2NUM(ALIGN_FLOAT)); - rb_define_const(rb_mDL, "ALIGN_DOUBLE",INT2NUM(ALIGN_DOUBLE)); - - rb_define_const(rb_mDL, "SIZEOF_VOIDP", INT2NUM(sizeof(void*))); - rb_define_const(rb_mDL, "SIZEOF_CHAR", INT2NUM(sizeof(char))); - rb_define_const(rb_mDL, "SIZEOF_SHORT", INT2NUM(sizeof(short))); - rb_define_const(rb_mDL, "SIZEOF_INT", INT2NUM(sizeof(int))); - rb_define_const(rb_mDL, "SIZEOF_LONG", INT2NUM(sizeof(long))); -#if HAVE_LONG_LONG - rb_define_const(rb_mDL, "SIZEOF_LONG_LONG", INT2NUM(sizeof(LONG_LONG))); -#endif - rb_define_const(rb_mDL, "SIZEOF_FLOAT", INT2NUM(sizeof(float))); - rb_define_const(rb_mDL, "SIZEOF_DOUBLE",INT2NUM(sizeof(double))); - - rb_define_module_function(rb_mDL, "dlwrap", rb_dl_value2ptr, 1); - rb_define_module_function(rb_mDL, "dlunwrap", rb_dl_ptr2value, 1); - - rb_define_module_function(rb_mDL, "dlopen", rb_dl_dlopen, -1); - rb_define_module_function(rb_mDL, "malloc", rb_dl_malloc, 1); - rb_define_module_function(rb_mDL, "realloc", rb_dl_realloc, 2); - rb_define_module_function(rb_mDL, "free", rb_dl_free, 1); - - rb_define_const(rb_mDL, "RUBY_FREE", PTR2NUM(ruby_xfree)); - rb_define_const(rb_mDL, "BUILD_RUBY_PLATFORM", rb_str_new2(RUBY_PLATFORM)); - rb_define_const(rb_mDL, "BUILD_RUBY_VERSION", rb_str_new2(RUBY_VERSION)); - - Init_dlhandle(); - Init_dlcfunc(); - Init_dlptr(); -} |