#include <ruby.h>#include <fiddle.h>Go to the source code of this file.
Data Structures | |
| struct | dl_handle |
Defines | |
| #define | SafeStringValueCStr(v) (rb_check_safe_obj(rb_string_value(&v)), StringValueCStr(v)) |
| #define | CHECK_DLERROR |
Functions | |
| static void | fiddle_handle_free (void *ptr) |
| static size_t | fiddle_handle_memsize (const void *ptr) |
| static VALUE | rb_fiddle_handle_close (VALUE self) |
| static VALUE | rb_fiddle_handle_s_allocate (VALUE klass) |
| static VALUE | predefined_fiddle_handle (void *handle) |
| static VALUE | rb_fiddle_handle_initialize (int argc, VALUE argv[], VALUE self) |
| static VALUE | rb_fiddle_handle_enable_close (VALUE self) |
| static VALUE | rb_fiddle_handle_disable_close (VALUE self) |
| static VALUE | rb_fiddle_handle_close_enabled_p (VALUE self) |
| static VALUE | rb_fiddle_handle_to_i (VALUE self) |
| static VALUE | fiddle_handle_sym (void *handle, VALUE symbol) |
| static VALUE | rb_fiddle_handle_sym (VALUE self, VALUE sym) |
| static VALUE | rb_fiddle_handle_s_sym (VALUE self, VALUE sym) |
| void | Init_fiddle_handle (void) |
Variables | |
| VALUE | rb_cHandle |
| static const rb_data_type_t | fiddle_handle_data_type |
| #define CHECK_DLERROR |
| #define SafeStringValueCStr | ( | v | ) | (rb_check_safe_obj(rb_string_value(&v)), StringValueCStr(v)) |
Definition at line 4 of file handle.c.
Referenced by fiddle_handle_sym(), and rb_fiddle_handle_initialize().
| static void fiddle_handle_free | ( | void * | ptr | ) | [static] |
Definition at line 39 of file handle.c.
References dl_handle::enable_close, dl_handle::open, dl_handle::ptr, and xfree.
| static size_t fiddle_handle_memsize | ( | const void * | ptr | ) | [static] |
| static VALUE fiddle_handle_sym | ( | void * | handle, | |
| VALUE | symbol | |||
| ) | [static] |
Definition at line 306 of file handle.c.
References CHECK_DLERROR, err, func, name, PRIsVALUE, PTR2NUM, rb_eFiddleError, rb_raise(), rb_secure(), SafeStringValueCStr, strlen(), xfree, xmalloc, and xrealloc.
Referenced by rb_fiddle_handle_s_sym(), and rb_fiddle_handle_sym().
| void Init_fiddle_handle | ( | void | ) |
Definition at line 372 of file handle.c.
References INT2NUM, mFiddle, predefined_fiddle_handle(), rb_cHandle, rb_cObject, rb_define_alloc_func(), rb_define_class_under(), rb_define_const(), rb_define_method(), rb_define_singleton_method(), rb_fiddle_handle_close(), rb_fiddle_handle_close_enabled_p(), rb_fiddle_handle_disable_close(), rb_fiddle_handle_enable_close(), rb_fiddle_handle_initialize(), rb_fiddle_handle_s_allocate(), rb_fiddle_handle_s_sym(), rb_fiddle_handle_sym(), rb_fiddle_handle_to_i(), RTLD_DEFAULT, and RTLD_NEXT.
Referenced by Init_fiddle().
| static VALUE predefined_fiddle_handle | ( | void * | handle | ) | [static] |
Definition at line 106 of file handle.c.
References DATA_PTR, OBJ_FREEZE, dl_handle::open, dl_handle::ptr, rb_cHandle, and rb_fiddle_handle_s_allocate().
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_close | ( | VALUE | self | ) | [static] |
Definition at line 67 of file handle.c.
References fiddle_handle_data_type, INT2NUM, dl_handle::open, dl_handle::ptr, rb_eFiddleError, rb_raise(), TypedData_Get_Struct, and UNREACHABLE.
Referenced by Init_fiddle_handle(), and rb_fiddle_handle_initialize().
| static VALUE rb_fiddle_handle_close_enabled_p | ( | VALUE | self | ) | [static] |
Definition at line 236 of file handle.c.
References dl_handle::enable_close, fiddle_handle_data_type, Qfalse, Qtrue, and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_disable_close | ( | VALUE | self | ) | [static] |
Definition at line 219 of file handle.c.
References dl_handle::enable_close, fiddle_handle_data_type, Qnil, and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_enable_close | ( | VALUE | self | ) | [static] |
Definition at line 204 of file handle.c.
References dl_handle::enable_close, fiddle_handle_data_type, Qnil, and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_initialize | ( | int | argc, | |
| VALUE | argv[], | |||
| VALUE | self | |||
| ) | [static] |
Definition at line 125 of file handle.c.
References dl_handle::enable_close, err, fiddle_handle_data_type, NIL_P, NULL, NUM2INT, dl_handle::open, dl_handle::ptr, Qnil, rb_block_given_p(), rb_bug(), rb_eFiddleError, rb_ensure(), rb_fiddle_handle_close(), rb_raise(), rb_scan_args(), rb_secure(), rb_yield(), SafeStringValueCStr, STRCASECMP, and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_s_allocate | ( | VALUE | klass | ) | [static] |
Definition at line 92 of file handle.c.
References dl_handle::enable_close, fiddle_handle_data_type, dl_handle::open, dl_handle::ptr, rb_cHandle, and TypedData_Make_Struct.
Referenced by Init_fiddle_handle(), and predefined_fiddle_handle().
| static VALUE rb_fiddle_handle_s_sym | ( | VALUE | self, | |
| VALUE | sym | |||
| ) | [static] |
Definition at line 300 of file handle.c.
References fiddle_handle_sym(), and RTLD_NEXT.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_sym | ( | VALUE | self, | |
| VALUE | sym | |||
| ) | [static] |
Definition at line 270 of file handle.c.
References fiddle_handle_data_type, fiddle_handle_sym(), dl_handle::open, dl_handle::ptr, rb_eFiddleError, rb_raise(), and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
| static VALUE rb_fiddle_handle_to_i | ( | VALUE | self | ) | [static] |
Definition at line 252 of file handle.c.
References fiddle_handle_data_type, PTR2NUM, and TypedData_Get_Struct.
Referenced by Init_fiddle_handle().
const rb_data_type_t fiddle_handle_data_type [static] |
{
"fiddle/handle",
{0, fiddle_handle_free, fiddle_handle_memsize,},
}
Definition at line 54 of file handle.c.
Referenced by rb_fiddle_handle_close(), rb_fiddle_handle_close_enabled_p(), rb_fiddle_handle_disable_close(), rb_fiddle_handle_enable_close(), rb_fiddle_handle_initialize(), rb_fiddle_handle_s_allocate(), rb_fiddle_handle_sym(), and rb_fiddle_handle_to_i().
| VALUE rb_cHandle |
Definition at line 6 of file handle.c.
Referenced by Init_fiddle_handle(), predefined_fiddle_handle(), and rb_fiddle_handle_s_allocate().
1.6.1