| Ruby
    3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
    | 
#include <fiddle.h>

Go to the source code of this file.
| Data Structures | |
| union | fiddle_generic | 
| Macros | |
| #define | VALUE2GENERIC(_type, _src, _dst) rb_fiddle_value_to_generic((_type), &(_src), (_dst)) | 
| #define | INT2FFI_TYPE(_type) rb_fiddle_int_to_ffi_type(_type) | 
| #define | GENERIC2VALUE(_type, _retval) rb_fiddle_generic_to_value((_type), (_retval)) | 
| #define | PTR2NUM(x) (LONG2NUM((long)(x))) | 
| #define | NUM2PTR(x) ((void*)(NUM2ULONG(x))) | 
| Functions | |
| VALUE | rb_fiddle_type_ensure (VALUE type) | 
| ffi_type * | rb_fiddle_int_to_ffi_type (int type) | 
| void | rb_fiddle_value_to_generic (int type, VALUE *src, fiddle_generic *dst) | 
| VALUE | rb_fiddle_generic_to_value (VALUE rettype, fiddle_generic retval) | 
| ffi_type * | int_to_ffi_type (int type) | 
| void | value_to_generic (int type, VALUE src, fiddle_generic *dst) | 
| VALUE | generic_to_value (VALUE rettype, fiddle_generic retval) | 
| #define GENERIC2VALUE | ( | _type, | |
| _retval | |||
| ) | rb_fiddle_generic_to_value((_type), (_retval)) | 
Definition at line 41 of file conversions.h.
| #define INT2FFI_TYPE | ( | _type | ) | rb_fiddle_int_to_ffi_type(_type) | 
Definition at line 39 of file conversions.h.
| #define NUM2PTR | ( | x | ) | ((void*)(NUM2ULONG(x))) | 
Definition at line 46 of file conversions.h.
| #define PTR2NUM | ( | x | ) | (LONG2NUM((long)(x))) | 
Definition at line 45 of file conversions.h.
| #define VALUE2GENERIC | ( | _type, | |
| _src, | |||
| _dst | |||
| ) | rb_fiddle_value_to_generic((_type), &(_src), (_dst)) | 
Definition at line 37 of file conversions.h.
| VALUE generic_to_value | ( | VALUE | rettype, | 
| fiddle_generic | retval | ||
| ) | 
Definition at line 325 of file conversions.c.
References rb_fiddle_generic_to_value().
| ffi_type* int_to_ffi_type | ( | int | type | ) | 
Definition at line 197 of file conversions.c.
References rb_fiddle_int_to_ffi_type().
| VALUE rb_fiddle_generic_to_value | ( | VALUE | rettype, | 
| fiddle_generic | retval | ||
| ) | 
Definition at line 271 of file conversions.c.
References fiddle_generic::ddouble, fiddle_generic::fffi_arg, fiddle_generic::fffi_sarg, fiddle_generic::ffloat, INT2NUM, LL2NUM, LONG2NUM, mFiddle, NUM2INT, fiddle_generic::pointer, PTR2NUM, Qnil, rb_const_get(), rb_eRuntimeError, rb_float_new, rb_funcall(), rb_intern(), rb_raise(), rb_str_new_cstr, fiddle_generic::slong, TYPE_CHAR, TYPE_CONST_STRING, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_SHORT, TYPE_VOID, TYPE_VOIDP, UINT2NUM, ULL2NUM, fiddle_generic::ulong, ULONG2NUM, and UNREACHABLE.
Referenced by generic_to_value().
| ffi_type* rb_fiddle_int_to_ffi_type | ( | int | type | ) | 
Definition at line 156 of file conversions.c.
References rb_eRuntimeError, rb_ffi_type_of, rb_raise(), TYPE_CHAR, TYPE_CONST_STRING, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_SHORT, TYPE_VOID, and TYPE_VOIDP.
Referenced by int_to_ffi_type().
Definition at line 4 of file conversions.c.
| void rb_fiddle_value_to_generic | ( | int | type, | 
| VALUE * | src, | ||
| fiddle_generic * | dst | ||
| ) | 
Definition at line 203 of file conversions.c.
References fiddle_generic::ddouble, fiddle_generic::ffloat, NIL_P, NULL, NUM2DBL, NUM2INT, NUM2LL, NUM2LONG, NUM2PTR, NUM2UINT, NUM2ULL, NUM2ULONG, fiddle_generic::pointer, rb_eRuntimeError, rb_Integer(), rb_raise(), rb_string_value_cstr(), fiddle_generic::schar, fiddle_generic::sint, fiddle_generic::slong, fiddle_generic::sshort, TYPE_CHAR, TYPE_CONST_STRING, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_LONG, TYPE_SHORT, TYPE_VOID, TYPE_VOIDP, fiddle_generic::uchar, fiddle_generic::uint, and fiddle_generic::ulong.
Referenced by value_to_generic().
| void value_to_generic | ( | int | type, | 
| VALUE | src, | ||
| fiddle_generic * | dst | ||
| ) | 
Definition at line 263 of file conversions.c.
References rb_fiddle_value_to_generic().
 1.8.17
 1.8.17