Ruby
2.0.0p648(2015-12-16revision53162)
|
#include <fiddle.h>
Go to the source code of this file.
Macros | |
#define | RB_OBJ_CLASSNAME(obj) rb_obj_class(obj) |
#define | RB_OBJ_STRING(obj) (obj) |
#define | MAX_ARGS (SIZE_MAX / (sizeof(void *) + sizeof(fiddle_generic)) - 1) |
#define | Check_Max_Args(name, len) Check_Max_Args_(name, len, "") |
#define | Check_Max_Args_Long(name, len) Check_Max_Args_(name, len, "l") |
#define | Check_Max_Args_(name, len, fmt) |
Functions | |
static void | deallocate (void *p) |
static size_t | function_memsize (const void *p) |
static VALUE | allocate (VALUE klass) |
VALUE | rb_fiddle_new_function (VALUE address, VALUE arg_types, VALUE ret_type) |
static int | parse_keyword_arg_i (VALUE key, VALUE value, VALUE self) |
static VALUE | initialize (int argc, VALUE argv[], VALUE self) |
static VALUE | function_call (int argc, VALUE argv[], VALUE self) |
void | Init_fiddle_function (void) |
Variables | |
VALUE | cFiddleFunction |
const rb_data_type_t | function_data_type |
#define Check_Max_Args | ( | name, | |
len | |||
) | Check_Max_Args_(name, len, "") |
Definition at line 16 of file function.c.
Referenced by function_call().
#define Check_Max_Args_ | ( | name, | |
len, | |||
fmt | |||
) |
Definition at line 20 of file function.c.
#define Check_Max_Args_Long | ( | name, | |
len | |||
) | Check_Max_Args_(name, len, "l") |
Definition at line 18 of file function.c.
Referenced by initialize().
#define MAX_ARGS (SIZE_MAX / (sizeof(void *) + sizeof(fiddle_generic)) - 1) |
Definition at line 14 of file function.c.
#define RB_OBJ_CLASSNAME | ( | obj | ) | rb_obj_class(obj) |
Definition at line 4 of file function.c.
#define RB_OBJ_STRING | ( | obj | ) | (obj) |
Definition at line 5 of file function.c.
Referenced by parse_keyword_arg_i().
Definition at line 59 of file function.c.
References TypedData_Make_Struct.
Referenced by Init_fiddle_function().
|
static |
Definition at line 31 of file function.c.
Definition at line 149 of file function.c.
References ALLOCV, ALLOCV_END, argc, Check_Max_Args, CLASS_OF, errno, FIX2INT, GENERIC2VALUE, i, INT2NUM, mFiddle, NIL_P, NULL, NUM2PTR, OBJ_TAINTED, RARRAY_LENINT, RARRAY_PTR, rb_const_get(), rb_eArgError, rb_eSecurityError, rb_funcall(), rb_Integer(), rb_intern, rb_iv_get(), rb_raise(), rb_safe_level, type, TYPE_VOIDP, TypedData_Get_Struct, and VALUE2GENERIC.
Referenced by Init_fiddle_function().
|
static |
Definition at line 39 of file function.c.
References size.
void Init_fiddle_function | ( | void | ) |
Definition at line 216 of file function.c.
References allocate(), cFiddleFunction, function_call(), initialize(), INT2NUM, mFiddle, rb_cObject, rb_define_alloc_func(), rb_define_class_under(), rb_define_const(), and rb_define_method().
Referenced by Init_fiddle().
Definition at line 91 of file function.c.
References args, Check_Max_Args_Long, Check_Type, i, INT2FFI_TYPE, INT2FIX, NIL_P, NULL, NUM2INT, NUM2PTR, OBJ_FREEZE, parse_keyword_arg_i(), PTR2NUM, RARRAY_LEN, RARRAY_LENINT, RARRAY_PTR, rb_ary_store(), rb_ary_subseq(), rb_eRuntimeError, rb_hash_foreach(), rb_Integer(), rb_iv_set(), rb_raise(), rb_scan_args(), result, T_ARRAY, type, TypedData_Get_Struct, and xcalloc.
Referenced by Init_fiddle_function().
Definition at line 79 of file function.c.
References ID2SYM, PRIsVALUE, rb_eArgError, rb_intern, rb_iv_set(), RB_OBJ_STRING, rb_raise(), and ST_CONTINUE.
Referenced by initialize().
Definition at line 67 of file function.c.
References argv, cFiddleFunction, and rb_class_new_instance().
Referenced by rb_fiddle_ptr_free_get().
VALUE cFiddleFunction |
Definition at line 12 of file function.c.
Referenced by Init_fiddle_function(), and rb_fiddle_new_function().
const rb_data_type_t function_data_type |
Definition at line 53 of file function.c.