1#ifndef FIDDLE_CONVERSIONS_H
2#define FIDDLE_CONVERSIONS_H
21 unsigned LONG_LONG ulong_long;
22 signed LONG_LONG slong_long;
37#define VALUE2GENERIC(_type, _src, _dst) \
38 rb_fiddle_value_to_generic((_type), &(_src), (_dst))
39#define INT2FFI_TYPE(_type) \
40 rb_fiddle_int_to_ffi_type(_type)
41#define GENERIC2VALUE(_type, _retval) \
42 rb_fiddle_generic_to_value((_type), (_retval))
44#if SIZEOF_VOIDP == SIZEOF_LONG
45# define PTR2NUM(x) (LONG2NUM((long)(x)))
46# define NUM2PTR(x) ((void*)(NUM2ULONG(x)))
49# define PTR2NUM(x) (LL2NUM((LONG_LONG)(x)))
50# define NUM2PTR(x) ((void*)(NUM2ULL(x)))
ffi_type * int_to_ffi_type(int type)
VALUE rb_fiddle_generic_to_value(VALUE rettype, fiddle_generic retval)
ffi_type * rb_fiddle_int_to_ffi_type(int type)
VALUE rb_fiddle_type_ensure(VALUE type)
void value_to_generic(int type, VALUE src, fiddle_generic *dst)
VALUE generic_to_value(VALUE rettype, fiddle_generic retval)
void rb_fiddle_value_to_generic(int type, VALUE *src, fiddle_generic *dst)