Ruby
2.1.10p492(2016-04-01revision54464)
|
Go to the source code of this file.
Data Structures | |
struct | ptr_data |
Macros | |
#define | RPTR_DATA(obj) ((struct ptr_data *)(DATA_PTR(obj))) |
Typedefs | |
typedef void(* | freefunc_t) (void *) |
Variables | |
VALUE | rb_cPointer |
static ID | id_to_ptr |
static const rb_data_type_t | fiddle_ptr_data_type |
Definition at line 21 of file pointer.c.
Referenced by rb_fiddle_ptr_minus(), rb_fiddle_ptr_plus(), rb_fiddle_ptr_s_malloc(), rb_fiddle_ptr_s_to_ptr(), rb_fiddle_ptr_size_get(), and rb_fiddle_ptr_size_set().
|
static |
Definition at line 51 of file pointer.c.
References ptr_data::free, ptr_data::ptr, and xfree().
|
static |
Definition at line 39 of file pointer.c.
References ptr_data::ptr, rb_gc_mark(), and ptr_data::wrap.
|
static |
Definition at line 63 of file pointer.c.
References ptr_data::ptr, and ptr_data::size.
|
inlinestatic |
Definition at line 24 of file pointer.c.
References func, NIL_P, NULL, NUM2PTR, and rb_Integer().
Referenced by rb_fiddle_ptr_free_set(), rb_fiddle_ptr_initialize(), and rb_fiddle_ptr_s_malloc().
void Init_fiddle_pointer | ( | void | ) |
Definition at line 669 of file pointer.c.
References id_to_ptr, mFiddle, rb_cObject, rb_cPointer, rb_define_alloc_func(), rb_define_class_under(), rb_define_const(), rb_define_method(), rb_define_singleton_method(), rb_fiddle_ptr_aref(), rb_fiddle_ptr_aset(), rb_fiddle_ptr_cmp(), rb_fiddle_ptr_eql(), rb_fiddle_ptr_free_get(), rb_fiddle_ptr_free_set(), rb_fiddle_ptr_initialize(), rb_fiddle_ptr_inspect(), rb_fiddle_ptr_minus(), rb_fiddle_ptr_new(), rb_fiddle_ptr_null_p(), rb_fiddle_ptr_plus(), rb_fiddle_ptr_ptr(), rb_fiddle_ptr_ref(), rb_fiddle_ptr_s_allocate(), rb_fiddle_ptr_s_malloc(), rb_fiddle_ptr_s_to_ptr(), rb_fiddle_ptr_size_get(), rb_fiddle_ptr_size_set(), rb_fiddle_ptr_to_i(), rb_fiddle_ptr_to_s(), rb_fiddle_ptr_to_str(), rb_fiddle_ptr_to_value(), and rb_intern.
Referenced by Init_fiddle().
|
static |
Definition at line 106 of file pointer.c.
References fiddle_ptr_data_type, NULL, ptr_data::ptr, Qnil, rb_cPointer, rb_eTypeError, rb_obj_is_kind_of(), rb_raise(), TypedData_Get_Struct, and val.
Referenced by rb_fiddle_ptr_aset(), rb_fiddle_ptr_cmp(), rb_fiddle_ptr_eql(), rb_fiddle_ptr_minus(), and rb_fiddle_ptr_plus().
Definition at line 528 of file pointer.c.
References argc, argv, fiddle_ptr_data_type, INT2NUM, NUM2ULONG, ptr_data::ptr, Qnil, rb_bug(), rb_eFiddleError, rb_raise(), rb_scan_args(), rb_tainted_str_new(), and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 565 of file pointer.c.
References argc, argv, fiddle_ptr_data_type, NUM2PTR, NUM2UINT, NUM2ULONG, ptr_data::ptr, Qnil, rb_bug(), rb_cPointer, rb_eFiddleError, rb_fiddle_ptr2cptr(), rb_obj_is_kind_of(), rb_raise(), rb_scan_args(), RB_TYPE_P, StringValuePtr, T_STRING, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 467 of file pointer.c.
References diff(), INT2FIX, INT2NUM, Qnil, rb_cPointer, rb_fiddle_ptr2cptr(), rb_obj_is_kind_of(), and SIGNED_VALUE.
Referenced by Init_fiddle_pointer().
Definition at line 446 of file pointer.c.
References Qfalse, Qtrue, rb_cPointer, rb_fiddle_ptr2cptr(), and rb_obj_is_kind_of().
Referenced by Init_fiddle_pointer().
Definition at line 325 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::free, INT2NUM, PTR2NUM, Qnil, rb_ary_new(), rb_ary_push(), rb_fiddle_new_function(), TYPE_VOID, TYPE_VOIDP, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 305 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::free, get_freefunc(), Qnil, TypedData_Get_Struct, val, and ptr_data::wrap.
Referenced by Init_fiddle_pointer().
Definition at line 150 of file pointer.c.
References argc, argv, f, fiddle_ptr_data_type, ptr_data::free, get_freefunc(), NULL, NUM2LONG, NUM2PTR, ptr_data::ptr, Qnil, rb_Integer(), rb_scan_args(), size, ptr_data::size, sym, TypedData_Get_Struct, and ptr_data::wrap.
Referenced by Init_fiddle_pointer().
Definition at line 428 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::free, PRIsVALUE, ptr_data::ptr, rb_obj_class(), rb_sprintf(), ptr_data::size, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
|
static |
Definition at line 96 of file pointer.c.
References func, ptr_data::ptr, rb_fiddle_ptr_new(), ruby_xmalloc(), and size.
Referenced by rb_fiddle_ptr_s_malloc().
Definition at line 506 of file pointer.c.
References NUM2LONG, ptr_data::ptr, rb_fiddle_ptr2cptr(), rb_fiddle_ptr_new(), RPTR_DATA, and size.
Referenced by Init_fiddle_pointer().
|
static |
Definition at line 90 of file pointer.c.
References func, ptr_data::ptr, rb_cPointer, rb_fiddle_ptr_new2(), and size.
Referenced by Init_fiddle_pointer(), rb_fiddle_ptr_malloc(), rb_fiddle_ptr_minus(), rb_fiddle_ptr_plus(), rb_fiddle_ptr_ptr(), rb_fiddle_ptr_ref(), and rb_fiddle_ptr_s_to_ptr().
|
static |
Definition at line 75 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::free, func, OBJ_TAINT, ptr_data::ptr, size, ptr_data::size, TypedData_Make_Struct, and val.
Referenced by rb_fiddle_ptr_new().
Definition at line 290 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::ptr, Qfalse, Qtrue, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 488 of file pointer.c.
References NUM2LONG, ptr_data::ptr, rb_fiddle_ptr2cptr(), rb_fiddle_ptr_new(), RPTR_DATA, and size.
Referenced by Init_fiddle_pointer().
Definition at line 259 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::ptr, rb_fiddle_ptr_new(), and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 276 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::ptr, rb_fiddle_ptr_new(), and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 126 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::free, ptr_data::ptr, ptr_data::size, and TypedData_Make_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 198 of file pointer.c.
References argc, argv, f, get_freefunc(), NULL, NUM2LONG, rb_bug(), rb_fiddle_ptr_malloc(), rb_scan_args(), RPTR_DATA, size, sym, and ptr_data::wrap.
Referenced by Init_fiddle_pointer().
Definition at line 634 of file pointer.c.
References GetOpenFile, id_to_ptr, NULL, NUM2PTR, OBJ_INFECT, ptr_data::ptr, Qundef, rb_check_funcall(), rb_cIO, rb_cPointer, rb_cString, rb_eFiddleError, rb_fiddle_ptr_new(), rb_Integer(), rb_io_stdio_file(), rb_obj_is_kind_of(), rb_raise(), RPTR_DATA, RSTRING_LEN, RTEST, StringValuePtr, val, and ptr_data::wrap.
Referenced by Init_fiddle_pointer().
Definition at line 229 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::ptr, PTR2NUM, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
Definition at line 361 of file pointer.c.
References argc, argv, fiddle_ptr_data_type, NUM2INT, ptr_data::ptr, rb_bug(), rb_scan_args(), rb_tainted_str_new(), rb_tainted_str_new2, TypedData_Get_Struct, and val.
Referenced by Init_fiddle_pointer().
Definition at line 399 of file pointer.c.
References argc, argv, fiddle_ptr_data_type, NUM2INT, ptr_data::ptr, rb_bug(), rb_scan_args(), rb_tainted_str_new(), ptr_data::size, TypedData_Get_Struct, and val.
Referenced by Init_fiddle_pointer().
Definition at line 243 of file pointer.c.
References fiddle_ptr_data_type, ptr_data::ptr, and TypedData_Get_Struct.
Referenced by Init_fiddle_pointer().
|
static |
Definition at line 69 of file pointer.c.
Referenced by rb_fiddle_ptr2cptr(), rb_fiddle_ptr_aref(), rb_fiddle_ptr_aset(), rb_fiddle_ptr_free_get(), rb_fiddle_ptr_free_set(), rb_fiddle_ptr_initialize(), rb_fiddle_ptr_inspect(), rb_fiddle_ptr_new2(), rb_fiddle_ptr_null_p(), rb_fiddle_ptr_ptr(), rb_fiddle_ptr_ref(), rb_fiddle_ptr_s_allocate(), rb_fiddle_ptr_to_i(), rb_fiddle_ptr_to_s(), rb_fiddle_ptr_to_str(), and rb_fiddle_ptr_to_value().
|
static |
Definition at line 36 of file pointer.c.
Referenced by Init_fiddle_pointer(), and rb_fiddle_ptr_s_to_ptr().
VALUE rb_cPointer |
Definition at line 10 of file pointer.c.
Referenced by Init_fiddle_pointer(), rb_fiddle_ptr2cptr(), rb_fiddle_ptr_aset(), rb_fiddle_ptr_cmp(), rb_fiddle_ptr_eql(), rb_fiddle_ptr_new(), and rb_fiddle_ptr_s_to_ptr().