Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ruby.h File Reference
`#include "ruby/config.h"`
`#include "defines.h"`
`#include "ruby/assert.h"`
`#include <stdarg.h>`
`#include "ruby/intern.h"`
`#include "ruby/subst.h"`
`#include "ruby/backward.h"`

Go to the source code of this file.

## Data Structures
struct | RObject
struct | RString
struct | RArray
struct | RRegexp
struct | RFile
struct | RData
struct | rb_data_type_struct
struct | RTypedData

## Macros
#define | ASSUME(x) ((void)(x))
#define | UNREACHABLE_RETURN(val) return (val)
#define | UNREACHABLE ((void)0) /* unreachable */
#define | RUBY_MACRO_SELECT(base, n) TOKEN_PASTE(base, n)
#define | SIGNED_VALUE long
#define | SIZEOF_VALUE SIZEOF_LONG
#define | PRI_VALUE_PREFIX "l"
#define | PRI_INT_PREFIX ""
#define | PRI_LONG_PREFIX "l"
#define | PRI_SHORT_PREFIX "h"
#define | PRIdPTR PRI_PTR_PREFIX"d"
#define | PRIiPTR PRI_PTR_PREFIX"i"
#define | PRIoPTR PRI_PTR_PREFIX"o"
#define | PRIuPTR PRI_PTR_PREFIX"u"
#define | PRIxPTR PRI_PTR_PREFIX"x"
#define | RUBY_PRI_VALUE_MARK "\v"
#define | PRIdVALUE PRI_VALUE_PREFIX"d"
#define | PRIoVALUE PRI_VALUE_PREFIX"o"
#define | PRIuVALUE PRI_VALUE_PREFIX"u"
#define | PRIxVALUE PRI_VALUE_PREFIX"x"
#define | PRIsVALUE PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK
#define | PRI_TIMET_PREFIX
#define | PRI_PTRDIFF_PREFIX ""
#define | PRIdPTRDIFF PRI_PTRDIFF_PREFIX"d"
#define | PRIiPTRDIFF PRI_PTRDIFF_PREFIX"i"
#define | PRIoPTRDIFF PRI_PTRDIFF_PREFIX"o"
#define | PRIuPTRDIFF PRI_PTRDIFF_PREFIX"u"
#define | PRIxPTRDIFF PRI_PTRDIFF_PREFIX"x"
#define | PRI_SIZE_PREFIX ""
#define | PRIdSIZE PRI_SIZE_PREFIX"d"
#define | PRIiSIZE PRI_SIZE_PREFIX"i"
#define | PRIoSIZE PRI_SIZE_PREFIX"o"
#define | PRIuSIZE PRI_SIZE_PREFIX"u"
#define | PRIxSIZE PRI_SIZE_PREFIX"x"
#define | LONG_MAX 2147483647
#define | LONG_MIN (-LONG_MAX-1)
#define | CHAR_BIT 8
#define | RUBY_FIXNUM_MAX (LONG_MAX>>1)
#define | RUBY_FIXNUM_MIN RSHIFT((long)LONG_MIN,1)
#define | FIXNUM_MAX RUBY_FIXNUM_MAX
#define | FIXNUM_MIN RUBY_FIXNUM_MIN
#define | RB_INT2FIX(i) (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)
#define | INT2FIX(i) RB_INT2FIX(i)
#define | RB_LONG2FIX(i) RB_INT2FIX(i)
#define | LONG2FIX(i) RB_INT2FIX(i)
#define | rb_fix_new(v) RB_INT2FIX(v)
#define | rb_int_new(v) rb_int2inum(v)
#define | rb_uint_new(v) rb_uint2inum(v)
#define | OFFT2NUM(v) LONG2NUM(v)
#define | SIZET2NUM(v) ULONG2NUM(v)
#define | SSIZET2NUM(v) LONG2NUM(v)
#define | SIZE_MAX ULONG_MAX
#define | SIZE_MIN ULONG_MIN
#define | SSIZE_MAX LONG_MAX
#define | SSIZE_MIN LONG_MIN
#define | rb_long2int(n) ((int)(n))
#define | PIDT2NUM(v) LONG2NUM(v)
#define | NUM2PIDT(v) NUM2LONG(v)
#define | UIDT2NUM(v) LONG2NUM(v)
#define | NUM2UIDT(v) NUM2LONG(v)
#define | GIDT2NUM(v) LONG2NUM(v)
#define | NUM2GIDT(v) NUM2LONG(v)
#define | NUM2MODET(v) NUM2INT(v)
#define | MODET2NUM(v) INT2NUM(v)
#define | RB_FIX2LONG(x) ((long)RSHIFT((SIGNED_VALUE)(x),1))
#define | RB_FIX2ULONG(x) ((unsigned long)RB_FIX2LONG(x))
#define | RB_FIXNUM_P(f) (((int)(SIGNED_VALUE)(f))&RUBY_FIXNUM_FLAG)
#define | RB_POSFIXABLE(f) ((f) < RUBY_FIXNUM_MAX+1)
#define | RB_NEGFIXABLE(f) ((f) >= RUBY_FIXNUM_MIN)
#define | RB_FIXABLE(f) (RB_POSFIXABLE(f) && RB_NEGFIXABLE(f))
#define | FIX2LONG(x) RB_FIX2LONG(x)
#define | FIX2ULONG(x) RB_FIX2ULONG(x)
#define | FIXNUM_P(f) RB_FIXNUM_P(f)
#define | POSFIXABLE(f) RB_POSFIXABLE(f)
#define | NEGFIXABLE(f) RB_NEGFIXABLE(f)
#define | FIXABLE(f) RB_FIXABLE(f)
#define | RB_IMMEDIATE_P(x) ((VALUE)(x) & RUBY_IMMEDIATE_MASK)
#define | IMMEDIATE_P(x) RB_IMMEDIATE_P(x)
#define | RB_STATIC_SYM_P(x) (((VALUE)(x)&~((~(VALUE)0)<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG)
#define | RB_DYNAMIC_SYM_P(x) (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) == (RUBY_T_SYMBOL))
#define | RB_SYMBOL_P(x) (RB_STATIC_SYM_P(x)||RB_DYNAMIC_SYM_P(x))
#define | RB_ID2SYM(x) (rb_id2sym(x))
#define | RB_SYM2ID(x) (rb_sym2id(x))
#define | STATIC_SYM_P(x) RB_STATIC_SYM_P(x)
#define | DYNAMIC_SYM_P(x) RB_DYNAMIC_SYM_P(x)
#define | SYMBOL_P(x) RB_SYMBOL_P(x)
#define | ID2SYM(x) RB_ID2SYM(x)
#define | SYM2ID(x) RB_SYM2ID(x)
#define | USE_FLONUM 1
#define | RB_FLONUM_P(x) ((((int)(SIGNED_VALUE)(x))&RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG)
#define | FLONUM_P(x) RB_FLONUM_P(x)
#define | USE_SYMBOL_AS_METHOD_NAME 1
#define | RUBY_Qfalse ((VALUE)RUBY_Qfalse)
#define | RUBY_Qtrue ((VALUE)RUBY_Qtrue)
#define | RUBY_Qnil ((VALUE)RUBY_Qnil)
#define | RUBY_Qundef ((VALUE)RUBY_Qundef) /* undefined value for placeholder */
#define | Qfalse RUBY_Qfalse
#define | Qtrue RUBY_Qtrue
#define | Qnil RUBY_Qnil
#define | Qundef RUBY_Qundef
#define | IMMEDIATE_MASK RUBY_IMMEDIATE_MASK
#define | FIXNUM_FLAG RUBY_FIXNUM_FLAG
#define | FLONUM_MASK RUBY_FLONUM_MASK
#define | FLONUM_FLAG RUBY_FLONUM_FLAG
#define | SYMBOL_FLAG RUBY_SYMBOL_FLAG
#define | RB_TEST(v) !(((VALUE)(v) & (VALUE)~RUBY_Qnil) == 0)
#define | RB_NIL_P(v) !((VALUE)(v) != RUBY_Qnil)
#define | RTEST(v) RB_TEST(v)
#define | NIL_P(v) RB_NIL_P(v)
#define | CLASS_OF(v) rb_class_of((VALUE)(v))
#define | T_NONE RUBY_T_NONE
#define | T_NIL RUBY_T_NIL
#define | T_OBJECT RUBY_T_OBJECT
#define | T_CLASS RUBY_T_CLASS
#define | T_ICLASS RUBY_T_ICLASS
#define | T_MODULE RUBY_T_MODULE
#define | T_FLOAT RUBY_T_FLOAT
#define | T_STRING RUBY_T_STRING
#define | T_REGEXP RUBY_T_REGEXP
#define | T_ARRAY RUBY_T_ARRAY
#define | T_HASH RUBY_T_HASH
#define | T_STRUCT RUBY_T_STRUCT
#define | T_BIGNUM RUBY_T_BIGNUM
#define | T_FILE RUBY_T_FILE
#define | T_FIXNUM RUBY_T_FIXNUM
#define | T_TRUE RUBY_T_TRUE
#define | T_FALSE RUBY_T_FALSE
#define | T_DATA RUBY_T_DATA
#define | T_MATCH RUBY_T_MATCH
#define | T_SYMBOL RUBY_T_SYMBOL
#define | T_RATIONAL RUBY_T_RATIONAL
#define | T_COMPLEX RUBY_T_COMPLEX
#define | T_IMEMO RUBY_T_IMEMO
#define | T_UNDEF RUBY_T_UNDEF
#define | T_NODE RUBY_T_NODE
#define | T_ZOMBIE RUBY_T_ZOMBIE
#define | T_MOVED RUBY_T_MOVED
#define | T_MASK RUBY_T_MASK
#define | RB_BUILTIN_TYPE(x) (int)(((struct RBasic*)(x))->flags & RUBY_T_MASK)
#define | BUILTIN_TYPE(x) RB_BUILTIN_TYPE(x)
#define | TYPE(x) rb_type((VALUE)(x))
#define | RB_FLOAT_TYPE_P(obj)
#define | RB_TYPE_P(obj, type)
#define | HAVE_RB_GC_GUARDED_PTR_VAL 1
#define | RB_GC_GUARD(v) (*rb_gc_guarded_ptr_val(&(v),(v)))
#define | RB_UNUSED_VAR(x) x
#define | Check_Type(v, t) rb_check_type((VALUE)(v),(t))
#define | StringValue(v) rb_string_value(&(v))
#define | StringValuePtr(v) rb_string_value_ptr(&(v))
#define | StringValueCStr(v) rb_string_value_cstr(&(v))
#define | SafeStringValue(v) StringValue(v)
#define | rb_check_safe_str(x) [<"rb_check_safe_str() is obsolete; use StringValue() instead">]
#define | Check_SafeStr(v) [<"Check_SafeStr() is obsolete; use StringValue() instead">]
#define | ExportStringValue(v)
#define | FilePathValue(v) (RB_GC_GUARD(v) = rb_get_path(v))
#define | FilePathStringValue(v) ((v) = rb_get_path(v))
#define | RUBY_SAFE_LEVEL_MAX 1
#define | RB_NUM2LONG(x) rb_num2long_inline(x)
#define | NUM2LONG(x) RB_NUM2LONG(x)
#define | RB_NUM2ULONG(x) rb_num2ulong_inline(x)
#define | NUM2ULONG(x) RB_NUM2ULONG(x)
#define | RB_NUM2INT(x) ((int)RB_NUM2LONG(x))
#define | RB_NUM2UINT(x) ((unsigned int)RB_NUM2ULONG(x))
#define | RB_FIX2INT(x) ((int)RB_FIX2LONG(x))
#define | RB_FIX2UINT(x) ((unsigned int)RB_FIX2ULONG(x))
#define | NUM2INT(x) RB_NUM2INT(x)
#define | NUM2UINT(x) RB_NUM2UINT(x)
#define | FIX2INT(x) RB_FIX2INT(x)
#define | FIX2UINT(x) RB_FIX2UINT(x)
#define | RB_FIX2SHORT(x) (rb_fix2short((VALUE)(x)))
#define | FIX2SHORT(x) RB_FIX2SHORT(x)
#define | RB_NUM2SHORT(x) rb_num2short_inline(x)
#define | RB_NUM2USHORT(x) rb_num2ushort(x)
#define | NUM2SHORT(x) RB_NUM2SHORT(x)
#define | NUM2USHORT(x) RB_NUM2USHORT(x)
#define | NUM2OFFT(x) NUM2LONG(x)
#define | NUM2SIZET(x) NUM2ULONG(x)
#define | NUM2SSIZET(x) NUM2LONG(x)
#define | NUM2DBL(x) rb_num2dbl((VALUE)(x))
#define | RB_NEWOBJ(obj, type) type *(obj) = (type*)rb_newobj()
#define | RB_NEWOBJ_OF(obj, type, klass, flags) type *(obj) = (type*)rb_newobj_of(klass, flags)
#define | NEWOBJ(obj, type) RB_NEWOBJ(obj,type)
#define | NEWOBJ_OF(obj, type, klass, flags) RB_NEWOBJ_OF(obj,type,klass,flags) /* core has special NEWOBJ_OF() in internal.h */
#define | OBJSETUP(obj, c, t) rb_obj_setup(obj, c, t) /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */
#define | CLONESETUP(clone, obj) rb_clone_setup(clone,obj)
#define | DUPSETUP(dup, obj) rb_dup_setup(dup,obj)
#define | USE_RGENGC 1
#define | USE_RINCGC 1
#define | RGENGC_WB_PROTECTED_ARRAY 1
#define | RGENGC_WB_PROTECTED_HASH 1
#define | RGENGC_WB_PROTECTED_STRUCT 1
#define | RGENGC_WB_PROTECTED_STRING 1
#define | RGENGC_WB_PROTECTED_OBJECT 1
#define | RGENGC_WB_PROTECTED_REGEXP 1
#define | RGENGC_WB_PROTECTED_CLASS 1
#define | RGENGC_WB_PROTECTED_FLOAT 1
#define | RGENGC_WB_PROTECTED_COMPLEX 1
#define | RGENGC_WB_PROTECTED_RATIONAL 1
#define | RGENGC_WB_PROTECTED_BIGNUM 1
#define | RGENGC_WB_PROTECTED_NODE_CREF 1
#define | RUBY_FL_USER_N(n) RUBY_FL_USER##n = (1<<(RUBY_FL_USHIFT+n))
#define | RUBY_FL_USER19 (((VALUE)1)<<(RUBY_FL_USHIFT+19))
#define | RB_OBJ_WB_UNPROTECT_FOR(type, obj)
#define | RBASIC_CLASS(obj) (RBASIC(obj)->klass)
#define | RVALUE_EMBED_LEN_MAX RVALUE_EMBED_LEN_MAX
#define | ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX
#define | ROBJECT_EMBED ROBJECT_EMBED
#define | ROBJECT_NUMIV(o)
#define | ROBJECT_IVPTR(o)
#define | ROBJECT_IV_INDEX_TBL(o)
#define | RCLASS_SUPER(c) rb_class_get_superclass(c)
#define | RMODULE_IV_TBL(m) RCLASS_IV_TBL(m)
#define | RMODULE_CONST_TBL(m) RCLASS_CONST_TBL(m)
#define | RMODULE_M_TBL(m) RCLASS_M_TBL(m)
#define | RMODULE_SUPER(m) RCLASS_SUPER(m)
#define | RMODULE_IS_OVERLAID RMODULE_IS_OVERLAID
#define | RMODULE_IS_REFINEMENT RMODULE_IS_REFINEMENT
#define | RMODULE_INCLUDED_INTO_REFINEMENT RMODULE_INCLUDED_INTO_REFINEMENT
#define | RFLOAT_VALUE(v) rb_float_value(v)
#define | DBL2NUM(dbl) rb_float_new(dbl)
#define | RUBY_ELTS_SHARED RUBY_ELTS_SHARED
#define | ELTS_SHARED RUBY_ELTS_SHARED
#define | RSTRING_NOEMBED RSTRING_NOEMBED
#define | RSTRING_EMBED_LEN_MASK RSTRING_EMBED_LEN_MASK
#define | RSTRING_EMBED_LEN_SHIFT RSTRING_EMBED_LEN_SHIFT
#define | RSTRING_EMBED_LEN_MAX RSTRING_EMBED_LEN_MAX
#define | RSTRING_FSTR RSTRING_FSTR
#define | RSTRING_EMBED_LEN(str)
#define | RSTRING_LEN(str)
#define | RSTRING_PTR(str)
#define | RSTRING_END(str)
#define | RSTRING_LENINT(str) rb_long2int(RSTRING_LEN(str))
#define | RSTRING_GETMEM(str, ptrvar, lenvar)
#define | USE_TRANSIENT_HEAP 1
#define | RARRAY_TRANSIENT_FLAG RARRAY_TRANSIENT_FLAG
#define | RARRAY_EMBED_FLAG (VALUE)RARRAY_EMBED_FLAG
#define | RARRAY_EMBED_LEN_MASK (VALUE)RARRAY_EMBED_LEN_MASK
#define | RARRAY_EMBED_LEN_MAX RARRAY_EMBED_LEN_MAX
#define | RARRAY_EMBED_LEN_SHIFT RARRAY_EMBED_LEN_SHIFT
#define | RARRAY_EMBED_LEN(a)
#define | RARRAY_LEN(a) rb_array_len(a)
#define | RARRAY_LENINT(ary) rb_long2int(RARRAY_LEN(ary))
#define | RARRAY_CONST_PTR(a) rb_array_const_ptr(a)
#define | RARRAY_CONST_PTR_TRANSIENT(a) rb_array_const_ptr_transient(a)
#define | RARRAY_TRANSIENT_P(ary) FL_TEST_RAW((ary), RARRAY_TRANSIENT_FLAG)
#define | RARRAY_PTR_USE_START_TRANSIENT(a) rb_array_ptr_use_start(a, 1)
#define | RARRAY_PTR_USE_END_TRANSIENT(a) rb_array_ptr_use_end(a, 1)
#define | RARRAY_PTR_USE_TRANSIENT(ary, ptr_name, expr)
#define | RARRAY_PTR_USE_START(a) rb_array_ptr_use_start(a, 0)
#define | RARRAY_PTR_USE_END(a) rb_array_ptr_use_end(a, 0)
#define | RARRAY_PTR_USE(ary, ptr_name, expr)
#define | RARRAY_AREF(a, i) (RARRAY_CONST_PTR_TRANSIENT(a)[i])
#define | RARRAY_ASET(a, i, v)
#define | RARRAY_PTR(a) ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))
#define | RREGEXP_PTR(r) (RREGEXP(r)->ptr)
#define | RREGEXP_SRC(r) (RREGEXP(r)->src)
#define | RREGEXP_SRC_PTR(r) RSTRING_PTR(RREGEXP(r)->src)
#define | RREGEXP_SRC_LEN(r) RSTRING_LEN(RREGEXP(r)->src)
#define | RREGEXP_SRC_END(r) RSTRING_END(RREGEXP(r)->src)
#define | RHASH_TBL(h) rb_hash_tbl(h, __FILE__, __LINE__)
#define | RHASH_ITER_LEV(h) rb_hash_iter_lev(h)
#define | RHASH_IFNONE(h) rb_hash_ifnone(h)
#define | RHASH_SIZE(h) rb_hash_size_num(h)
#define | RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0)
#define | RHASH_SET_IFNONE(h, ifnone) rb_hash_set_ifnone((VALUE)h, ifnone)
#define | HAVE_TYPE_RB_DATA_TYPE_T 1
#define | HAVE_RB_DATA_TYPE_T_FUNCTION 1
#define | HAVE_RB_DATA_TYPE_T_PARENT 1
#define | DATA_PTR(dta) (RDATA(dta)->data)
#define | RTYPEDDATA_P(v) (RTYPEDDATA(v)->typed_flag == 1)
#define | RTYPEDDATA_TYPE(v) (RTYPEDDATA(v)->type)
#define | RTYPEDDATA_DATA(v) (RTYPEDDATA(v)->data)
#define | RUBY_UNTYPED_DATA_WARNING 0
#define | Check_TypedStruct(v, t) rb_check_typeddata((VALUE)(v),(t))
#define | RUBY_DEFAULT_FREE ((RUBY_DATA_FUNC)-1)
#define | RUBY_NEVER_FREE ((RUBY_DATA_FUNC)0)
#define | RUBY_TYPED_DEFAULT_FREE RUBY_DEFAULT_FREE
#define | RUBY_TYPED_NEVER_FREE RUBY_NEVER_FREE
#define | RUBY_TYPED_FREE_IMMEDIATELY 1 /* TYPE field */
#define | RUBY_TYPED_WB_PROTECTED RUBY_FL_WB_PROTECTED /* THIS FLAG DEPENDS ON Ruby version */
#define | RUBY_TYPED_PROMOTED1 RUBY_FL_PROMOTED1 /* THIS FLAG DEPENDS ON Ruby version */
#define | Data_Wrap_Struct(klass, mark, free, sval) rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))
#define | Data_Make_Struct0(result, klass, type, size, mark, free, sval)
#define | Data_Make_Struct(klass, type, mark, free, sval)
#define | TypedData_Wrap_Struct(klass, data_type, sval) rb_data_typed_object_wrap((klass),(sval),(data_type))
#define | TypedData_Make_Struct0(result, klass, type, size, data_type, sval)
#define | TypedData_Make_Struct(klass, type, data_type, sval)
#define | Data_Get_Struct(obj, type, sval) ((sval) = (type*)rb_data_object_get(obj))
#define | TypedData_Get_Struct(obj, type, data_type, sval) ((sval) = (type*)rb_check_typeddata((obj), (data_type)))
#define | RSTRUCT_LEN(st) NUM2LONG(rb_struct_size(st))
#define | RSTRUCT_PTR(st) rb_struct_ptr(st)
#define | RSTRUCT_SET(st, idx, v) rb_struct_aset(st, INT2NUM(idx), (v))
#define | RSTRUCT_GET(st, idx) rb_struct_aref(st, INT2NUM(idx))
#define | RBIGNUM_SIGN(b) (rb_big_sign(b))
#define | RBIGNUM_POSITIVE_P(b) (RBIGNUM_SIGN(b)!=0)
#define | RBIGNUM_NEGATIVE_P(b) (RBIGNUM_SIGN(b)==0)
#define | R_CAST(st) (struct st*)
#define | RMOVED(obj) (R_CAST(RMoved)(obj))
#define | RBASIC(obj) (R_CAST(RBasic)(obj))
#define | ROBJECT(obj) (R_CAST(RObject)(obj))
#define | RCLASS(obj) (R_CAST(RClass)(obj))
#define | RMODULE(obj) RCLASS(obj)
#define | RSTRING(obj) (R_CAST(RString)(obj))
#define | RREGEXP(obj) (R_CAST(RRegexp)(obj))
#define | RARRAY(obj) (R_CAST(RArray)(obj))
#define | RDATA(obj) (R_CAST(RData)(obj))
#define | RTYPEDDATA(obj) (R_CAST(RTypedData)(obj))
#define | RFILE(obj) (R_CAST(RFile)(obj))
#define | FL_SINGLETON ((VALUE)RUBY_FL_SINGLETON)
#define | FL_WB_PROTECTED ((VALUE)RUBY_FL_WB_PROTECTED)
#define | FL_PROMOTED0 ((VALUE)RUBY_FL_PROMOTED0)
#define | FL_PROMOTED1 ((VALUE)RUBY_FL_PROMOTED1)
#define | FL_FINALIZE ((VALUE)RUBY_FL_FINALIZE)
#define | FL_TAINT ((VALUE)RUBY_FL_TAINT)
#define | FL_UNTRUSTED ((VALUE)RUBY_FL_UNTRUSTED)
#define | FL_SEEN_OBJ_ID ((VALUE)RUBY_FL_SEEN_OBJ_ID)
#define | FL_EXIVAR ((VALUE)RUBY_FL_EXIVAR)
#define | FL_FREEZE ((VALUE)RUBY_FL_FREEZE)
#define | FL_USHIFT ((VALUE)RUBY_FL_USHIFT)
#define | FL_USER0 ((VALUE)RUBY_FL_USER0)
#define | FL_USER1 ((VALUE)RUBY_FL_USER1)
#define | FL_USER2 ((VALUE)RUBY_FL_USER2)
#define | FL_USER3 ((VALUE)RUBY_FL_USER3)
#define | FL_USER4 ((VALUE)RUBY_FL_USER4)
#define | FL_USER5 ((VALUE)RUBY_FL_USER5)
#define | FL_USER6 ((VALUE)RUBY_FL_USER6)
#define | FL_USER7 ((VALUE)RUBY_FL_USER7)
#define | FL_USER8 ((VALUE)RUBY_FL_USER8)
#define | FL_USER9 ((VALUE)RUBY_FL_USER9)
#define | FL_USER10 ((VALUE)RUBY_FL_USER10)
#define | FL_USER11 ((VALUE)RUBY_FL_USER11)
#define | FL_USER12 ((VALUE)RUBY_FL_USER12)
#define | FL_USER13 ((VALUE)RUBY_FL_USER13)
#define | FL_USER14 ((VALUE)RUBY_FL_USER14)
#define | FL_USER15 ((VALUE)RUBY_FL_USER15)
#define | FL_USER16 ((VALUE)RUBY_FL_USER16)
#define | FL_USER17 ((VALUE)RUBY_FL_USER17)
#define | FL_USER18 ((VALUE)RUBY_FL_USER18)
#define | FL_USER19 ((VALUE)(unsigned int)RUBY_FL_USER19)
#define | RB_SPECIAL_CONST_P(x) (RB_IMMEDIATE_P(x) || !RB_TEST(x))
#define | SPECIAL_CONST_P(x) RB_SPECIAL_CONST_P(x)
#define | RB_FL_ABLE(x) (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) != RUBY_T_NODE)
#define | RB_FL_TEST_RAW(x, f) (RBASIC(x)->flags&(f))
#define | RB_FL_TEST(x, f) (RB_FL_ABLE(x)?RB_FL_TEST_RAW((x),(f)):0)
#define | RB_FL_ANY_RAW(x, f) RB_FL_TEST_RAW((x),(f))
#define | RB_FL_ANY(x, f) RB_FL_TEST((x),(f))
#define | RB_FL_ALL_RAW(x, f) (RB_FL_TEST_RAW((x),(f)) == (f))
#define | RB_FL_ALL(x, f) (RB_FL_TEST((x),(f)) == (f))
#define | RB_FL_SET_RAW(x, f) (void)(RBASIC(x)->flags |= (f))
#define | RB_FL_SET(x, f) (RB_FL_ABLE(x) ? RB_FL_SET_RAW(x, f) : (void)0)
#define | RB_FL_UNSET_RAW(x, f) (void)(RBASIC(x)->flags &= ~(VALUE)(f))
#define | RB_FL_UNSET(x, f) (RB_FL_ABLE(x) ? RB_FL_UNSET_RAW(x, f) : (void)0)
#define | RB_FL_REVERSE_RAW(x, f) (void)(RBASIC(x)->flags ^= (f))
#define | RB_FL_REVERSE(x, f) (RB_FL_ABLE(x) ? RB_FL_REVERSE_RAW(x, f) : (void)0)
#define | RB_OBJ_TAINTABLE(x) (RB_FL_ABLE(x) && RB_BUILTIN_TYPE(x) != RUBY_T_BIGNUM && RB_BUILTIN_TYPE(x) != RUBY_T_FLOAT)
#define | RB_OBJ_TAINTED_RAW(x) RB_FL_TEST_RAW(x, RUBY_FL_TAINT)
#define | RB_OBJ_TAINTED(x) (!!RB_FL_TEST((x), RUBY_FL_TAINT))
#define | RB_OBJ_TAINT_RAW(x) RB_FL_SET_RAW(x, RUBY_FL_TAINT)
#define | RB_OBJ_TAINT(x) (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)
#define | RB_OBJ_UNTRUSTED(x) RB_OBJ_TAINTED(x)
#define | RB_OBJ_UNTRUST(x) RB_OBJ_TAINT(x)
#define | RB_OBJ_INFECT_RAW(x, s) RB_FL_SET_RAW(x, RB_OBJ_TAINTED_RAW(s))
#define | RB_OBJ_INFECT(x, s)
#define | RB_OBJ_FROZEN_RAW(x) (RBASIC(x)->flags&RUBY_FL_FREEZE)
#define | RB_OBJ_FROZEN(x) (!RB_FL_ABLE(x) || RB_OBJ_FROZEN_RAW(x))
#define | RB_OBJ_FREEZE_RAW(x) (void)(RBASIC(x)->flags |= RUBY_FL_FREEZE)
#define | RB_OBJ_FREEZE(x) rb_obj_freeze_inline((VALUE)x)
#define | FL_ABLE(x) RB_FL_ABLE(x)
#define | FL_TEST_RAW(x, f) RB_FL_TEST_RAW(x,f)
#define | FL_TEST(x, f) RB_FL_TEST(x,f)
#define | FL_ANY_RAW(x, f) RB_FL_ANY_RAW(x,f)
#define | FL_ANY(x, f) RB_FL_ANY(x,f)
#define | FL_ALL_RAW(x, f) RB_FL_ALL_RAW(x,f)
#define | FL_ALL(x, f) RB_FL_ALL(x,f)
#define | FL_SET_RAW(x, f) RB_FL_SET_RAW(x,f)
#define | FL_SET(x, f) RB_FL_SET(x,f)
#define | FL_UNSET_RAW(x, f) RB_FL_UNSET_RAW(x,f)
#define | FL_UNSET(x, f) RB_FL_UNSET(x,f)
#define | FL_REVERSE_RAW(x, f) RB_FL_REVERSE_RAW(x,f)
#define | FL_REVERSE(x, f) RB_FL_REVERSE(x,f)
#define | OBJ_TAINTABLE(x) RB_OBJ_TAINTABLE(x)
#define | OBJ_TAINTED_RAW(x) RB_OBJ_TAINTED_RAW(x)
#define | OBJ_TAINTED(x) RB_OBJ_TAINTED(x)
#define | OBJ_TAINT_RAW(x) RB_OBJ_TAINT_RAW(x)
#define | OBJ_TAINT(x) RB_OBJ_TAINT(x)
#define | OBJ_UNTRUSTED(x) RB_OBJ_UNTRUSTED(x)
#define | OBJ_UNTRUST(x) RB_OBJ_UNTRUST(x)
#define | OBJ_INFECT_RAW(x, s) RB_OBJ_INFECT_RAW(x,s)
#define | OBJ_INFECT(x, s) RB_OBJ_INFECT(x,s)
#define | OBJ_FROZEN_RAW(x) RB_OBJ_FROZEN_RAW(x)
#define | OBJ_FROZEN(x) RB_OBJ_FROZEN(x)
#define | OBJ_FREEZE_RAW(x) RB_OBJ_FREEZE_RAW(x)
#define | OBJ_FREEZE(x) RB_OBJ_FREEZE(x)
#define | RUBY_UNTYPED_DATA_FUNC(func) DEPRECATED(func)
#define | RB_OBJ_PROMOTED_RAW(x) RB_FL_ALL_RAW(x, RUBY_FL_PROMOTED)
#define | RB_OBJ_PROMOTED(x) (RB_SPECIAL_CONST_P(x) ? 0 : RB_OBJ_PROMOTED_RAW(x))
#define | RB_OBJ_WB_UNPROTECT(x) rb_obj_wb_unprotect(x, __FILE__, __LINE__)
#define | OBJ_PROMOTED_RAW(x) RB_OBJ_PROMOTED_RAW(x)
#define | OBJ_PROMOTED(x) RB_OBJ_PROMOTED(x)
#define | OBJ_WB_UNPROTECT(x) RB_OBJ_WB_UNPROTECT(x)
#define | RB_OBJ_WRITE(a, slot, b) rb_obj_write((VALUE)(a), (VALUE *)(slot), (VALUE)(b), __FILE__, __LINE__)
#define | RB_OBJ_WRITTEN(a, oldv, b) rb_obj_written((VALUE)(a), (VALUE)(oldv), (VALUE)(b), __FILE__, __LINE__)
#define | USE_RGENGC_LOGGING_WB_UNPROTECT 0
#define | RUBY_INTEGER_UNIFICATION 1
#define | RB_INTEGER_TYPE_P(obj) rb_integer_type_p(obj)
#define | RB_INT2NUM(x) rb_int2num_inline(x)
#define | RB_UINT2NUM(x) rb_uint2num_inline(x)
#define | INT2NUM(x) RB_INT2NUM(x)
#define | UINT2NUM(x) RB_UINT2NUM(x)
#define | RB_LONG2NUM(x) rb_long2num_inline(x)
#define | RB_ULONG2NUM(x) rb_ulong2num_inline(x)
#define | RB_NUM2CHR(x) rb_num2char_inline(x)
#define | RB_CHR2FIX(x) RB_INT2FIX((long)((x)&0xff))
#define | LONG2NUM(x) RB_LONG2NUM(x)
#define | ULONG2NUM(x) RB_ULONG2NUM(x)
#define | USHORT2NUM(x) RB_INT2FIX(x)
#define | NUM2CHR(x) RB_NUM2CHR(x)
#define | CHR2FIX(x) RB_CHR2FIX(x)
#define | RB_ST2FIX(h) RB_LONG2FIX((long)(h))
#define | ST2FIX(h) RB_ST2FIX(h)
#define | RB_ALLOC_N(type, n) ((type*)ruby_xmalloc2((size_t)(n),sizeof(type)))
#define | RB_ALLOC(type) ((type*)ruby_xmalloc(sizeof(type)))
#define | RB_ZALLOC_N(type, n) ((type*)ruby_xcalloc((size_t)(n),sizeof(type)))
#define | RB_ZALLOC(type) (RB_ZALLOC_N(type,1))
#define | RB_REALLOC_N(var, type, n) ((var)=(type*)ruby_xrealloc2((char*)(var),(size_t)(n),sizeof(type)))
#define | ALLOC_N(type, n) RB_ALLOC_N(type,n)
#define | ALLOC(type) RB_ALLOC(type)
#define | ZALLOC_N(type, n) RB_ZALLOC_N(type,n)
#define | ZALLOC(type) RB_ZALLOC(type)
#define | REALLOC_N(var, type, n) RB_REALLOC_N(var,type,n)
#define | ALLOCA_N(type, n) ((type*)alloca(sizeof(type)*(n)))
#define | RUBY_ALLOCV_LIMIT 1024
#define | RB_ALLOCV(v, n)
#define | RB_ALLOCV_N(type, v, n)
#define | RB_ALLOCV_END(v) rb_free_tmp_buffer(&(v))
#define | ALLOCV(v, n) RB_ALLOCV(v, n)
#define | ALLOCV_N(type, v, n) RB_ALLOCV_N(type, v, n)
#define | ALLOCV_END(v) RB_ALLOCV_END(v)
#define | MEMZERO(p, type, n) memset((p), 0, sizeof(type)*(size_t)(n))
#define | MEMCPY(p1, p2, type, n) memcpy((p1), (p2), sizeof(type)*(size_t)(n))
#define | MEMMOVE(p1, p2, type, n) memmove((p1), (p2), sizeof(type)*(size_t)(n))
#define | MEMCMP(p1, p2, type, n) memcmp((p1), (p2), sizeof(type)*(size_t)(n))
#define | RUBY_CONST_ID_CACHE(result, str)
#define | RUBY_CONST_ID(var, str) do RUBY_CONST_ID_CACHE((var) =, (str)) while (0)
#define | CONST_ID_CACHE(result, str) RUBY_CONST_ID_CACHE(result, str)
#define | CONST_ID(var, str) RUBY_CONST_ID(var, str)
#define | rb_intern_const(str) rb_intern2((str), (long)strlen(str))
#define | rb_funcall2 rb_funcallv
#define | rb_funcall3 rb_funcallv_public
#define | RB_SCAN_ARGS_PASS_CALLED_KEYWORDS 0
#define | RB_SCAN_ARGS_KEYWORDS 1
#define | RB_SCAN_ARGS_EMPTY_KEYWORDS 2 /* Will be removed in 3.0 */
#define | RB_SCAN_ARGS_LAST_HASH_KEYWORDS 3
#define | HAVE_RB_SCAN_ARGS_OPTIONAL_HASH 1
#define | ruby_verbose (*rb_ruby_verbose_ptr())
#define | ruby_debug (*rb_ruby_debug_ptr())
#define | RB_IO_WAIT_READABLE RB_IO_WAIT_READABLE
#define | RB_IO_WAIT_WRITABLE RB_IO_WAIT_WRITABLE
#define | RB_BLOCK_CALL_FUNC_STRICT 1
#define | RUBY_BLOCK_CALL_FUNC_TAKES_BLOCKARG 1
#define | RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg) VALUE yielded_arg, VALUE callback_arg, int argc, const VALUE *argv, VALUE blockarg
#define | RB_NO_KEYWORDS 0
#define | RB_PASS_KEYWORDS 1
#define | RB_PASS_EMPTY_KEYWORDS 2 /* Will be removed in 3.0 */
#define | RB_PASS_CALLED_KEYWORDS 3
#define | rb_type_p(obj, type) (rb_type(obj) == (type))
#define | FIX_CONST_VALUE_PTR(x) (x)
#define | RUBY_VM 1 /* YARV */
#define | HAVE_NATIVETHREAD
#define | RUBY_EVENT_NONE 0x0000
#define | RUBY_EVENT_LINE 0x0001
#define | RUBY_EVENT_CLASS 0x0002
#define | RUBY_EVENT_END 0x0004
#define | RUBY_EVENT_CALL 0x0008
#define | RUBY_EVENT_RETURN 0x0010
#define | RUBY_EVENT_C_CALL 0x0020
#define | RUBY_EVENT_C_RETURN 0x0040
#define | RUBY_EVENT_RAISE 0x0080
#define | RUBY_EVENT_ALL 0x00ff
#define | RUBY_EVENT_B_CALL 0x0100
#define | RUBY_EVENT_B_RETURN 0x0200
#define | RUBY_EVENT_THREAD_BEGIN 0x0400
#define | RUBY_EVENT_THREAD_END 0x0800
#define | RUBY_EVENT_FIBER_SWITCH 0x1000
#define | RUBY_EVENT_SCRIPT_COMPILED 0x2000
#define | RUBY_EVENT_TRACEPOINT_ALL 0xffff
#define | RUBY_EVENT_RESERVED_FOR_INTERNAL_USE 0x030000
#define | RUBY_INTERNAL_EVENT_SWITCH 0x040000
#define | RUBY_EVENT_SWITCH 0x040000 /* obsolete name. this macro is for compatibility */
#define | RUBY_INTERNAL_EVENT_NEWOBJ 0x100000
#define | RUBY_INTERNAL_EVENT_FREEOBJ 0x200000
#define | RUBY_INTERNAL_EVENT_GC_START 0x400000
#define | RUBY_INTERNAL_EVENT_GC_END_MARK 0x800000
#define | RUBY_INTERNAL_EVENT_GC_END_SWEEP 0x1000000
#define | RUBY_INTERNAL_EVENT_GC_ENTER 0x2000000
#define | RUBY_INTERNAL_EVENT_GC_EXIT 0x4000000
#define | RUBY_INTERNAL_EVENT_OBJSPACE_MASK 0x7f00000
#define | RUBY_INTERNAL_EVENT_MASK 0xffff0000
#define | RB_EVENT_HOOKS_HAVE_CALLBACK_DATA 1
#define | ISASCII(c) rb_isascii(c)
#define | ISPRINT(c) rb_isprint(c)
#define | ISGRAPH(c) rb_isgraph(c)
#define | ISSPACE(c) rb_isspace(c)
#define | ISUPPER(c) rb_isupper(c)
#define | ISLOWER(c) rb_islower(c)
#define | ISALNUM(c) rb_isalnum(c)
#define | ISALPHA(c) rb_isalpha(c)
#define | ISDIGIT(c) rb_isdigit(c)
#define | ISXDIGIT(c) rb_isxdigit(c)
#define | ISBLANK(c) rb_isblank(c)
#define | ISCNTRL(c) rb_iscntrl(c)
#define | ISPUNCT(c) rb_ispunct(c)
#define | TOUPPER(c) rb_toupper(c)
#define | TOLOWER(c) rb_tolower(c)
#define | STRCASECMP(s1, s2) (st_locale_insensitive_strcasecmp((s1), (s2)))
#define | STRNCASECMP(s1, s2, n) (st_locale_insensitive_strncasecmp((s1), (s2), (n)))
#define | STRTOUL(str, endptr, base) (ruby_strtoul((str), (endptr), (base)))
#define | InitVM(ext) {void InitVM_##ext(void);InitVM_##ext();}
#define | RUBY_INIT_STACK
| A convenience macro to call ruby_init_stack(). More...
#define | RUBY_METHOD_FUNC(func) ((VALUE (*)(ANYARGS))(func))

## Typedefs
typedef unsigned long | VALUE
typedef unsigned long | ID
typedef char | ruby_check_sizeof_int[SIZEOF_INT==sizeof(int) ? 1 :-1]
typedef char | ruby_check_sizeof_long[SIZEOF_LONG==sizeof(long) ? 1 :-1]
typedef char | ruby_check_sizeof_voidp[SIZEOF_VOIDP==sizeof(void *) ? 1 :-1]
typedef struct rb_data_type_struct | rb_data_type_t
typedef void(* | RUBY_DATA_FUNC) (void *)
typedef int | ruby_glob_func(const char *, VALUE, void *)
typedef VALUE | rb_gvar_getter_t(ID id, VALUE *data)
typedef void | rb_gvar_setter_t(VALUE val, ID id, VALUE *data)
typedef void | rb_gvar_marker_t(VALUE *var)
typedef VALUE | rb_block_call_func(RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg))
typedef rb_block_call_func * | rb_block_call_func_t
typedef uint32_t | rb_event_flag_t
typedef void(* | rb_event_hook_func_t) (rb_event_flag_t evflag, VALUE data, VALUE self, ID mid, VALUE klass)

## Enumerations
enum | ruby_special_consts { RUBY_Qfalse = 0x00, RUBY_Qtrue = 0x14, RUBY_Qnil = 0x08, RUBY_Qundef = 0x34, RUBY_IMMEDIATE_MASK = 0x07, RUBY_FIXNUM_FLAG = 0x01, RUBY_FLONUM_MASK = 0x03, RUBY_FLONUM_FLAG = 0x02, RUBY_SYMBOL_FLAG = 0x0c, RUBY_SPECIAL_SHIFT = 8, RUBY_Qfalse = 0x00, RUBY_Qtrue = 0x14, RUBY_Qnil = 0x08, RUBY_Qundef = 0x34, RUBY_IMMEDIATE_MASK = 0x07, RUBY_FIXNUM_FLAG = 0x01, RUBY_FLONUM_MASK = 0x03, RUBY_FLONUM_FLAG = 0x02, RUBY_SYMBOL_FLAG = 0x0c, RUBY_SPECIAL_SHIFT = 8 }
enum | ruby_value_type { RUBY_T_NONE = 0x00, RUBY_T_OBJECT = 0x01, RUBY_T_CLASS = 0x02, RUBY_T_MODULE = 0x03, RUBY_T_FLOAT = 0x04, RUBY_T_STRING = 0x05, RUBY_T_REGEXP = 0x06, RUBY_T_ARRAY = 0x07, RUBY_T_HASH = 0x08, RUBY_T_STRUCT = 0x09, RUBY_T_BIGNUM = 0x0a, RUBY_T_FILE = 0x0b, RUBY_T_DATA = 0x0c, RUBY_T_MATCH = 0x0d, RUBY_T_COMPLEX = 0x0e, RUBY_T_RATIONAL = 0x0f, RUBY_T_NIL = 0x11, RUBY_T_TRUE = 0x12, RUBY_T_FALSE = 0x13, RUBY_T_SYMBOL = 0x14, RUBY_T_FIXNUM = 0x15, RUBY_T_UNDEF = 0x16, RUBY_T_IMEMO = 0x1a, RUBY_T_NODE = 0x1b, RUBY_T_ICLASS = 0x1c, RUBY_T_ZOMBIE = 0x1d, RUBY_T_MOVED = 0x1e, RUBY_T_MASK = 0x1f, RUBY_T_NONE = 0x00, RUBY_T_OBJECT = 0x01, RUBY_T_CLASS = 0x02, RUBY_T_MODULE = 0x03, RUBY_T_FLOAT = 0x04, RUBY_T_STRING = 0x05, RUBY_T_REGEXP = 0x06, RUBY_T_ARRAY = 0x07, RUBY_T_HASH = 0x08, RUBY_T_STRUCT = 0x09, RUBY_T_BIGNUM = 0x0a, RUBY_T_FILE = 0x0b, RUBY_T_DATA = 0x0c, RUBY_T_MATCH = 0x0d, RUBY_T_COMPLEX = 0x0e, RUBY_T_RATIONAL = 0x0f, RUBY_T_NIL = 0x11, RUBY_T_TRUE = 0x12, RUBY_T_FALSE = 0x13, RUBY_T_SYMBOL = 0x14, RUBY_T_FIXNUM = 0x15, RUBY_T_UNDEF = 0x16, RUBY_T_IMEMO = 0x1a, RUBY_T_NODE = 0x1b, RUBY_T_ICLASS = 0x1c, RUBY_T_ZOMBIE = 0x1d, RUBY_T_MOVED = 0x1e, RUBY_T_MASK = 0x1f }
enum | ruby_fl_type { RUBY_FL_WB_PROTECTED = (1<<5), RUBY_FL_PROMOTED0 = (1<<5), RUBY_FL_PROMOTED1 = (1<<6), RUBY_FL_PROMOTED = RUBY_FL_PROMOTED0|RUBY_FL_PROMOTED1, RUBY_FL_FINALIZE = (1<<7), RUBY_FL_TAINT = (1<<8), RUBY_FL_UNTRUSTED = RUBY_FL_TAINT, RUBY_FL_SEEN_OBJ_ID = (1<<9), RUBY_FL_EXIVAR = (1<<10), RUBY_FL_FREEZE = (1<<11), RUBY_FL_USHIFT = 12, RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_FL_USER_N =(0), RUBY_ELTS_SHARED = RUBY_FL_USER2, RUBY_FL_DUPPED = (RUBY_T_MASK|RUBY_FL_EXIVAR|RUBY_FL_TAINT), RUBY_FL_SINGLETON = RUBY_FL_USER0 }
enum | ruby_rvalue_flags { RVALUE_EMBED_LEN_MAX = 3 }
enum | ruby_robject_flags { ROBJECT_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX, ROBJECT_EMBED = RUBY_FL_USER1, ROBJECT_ENUM_END }
enum | ruby_rmodule_flags { RMODULE_IS_OVERLAID = RUBY_FL_USER2, RMODULE_IS_REFINEMENT = RUBY_FL_USER3, RMODULE_INCLUDED_INTO_REFINEMENT = RUBY_FL_USER4, RMODULE_ENUM_END }
enum | ruby_rstring_flags { RSTRING_NOEMBED = RUBY_FL_USER1, RSTRING_EMBED_LEN_MASK, RSTRING_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+2), RSTRING_EMBED_LEN_MAX = (int)((sizeof(VALUE)*RVALUE_EMBED_LEN_MAX)/sizeof(char)-1), RSTRING_FSTR = RUBY_FL_USER17, RSTRING_ENUM_END }
enum | ruby_rarray_flags { RARRAY_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX, RARRAY_EMBED_FLAG = RUBY_FL_USER1, RARRAY_EMBED_LEN_MASK = (RUBY_FL_USER4|RUBY_FL_USER3), RARRAY_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+3), RARRAY_TRANSIENT_FLAG = RUBY_FL_USER13, RARRAY_TRANSIENT_FLAG = RUBY_FL_USER13, RARRAY_ENUM_END }
enum | rb_io_wait_readwrite { RB_IO_WAIT_READABLE, RB_IO_WAIT_WRITABLE, RB_IO_WAIT_READABLE, RB_IO_WAIT_WRITABLE }

## Functions
RUBY_SYMBOL_EXPORT_BEGIN void * | alloca ()
VALUE | rb_int2inum (intptr_t)
VALUE | rb_uint2inum (uintptr_t)
ID | rb_sym2id (VALUE)
VALUE | rb_id2sym (ID)
volatile VALUE * | rb_gc_guarded_ptr_val (volatile VALUE *ptr, VALUE val)
void | rb_check_type (VALUE, int)
VALUE | rb_str_to_str (VALUE)
VALUE | rb_string_value (volatile VALUE *)
char * | rb_string_value_ptr (volatile VALUE *)
char * | rb_string_value_cstr (volatile VALUE *)
void | rb_check_safe_obj (VALUE)
VALUE | rb_str_export (VALUE)
VALUE | rb_str_export_locale (VALUE)
VALUE | rb_get_path (VALUE)
VALUE | rb_get_path_no_checksafe (VALUE)
void | rb_secure (int)
int | rb_safe_level (void)
void | rb_set_safe_level (int)
void | rb_set_safe_level_force (int)
void | rb_secure_update (VALUE)
| NORETURN (void rb_insecure_operation(void))
VALUE | rb_errinfo (void)
| The current exception in the current thread. More...
void | rb_set_errinfo (VALUE)
| Sets the current exception (`$!`) to the given value. More...
long | rb_num2long (VALUE)
unsigned long | rb_num2ulong (VALUE)
short | rb_num2short (VALUE)
unsigned short | rb_num2ushort (VALUE)
short | rb_fix2short (VALUE)
unsigned short | rb_fix2ushort (VALUE)
double | rb_num2dbl (VALUE)
| Converts a `Numeric` object to `double`. More...
VALUE | rb_uint2big (uintptr_t)
VALUE | rb_int2big (intptr_t)
VALUE | rb_newobj (void)
VALUE | rb_newobj_of (VALUE, VALUE)
VALUE | rb_obj_setup (VALUE obj, VALUE klass, VALUE type)
| Fills common (`RBasic`) fields in obj. More...
struct | RUBY_ALIGNAS (SIZEOF_VALUE) RBasic
VALUE | rb_obj_hide (VALUE obj)
| Make the object invisible from Ruby code. More...
VALUE | rb_obj_reveal (VALUE obj, VALUE klass)
| Make a hidden object visible again. More...
| PUREFUNC (double rb_float_value(VALUE))
VALUE | rb_float_new (double)
VALUE | rb_float_new_in_heap (double)
size_t | rb_hash_size_num (VALUE hash)
VALUE | rb_data_object_wrap (VALUE, void *, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
VALUE | rb_data_object_zalloc (VALUE, size_t, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
VALUE | rb_data_typed_object_wrap (VALUE klass, void *datap, const rb_data_type_t *)
VALUE | rb_data_typed_object_zalloc (VALUE klass, size_t size, const rb_data_type_t *type)
int | rb_typeddata_inherited_p (const rb_data_type_t *child, const rb_data_type_t *parent)
int | rb_typeddata_is_kind_of (VALUE, const rb_data_type_t *)
void * | rb_check_typeddata (VALUE, const rb_data_type_t *)
int | rb_big_sign (VALUE)
void | rb_freeze_singleton_class (VALUE klass)
| DEPRECATED_BY (rb_data_object_wrap, static inline VALUE rb_data_object_alloc(VALUE, void *, RUBY_DATA_FUNC, RUBY_DATA_FUNC))
| DEPRECATED_BY (rb_data_typed_object_wrap, static inline VALUE rb_data_typed_object_alloc(VALUE, void *, const rb_data_type_t *))
void | rb_gc_writebarrier (VALUE a, VALUE b)
void | rb_gc_writebarrier_unprotect (VALUE obj)
void * | rb_alloc_tmp_buffer (volatile VALUE *store, long len) RUBY_ATTR_ALLOC_SIZE((2))
void * | rb_alloc_tmp_buffer_with_count (volatile VALUE *store, size_t len, size_t count) RUBY_ATTR_ALLOC_SIZE((2
void void | rb_free_tmp_buffer (volatile VALUE *store)
| NORETURN (void ruby_malloc_size_overflow(size_t, size_t))
void | rb_obj_infect (VALUE victim, VALUE carrier)
| Does nothing. More...
void | rb_glob (const char *, void(*)(const char *, VALUE, void *), VALUE)
int | ruby_glob (const char *, int, ruby_glob_func *, VALUE)
int | ruby_brace_glob (const char *, int, ruby_glob_func *, VALUE)
VALUE | rb_define_class (const char *, VALUE)
| Defines a top-level class. More...
VALUE | rb_define_module (const char *)
VALUE | rb_define_class_under (VALUE, const char *, VALUE)
| Defines a class under the namespace of outer. More...
VALUE | rb_define_module_under (VALUE, const char *)
void | rb_include_module (VALUE, VALUE)
void | rb_extend_object (VALUE, VALUE)
| Extend the object with the module. More...
void | rb_prepend_module (VALUE, VALUE)
| NORETURN (rb_gvar_setter_t rb_gvar_readonly_setter)
void | rb_define_variable (const char *, VALUE *)
void | rb_define_virtual_variable (const char *, rb_gvar_getter_t *, rb_gvar_setter_t *)
| Define a function-backended global variable. More...
void | rb_define_hooked_variable (const char *, VALUE *, rb_gvar_getter_t *, rb_gvar_setter_t *)
| Define a function-backended global variable. More...
void | rb_define_readonly_variable (const char *, const VALUE *)
void | rb_define_const (VALUE, const char *, VALUE)
void | rb_define_global_const (const char *, VALUE)
void | rb_define_method (VALUE, const char *, VALUE(*)(ANYARGS), int)
void | rb_define_module_function (VALUE, const char *, VALUE(*)(ANYARGS), int)
| Defines a module function for module. More...
void | rb_define_global_function (const char *, VALUE(*)(ANYARGS), int)
| Defines a global function. More...
void | rb_undef_method (VALUE, const char *)
void | rb_define_alias (VALUE, const char *, const char *)
| Defines an alias of a method. More...
void | rb_define_attr (VALUE, const char *, int, int)
| Defines (a) public accessor method(s) for an attribute. More...
void | rb_global_variable (VALUE *)
void | rb_gc_register_mark_object (VALUE)
void | rb_gc_register_address (VALUE *)
void | rb_gc_unregister_address (VALUE *)
ID | rb_intern (const char *)
ID | rb_intern2 (const char *, long)
ID | rb_intern_str (VALUE str)
const char * | rb_id2name (ID)
ID | rb_check_id (volatile VALUE *)
| Returns ID for the given name if it is interned already, or 0. More...
ID | rb_to_id (VALUE)
VALUE | rb_id2str (ID)
VALUE | rb_sym2str (VALUE)
VALUE | rb_to_symbol (VALUE name)
VALUE | rb_check_symbol (volatile VALUE *namep)
const char * | rb_class2name (VALUE)
const char * | rb_obj_classname (VALUE)
void | rb_p (VALUE)
VALUE | rb_eval_string (const char *)
| Evaluates the given string in an isolated binding. More...
VALUE | rb_eval_string_protect (const char *, int *)
| Evaluates the given string in an isolated binding. More...
VALUE | rb_eval_string_wrap (const char *, int *)
| Evaluates the given string under a module binding in an isolated binding. More...
VALUE | rb_funcall (VALUE, ID, int,...)
| Calls a method. More...
VALUE | rb_funcallv (VALUE, ID, int, const VALUE *)
| Calls a method. More...
VALUE | rb_funcallv_kw (VALUE, ID, int, const VALUE *, int)
VALUE | rb_funcallv_public (VALUE, ID, int, const VALUE *)
| Calls a method. More...
VALUE | rb_funcallv_public_kw (VALUE, ID, int, const VALUE *, int)
VALUE | rb_funcall_passing_block (VALUE, ID, int, const VALUE *)
VALUE | rb_funcall_passing_block_kw (VALUE, ID, int, const VALUE *, int)
VALUE | rb_funcall_with_block (VALUE, ID, int, const VALUE *, VALUE)
VALUE | rb_funcall_with_block_kw (VALUE, ID, int, const VALUE *, VALUE, int)
int | rb_scan_args (int, const VALUE *, const char *,...)
int | rb_scan_args_kw (int, int, const VALUE *, const char *,...)
VALUE | rb_call_super (int, const VALUE *)
VALUE | rb_call_super_kw (int, const VALUE *, int)
VALUE | rb_current_receiver (void)
int | rb_get_kwargs (VALUE keyword_hash, const ID *table, int required, int optional, VALUE *)
VALUE | rb_extract_keywords (VALUE *orighash)
VALUE | rb_gv_set (const char *, VALUE)
VALUE | rb_gv_get (const char *)
VALUE | rb_iv_get (VALUE, const char *)
VALUE | rb_iv_set (VALUE, const char *, VALUE)
VALUE | rb_equal (VALUE, VALUE)
| Same as `Object#===`, case equality. More...
VALUE * | rb_ruby_verbose_ptr (void)
VALUE * | rb_ruby_debug_ptr (void)
| PRINTF_ARGS (NORETURN(void rb_raise(VALUE, const char *,...)), 2, 3)
| PRINTF_ARGS (NORETURN(void rb_fatal(const char *,...)), 1, 2)
COLDFUNC | PRINTF_ARGS (NORETURN(void rb_bug(const char *,...)), 1, 2)
| NORETURN (void rb_bug_errno(const char *, int))
| NORETURN (void rb_sys_fail(const char *))
| NORETURN (void rb_sys_fail_str(VALUE))
| NORETURN (void rb_mod_sys_fail(VALUE, const char *))
| NORETURN (void rb_mod_sys_fail_str(VALUE, VALUE))
| NORETURN (void rb_readwrite_sys_fail(enum rb_io_wait_readwrite, const char *))
| NORETURN (void rb_exit(int))
VALUE | rb_syserr_new (int, const char *)
VALUE | rb_syserr_new_str (int n, VALUE arg)
| NORETURN (void rb_syserr_fail(int, const char *))
| NORETURN (void rb_syserr_fail_str(int, VALUE))
| NORETURN (void rb_mod_syserr_fail(VALUE, int, const char *))
| NORETURN (void rb_mod_syserr_fail_str(VALUE, int, VALUE))
| NORETURN (void rb_readwrite_syserr_fail(enum rb_io_wait_readwrite, int, const char *))
| PRINTF_ARGS (void rb_warning(const char *,...), 1, 2)
| PRINTF_ARGS (void rb_compile_warning(const char *, int, const char *,...), 3, 4)
VALUE | rb_each (VALUE)
VALUE | rb_yield (VALUE)
VALUE | rb_yield_values (int n,...)
VALUE | rb_yield_values2 (int n, const VALUE *argv)
VALUE | rb_yield_values_kw (int n, const VALUE *argv, int kw_splat)
VALUE | rb_yield_splat (VALUE)
VALUE | rb_yield_splat_kw (VALUE, int)
VALUE | rb_yield_block (RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg))
int | rb_keyword_given_p (void)
int | rb_block_given_p (void)
| Determines if the current method is given a block. More...
void | rb_need_block (void)
| Declares that the current method needs a block. More...
VALUE | rb_iterate (VALUE(*)(VALUE), VALUE, rb_block_call_func_t, VALUE)
VALUE | rb_block_call (VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE)
VALUE | rb_block_call_kw (VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE, int)
VALUE | rb_rescue (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE)
| An equivalent of `rescue` clause. More...
VALUE | rb_rescue2 (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE,...)
| An equivalent of `rescue` clause. More...
VALUE | rb_vrescue2 (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE, VALUE), VALUE, va_list)
| An equivalent of `rescue` clause. More...
VALUE | rb_ensure (VALUE(*)(VALUE), VALUE, VALUE(*)(VALUE), VALUE)
| An equivalent to `ensure` clause. More...
VALUE | rb_catch (const char *, rb_block_call_func_t, VALUE)
VALUE | rb_catch_obj (VALUE, rb_block_call_func_t, VALUE)
| NORETURN (void rb_throw(const char *, VALUE))
VALUE | rb_require (const char *)
int | ruby_native_thread_p (void)
void | rb_add_event_hook (rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
int | rb_remove_event_hook (rb_event_hook_func_t func)
int | st_locale_insensitive_strcasecmp (const char *s1, const char *s2)
int | st_locale_insensitive_strncasecmp (const char *s1, const char *s2, size_t n)
unsigned long | ruby_strtoul (const char *str, char **endptr, int base)
| PRINTF_ARGS (int ruby_snprintf(char *str, size_t n, char const *fmt,...), 3, 4)
int | ruby_vsnprintf (char *str, size_t n, char const *fmt, va_list ap)
int | rb_empty_keyword_given_p (void)
void | ruby_sysinit (int *argc, char ***argv)
| Initializes the process for libruby. More...
void | ruby_init (void)
| Calls ruby_setup() and check error. More...
void * | ruby_options (int argc, char **argv)
| Processes command line arguments and compiles the Ruby source to execute. More...
int | ruby_executable_node (void *n, int *status)
| Checks the return value of ruby_options(). More...
int | ruby_run_node (void *n)
| Runs the given compiled source and exits this process. More...
void | ruby_show_version (void)
| Prints the version information of the CRuby interpreter to stdout. More...
void | ruby_show_copyright (void)
| Prints the copyright notice of the CRuby interpreter to stdout. More...
void | ruby_init_stack (volatile VALUE *)
int | ruby_setup (void)
| Initializes the VM and builtin libraries. More...
int | ruby_cleanup (volatile int)
| Destructs the VM. More...
void | ruby_finalize (void)
| Runs the VM finalization processes. More...
void | ruby_set_stack_size (size_t)
int | ruby_stack_check (void)
size_t | ruby_stack_length (VALUE **)
int | ruby_exec_node (void *n)
| Runs the given compiled source. More...
void | ruby_script (const char *name)
| Sets the current script name to this value. More...
void | ruby_set_script_name (VALUE name)
| Sets the current script name to this value. More...
void | ruby_prog_init (void)
| Defines built-in variables. More...
void | ruby_set_argv (int, char **)
void * | ruby_process_options (int, char **)
void | ruby_init_loadpath (void)
void | ruby_incpush (const char *)
void | ruby_sig_finalize (void)

## Variables
rb_gvar_getter_t | rb_gvar_undef_getter
rb_gvar_setter_t | rb_gvar_undef_setter
rb_gvar_marker_t | rb_gvar_undef_marker
rb_gvar_getter_t | rb_gvar_val_getter
rb_gvar_setter_t | rb_gvar_val_setter
rb_gvar_marker_t | rb_gvar_val_marker
rb_gvar_getter_t | rb_gvar_var_getter
rb_gvar_setter_t | rb_gvar_var_setter
rb_gvar_marker_t | rb_gvar_var_marker
RUBY_EXTERN VALUE | rb_mKernel
RUBY_EXTERN VALUE | rb_mComparable
RUBY_EXTERN VALUE | rb_mEnumerable
RUBY_EXTERN VALUE | rb_mErrno
RUBY_EXTERN VALUE | rb_mFileTest
RUBY_EXTERN VALUE | rb_mGC
RUBY_EXTERN VALUE | rb_mMath
RUBY_EXTERN VALUE | rb_mProcess
RUBY_EXTERN VALUE | rb_mWaitReadable
RUBY_EXTERN VALUE | rb_mWaitWritable
RUBY_EXTERN VALUE | rb_cBasicObject
RUBY_EXTERN VALUE | rb_cObject
RUBY_EXTERN VALUE | rb_cArray
RUBY_EXTERN VALUE | rb_cBinding
RUBY_EXTERN VALUE | rb_cClass
RUBY_EXTERN VALUE | rb_cCont
RUBY_EXTERN VALUE | rb_cData
RUBY_EXTERN VALUE | rb_cDir
RUBY_EXTERN VALUE | rb_cEncoding
RUBY_EXTERN VALUE | rb_cEnumerator
RUBY_EXTERN VALUE | rb_cFalseClass
RUBY_EXTERN VALUE | rb_cFile
RUBY_EXTERN VALUE | rb_cComplex
RUBY_EXTERN VALUE | rb_cFloat
RUBY_EXTERN VALUE | rb_cHash
RUBY_EXTERN VALUE | rb_cIO
RUBY_EXTERN VALUE | rb_cInteger
RUBY_EXTERN VALUE | rb_cMatch
RUBY_EXTERN VALUE | rb_cMethod
RUBY_EXTERN VALUE | rb_cModule
RUBY_EXTERN VALUE | rb_cNameErrorMesg
RUBY_EXTERN VALUE | rb_cNilClass
RUBY_EXTERN VALUE | rb_cNumeric
RUBY_EXTERN VALUE | rb_cProc
RUBY_EXTERN VALUE | rb_cRandom
RUBY_EXTERN VALUE | rb_cRange
RUBY_EXTERN VALUE | rb_cRational
RUBY_EXTERN VALUE | rb_cRegexp
RUBY_EXTERN VALUE | rb_cStat
RUBY_EXTERN VALUE | rb_cString
RUBY_EXTERN VALUE | rb_cStruct
RUBY_EXTERN VALUE | rb_cSymbol
RUBY_EXTERN VALUE | rb_cThread
RUBY_EXTERN VALUE | rb_cTime
RUBY_EXTERN VALUE | rb_cTrueClass
RUBY_EXTERN VALUE | rb_cUnboundMethod
RUBY_EXTERN VALUE | rb_eException
RUBY_EXTERN VALUE | rb_eStandardError
RUBY_EXTERN VALUE | rb_eSystemExit
RUBY_EXTERN VALUE | rb_eInterrupt
RUBY_EXTERN VALUE | rb_eSignal
RUBY_EXTERN VALUE | rb_eFatal
RUBY_EXTERN VALUE | rb_eArgError
RUBY_EXTERN VALUE | rb_eEOFError
RUBY_EXTERN VALUE | rb_eIndexError
RUBY_EXTERN VALUE | rb_eStopIteration
RUBY_EXTERN VALUE | rb_eKeyError
RUBY_EXTERN VALUE | rb_eRangeError
RUBY_EXTERN VALUE | rb_eIOError
RUBY_EXTERN VALUE | rb_eRuntimeError
RUBY_EXTERN VALUE | rb_eFrozenError
RUBY_EXTERN VALUE | rb_eSecurityError
RUBY_EXTERN VALUE | rb_eSystemCallError
RUBY_EXTERN VALUE | rb_eThreadError
RUBY_EXTERN VALUE | rb_eTypeError
RUBY_EXTERN VALUE | rb_eZeroDivError
RUBY_EXTERN VALUE | rb_eNotImpError
RUBY_EXTERN VALUE | rb_eNoMemError
RUBY_EXTERN VALUE | rb_eNoMethodError
RUBY_EXTERN VALUE | rb_eFloatDomainError
RUBY_EXTERN VALUE | rb_eLocalJumpError
RUBY_EXTERN VALUE | rb_eSysStackError
RUBY_EXTERN VALUE | rb_eRegexpError
RUBY_EXTERN VALUE | rb_eEncodingError
RUBY_EXTERN VALUE | rb_eEncCompatError
RUBY_EXTERN VALUE | rb_eNoMatchingPatternError
RUBY_EXTERN VALUE | rb_eScriptError
RUBY_EXTERN VALUE | rb_eNameError
RUBY_EXTERN VALUE | rb_eSyntaxError
RUBY_EXTERN VALUE | rb_eLoadError
RUBY_EXTERN VALUE | rb_eMathDomainError
RUBY_EXTERN VALUE | rb_stdin
RUBY_EXTERN VALUE | rb_stdout
RUBY_EXTERN VALUE | rb_stderr

## Macro Definition Documentation

## ◆ ASSUME

#define ASSUME | ( |  | x | ) | ((void)(x))

Definition at line 52 of file ruby.h.

## ◆ BUILTIN_TYPE

#define BUILTIN_TYPE | ( |  | x | ) | RB_BUILTIN_TYPE(x)

Definition at line 551 of file ruby.h.

## ◆ CHAR_BIT

#define CHAR_BIT 8

Definition at line 227 of file ruby.h.

## ◆ Check_SafeStr

#define Check_SafeStr | ( |  | v | ) | [<"Check_SafeStr() is obsolete; use StringValue() instead">]

Definition at line 613 of file ruby.h.

## ◆ Check_Type

#define Check_Type | ( |  | v,
|  |  | t
| ) |  | rb_check_type((VALUE)(v),(t))

Definition at line 595 of file ruby.h.

## ◆ Check_TypedStruct

#define Check_TypedStruct | ( |  | v,
|  |  | t
| ) |  | rb_check_typeddata((VALUE)(v),(t))

Definition at line 1200 of file ruby.h.

## ◆ CLASS_OF

#define CLASS_OF | ( |  | v | ) | rb_class_of((VALUE)(v))

Definition at line 484 of file ruby.h.

## ◆ CLONESETUP

#define CLONESETUP | ( |  | clone,
|  |  | obj
| ) |  | rb_clone_setup(clone,obj)

Definition at line 787 of file ruby.h.

## ◆ Data_Get_Struct

#define Data_Get_Struct | ( |  | obj,
|  |  | type,
|  |  | sval
| ) |  | ((sval) = (type*)rb_data_object_get(obj))

Definition at line 1249 of file ruby.h.

## ◆ Data_Make_Struct

#define Data_Make_Struct | ( |  | klass,
|  |  | type,
|  |  | mark,
|  |  | free,
|  |  | sval
| ) |  |

Value:
(\
rb_data_object_make((klass),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free),(void **)&(sval),sizeof(type)) \
)

Definition at line 1226 of file ruby.h.

## ◆ Data_Make_Struct0

#define Data_Make_Struct0 | ( |  | result,
|  |  | klass,
|  |  | type,
|  |  | size,
|  |  | mark,
|  |  | free,
|  |  | sval
| ) |  |

Value:
VALUE result = rb_data_object_zalloc((klass), (size), \
(RUBY_DATA_FUNC)(mark), \
(RUBY_DATA_FUNC)(free)); \
(void)((sval) = (type *)DATA_PTR(result));

Definition at line 1214 of file ruby.h.

## ◆ DATA_PTR

#define DATA_PTR | ( |  | dta | ) | (RDATA(dta)->data)

Definition at line 1175 of file ruby.h.

## ◆ Data_Wrap_Struct

#define Data_Wrap_Struct | ( |  | klass,
|  |  | mark,
|  |  | free,
|  |  | sval
| ) |  | rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))

Definition at line 1211 of file ruby.h.

## ◆ DBL2NUM

#define DBL2NUM | ( |  | dbl | ) | rb_float_new(dbl)

Definition at line 967 of file ruby.h.

## ◆ DUPSETUP

#define DUPSETUP | ( |  | dup,
|  |  | obj
| ) |  | rb_dup_setup(dup,obj)

Definition at line 788 of file ruby.h.

## ◆ DYNAMIC_SYM_P

#define DYNAMIC_SYM_P | ( |  | x | ) | RB_DYNAMIC_SYM_P(x)

Definition at line 412 of file ruby.h.

## ◆ ELTS_SHARED

#define ELTS_SHARED RUBY_ELTS_SHARED

Definition at line 970 of file ruby.h.

## ◆ ExportStringValue

#define ExportStringValue | ( |  | v | ) |

Value:
do {\
StringValue(v);\
(v) = rb_str_export(v);\
} while (0)

Definition at line 617 of file ruby.h.

## ◆ FilePathStringValue

#define FilePathStringValue | ( |  | v | ) | ((v) = rb_get_path(v))

Definition at line 627 of file ruby.h.

## ◆ FilePathValue

#define FilePathValue | ( |  | v | ) | (RB_GC_GUARD(v) = rb_get_path(v))

Definition at line 624 of file ruby.h.

## ◆ FIX2INT

#define FIX2INT | ( |  | x | ) | RB_FIX2INT(x)

Definition at line 717 of file ruby.h.

## ◆ FIX2LONG

#define FIX2LONG | ( |  | x | ) | RB_FIX2LONG(x)

Definition at line 394 of file ruby.h.

## ◆ FIX2SHORT

#define FIX2SHORT | ( |  | x | ) | RB_FIX2SHORT(x)

Definition at line 725 of file ruby.h.

## ◆ FIX2UINT

#define FIX2UINT | ( |  | x | ) | RB_FIX2UINT(x)

Definition at line 718 of file ruby.h.

## ◆ FIX2ULONG

#define FIX2ULONG | ( |  | x | ) | RB_FIX2ULONG(x)

Definition at line 395 of file ruby.h.

## ◆ FIXABLE

#define FIXABLE | ( |  | f | ) | RB_FIXABLE(f)

Definition at line 399 of file ruby.h.

## ◆ FIXNUM_FLAG

#define FIXNUM_FLAG RUBY_FIXNUM_FLAG

Definition at line 472 of file ruby.h.

## ◆ FIXNUM_MAX

#define FIXNUM_MAX RUBY_FIXNUM_MAX

Definition at line 259 of file ruby.h.

## ◆ FIXNUM_MIN

#define FIXNUM_MIN RUBY_FIXNUM_MIN

Definition at line 260 of file ruby.h.

## ◆ FIXNUM_P

#define FIXNUM_P | ( |  | f | ) | RB_FIXNUM_P(f)

Definition at line 396 of file ruby.h.

## ◆ FL_EXIVAR

#define FL_EXIVAR ((VALUE)RUBY_FL_EXIVAR)

Definition at line 1286 of file ruby.h.

## ◆ FL_FINALIZE

#define FL_FINALIZE ((VALUE)RUBY_FL_FINALIZE)

Definition at line 1282 of file ruby.h.

## ◆ FL_FREEZE

#define FL_FREEZE ((VALUE)RUBY_FL_FREEZE)

Definition at line 1287 of file ruby.h.

## ◆ FL_PROMOTED0

#define FL_PROMOTED0 ((VALUE)RUBY_FL_PROMOTED0)

Definition at line 1280 of file ruby.h.

## ◆ FL_PROMOTED1

#define FL_PROMOTED1 ((VALUE)RUBY_FL_PROMOTED1)

Definition at line 1281 of file ruby.h.

## ◆ FL_SEEN_OBJ_ID

#define FL_SEEN_OBJ_ID ((VALUE)RUBY_FL_SEEN_OBJ_ID)

Definition at line 1285 of file ruby.h.

## ◆ FL_SINGLETON

#define FL_SINGLETON ((VALUE)RUBY_FL_SINGLETON)

Definition at line 1278 of file ruby.h.

## ◆ FL_TAINT

#define FL_TAINT ((VALUE)RUBY_FL_TAINT)

Definition at line 1283 of file ruby.h.

## ◆ FL_UNTRUSTED

#define FL_UNTRUSTED ((VALUE)RUBY_FL_UNTRUSTED)

Definition at line 1284 of file ruby.h.

## ◆ FL_USER0

#define FL_USER0 ((VALUE)RUBY_FL_USER0)

Definition at line 1291 of file ruby.h.

## ◆ FL_USER1

#define FL_USER1 ((VALUE)RUBY_FL_USER1)

Definition at line 1292 of file ruby.h.

## ◆ FL_USER10

#define FL_USER10 ((VALUE)RUBY_FL_USER10)

Definition at line 1301 of file ruby.h.

## ◆ FL_USER11

#define FL_USER11 ((VALUE)RUBY_FL_USER11)

Definition at line 1302 of file ruby.h.

## ◆ FL_USER12

#define FL_USER12 ((VALUE)RUBY_FL_USER12)

Definition at line 1303 of file ruby.h.

## ◆ FL_USER13

#define FL_USER13 ((VALUE)RUBY_FL_USER13)

Definition at line 1304 of file ruby.h.

## ◆ FL_USER14

#define FL_USER14 ((VALUE)RUBY_FL_USER14)

Definition at line 1305 of file ruby.h.

## ◆ FL_USER15

#define FL_USER15 ((VALUE)RUBY_FL_USER15)

Definition at line 1306 of file ruby.h.

## ◆ FL_USER16

#define FL_USER16 ((VALUE)RUBY_FL_USER16)

Definition at line 1307 of file ruby.h.

## ◆ FL_USER17

#define FL_USER17 ((VALUE)RUBY_FL_USER17)

Definition at line 1308 of file ruby.h.

## ◆ FL_USER18

#define FL_USER18 ((VALUE)RUBY_FL_USER18)

Definition at line 1309 of file ruby.h.

## ◆ FL_USER19

#define FL_USER19 ((VALUE)(unsigned int)RUBY_FL_USER19)

Definition at line 1310 of file ruby.h.

## ◆ FL_USER2

#define FL_USER2 ((VALUE)RUBY_FL_USER2)

Definition at line 1293 of file ruby.h.

## ◆ FL_USER3

#define FL_USER3 ((VALUE)RUBY_FL_USER3)

Definition at line 1294 of file ruby.h.

## ◆ FL_USER4

#define FL_USER4 ((VALUE)RUBY_FL_USER4)

Definition at line 1295 of file ruby.h.

## ◆ FL_USER5

#define FL_USER5 ((VALUE)RUBY_FL_USER5)

Definition at line 1296 of file ruby.h.

## ◆ FL_USER6

#define FL_USER6 ((VALUE)RUBY_FL_USER6)

Definition at line 1297 of file ruby.h.

## ◆ FL_USER7

#define FL_USER7 ((VALUE)RUBY_FL_USER7)

Definition at line 1298 of file ruby.h.

## ◆ FL_USER8

#define FL_USER8 ((VALUE)RUBY_FL_USER8)

Definition at line 1299 of file ruby.h.

## ◆ FL_USER9

#define FL_USER9 ((VALUE)RUBY_FL_USER9)

Definition at line 1300 of file ruby.h.

## ◆ FL_USHIFT

#define FL_USHIFT ((VALUE)RUBY_FL_USHIFT)

Definition at line 1289 of file ruby.h.

## ◆ FL_WB_PROTECTED

#define FL_WB_PROTECTED ((VALUE)RUBY_FL_WB_PROTECTED)

Definition at line 1279 of file ruby.h.

## ◆ FLONUM_FLAG

#define FLONUM_FLAG RUBY_FLONUM_FLAG

Definition at line 475 of file ruby.h.

## ◆ FLONUM_MASK

#define FLONUM_MASK RUBY_FLONUM_MASK

Definition at line 474 of file ruby.h.

## ◆ FLONUM_P

#define FLONUM_P | ( |  | x | ) | RB_FLONUM_P(x)

Definition at line 430 of file ruby.h.

## ◆ GIDT2NUM

#define GIDT2NUM | ( |  | v | ) | LONG2NUM(v)

Definition at line 366 of file ruby.h.

## ◆ HAVE_RB_DATA_TYPE_T_FUNCTION

#define HAVE_RB_DATA_TYPE_T_FUNCTION 1

Definition at line 1165 of file ruby.h.

## ◆ HAVE_RB_DATA_TYPE_T_PARENT

#define HAVE_RB_DATA_TYPE_T_PARENT 1

Definition at line 1166 of file ruby.h.

## ◆ HAVE_RB_GC_GUARDED_PTR_VAL

#define HAVE_RB_GC_GUARDED_PTR_VAL 1

Definition at line 584 of file ruby.h.

## ◆ HAVE_TYPE_RB_DATA_TYPE_T

#define HAVE_TYPE_RB_DATA_TYPE_T 1

Definition at line 1164 of file ruby.h.

## ◆ ID2SYM

#define ID2SYM | ( |  | x | ) | RB_ID2SYM(x)

Definition at line 414 of file ruby.h.

## ◆ IMMEDIATE_MASK

#define IMMEDIATE_MASK RUBY_IMMEDIATE_MASK

Definition at line 471 of file ruby.h.

## ◆ IMMEDIATE_P

#define IMMEDIATE_P | ( |  | x | ) | RB_IMMEDIATE_P(x)

Definition at line 402 of file ruby.h.

## ◆ INT2FIX

#define INT2FIX | ( |  | i | ) | RB_INT2FIX(i)

Definition at line 263 of file ruby.h.

## ◆ LONG2FIX

#define LONG2FIX | ( |  | i | ) | RB_INT2FIX(i)

Definition at line 265 of file ruby.h.

## ◆ LONG_MAX

#define LONG_MAX 2147483647

Definition at line 220 of file ruby.h.

## ◆ LONG_MIN

#define LONG_MIN (-LONG_MAX-1)

Definition at line 224 of file ruby.h.

## ◆ MODET2NUM

#define MODET2NUM | ( |  | v | ) | INT2NUM(v)

Definition at line 375 of file ruby.h.

## ◆ NEGFIXABLE

#define NEGFIXABLE | ( |  | f | ) | RB_NEGFIXABLE(f)

Definition at line 398 of file ruby.h.

## ◆ NEWOBJ

#define NEWOBJ | ( |  | obj,
|  |  | type
| ) |  | RB_NEWOBJ(obj,type)

Definition at line 784 of file ruby.h.

## ◆ NEWOBJ_OF

#define NEWOBJ_OF | ( |  | obj,
|  |  | type,
|  |  | klass,
|  |  | flags
| ) |  | RB_NEWOBJ_OF(obj,type,klass,flags) /* core has special NEWOBJ_OF() in internal.h */

Definition at line 785 of file ruby.h.

## ◆ NIL_P

#define NIL_P | ( |  | v | ) | RB_NIL_P(v)

Definition at line 482 of file ruby.h.

## ◆ NUM2DBL

#define NUM2DBL | ( |  | x | ) | rb_num2dbl((VALUE)(x))

Definition at line 774 of file ruby.h.

## ◆ NUM2GIDT

#define NUM2GIDT | ( |  | v | ) | NUM2LONG(v)

Definition at line 369 of file ruby.h.

## ◆ NUM2INT

#define NUM2INT | ( |  | x | ) | RB_NUM2INT(x)

Definition at line 715 of file ruby.h.

## ◆ NUM2LONG

#define NUM2LONG | ( |  | x | ) | RB_NUM2LONG(x)

Definition at line 679 of file ruby.h.

## ◆ NUM2MODET

#define NUM2MODET | ( |  | v | ) | NUM2INT(v)

Definition at line 372 of file ruby.h.

## ◆ NUM2OFFT

#define NUM2OFFT | ( |  | x | ) | NUM2LONG(x)

Definition at line 761 of file ruby.h.

## ◆ NUM2PIDT

#define NUM2PIDT | ( |  | v | ) | NUM2LONG(v)

Definition at line 357 of file ruby.h.

## ◆ NUM2SHORT

#define NUM2SHORT | ( |  | x | ) | RB_NUM2SHORT(x)

Definition at line 737 of file ruby.h.

## ◆ NUM2SIZET

#define NUM2SIZET | ( |  | x | ) | NUM2ULONG(x)

Definition at line 769 of file ruby.h.

## ◆ NUM2SSIZET

#define NUM2SSIZET | ( |  | x | ) | NUM2LONG(x)

Definition at line 770 of file ruby.h.

## ◆ NUM2UIDT

#define NUM2UIDT | ( |  | v | ) | NUM2LONG(v)

Definition at line 363 of file ruby.h.

## ◆ NUM2UINT

#define NUM2UINT | ( |  | x | ) | RB_NUM2UINT(x)

Definition at line 716 of file ruby.h.

## ◆ NUM2ULONG

#define NUM2ULONG | ( |  | x | ) | RB_NUM2ULONG(x)

Definition at line 689 of file ruby.h.

## ◆ NUM2USHORT

#define NUM2USHORT | ( |  | x | ) | RB_NUM2USHORT(x)

Definition at line 738 of file ruby.h.

## ◆ OBJSETUP

#define OBJSETUP | ( |  | obj,
|  |  | c,
|  |  | t
| ) |  | rb_obj_setup(obj, c, t) /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */

Definition at line 786 of file ruby.h.

## ◆ OFFT2NUM

#define OFFT2NUM | ( |  | v | ) | LONG2NUM(v)

Definition at line 285 of file ruby.h.

## ◆ PIDT2NUM

#define PIDT2NUM | ( |  | v | ) | LONG2NUM(v)

Definition at line 354 of file ruby.h.

## ◆ POSFIXABLE

#define POSFIXABLE | ( |  | f | ) | RB_POSFIXABLE(f)

Definition at line 397 of file ruby.h.

## ◆ PRI_INT_PREFIX

#define PRI_INT_PREFIX ""

Definition at line 126 of file ruby.h.

## ◆ PRI_LONG_PREFIX

#define PRI_LONG_PREFIX "l"

Definition at line 129 of file ruby.h.

## ◆ PRI_PTRDIFF_PREFIX

#define PRI_PTRDIFF_PREFIX ""

Definition at line 184 of file ruby.h.

## ◆ PRI_SHORT_PREFIX

#define PRI_SHORT_PREFIX "h"

Definition at line 132 of file ruby.h.

## ◆ PRI_SIZE_PREFIX

#define PRI_SIZE_PREFIX ""

Definition at line 199 of file ruby.h.

## ◆ PRI_TIMET_PREFIX

#define PRI_TIMET_PREFIX

Definition at line 174 of file ruby.h.

## ◆ PRI_VALUE_PREFIX

#define PRI_VALUE_PREFIX "l"

Definition at line 106 of file ruby.h.

## ◆ PRIdPTR

#define PRIdPTR PRI_PTR_PREFIX"d"

Definition at line 144 of file ruby.h.

## ◆ PRIdPTRDIFF

#define PRIdPTRDIFF PRI_PTRDIFF_PREFIX"d"

Definition at line 190 of file ruby.h.

## ◆ PRIdSIZE

#define PRIdSIZE PRI_SIZE_PREFIX"d"

Definition at line 205 of file ruby.h.

## ◆ PRIdVALUE

#define PRIdVALUE PRI_VALUE_PREFIX"d"

Definition at line 161 of file ruby.h.

## ◆ PRIiPTR

#define PRIiPTR PRI_PTR_PREFIX"i"

Definition at line 145 of file ruby.h.

## ◆ PRIiPTRDIFF

#define PRIiPTRDIFF PRI_PTRDIFF_PREFIX"i"

Definition at line 191 of file ruby.h.

## ◆ PRIiSIZE

#define PRIiSIZE PRI_SIZE_PREFIX"i"

Definition at line 206 of file ruby.h.

## ◆ PRIoPTR

#define PRIoPTR PRI_PTR_PREFIX"o"

Definition at line 146 of file ruby.h.

## ◆ PRIoPTRDIFF

#define PRIoPTRDIFF PRI_PTRDIFF_PREFIX"o"

Definition at line 192 of file ruby.h.

## ◆ PRIoSIZE

#define PRIoSIZE PRI_SIZE_PREFIX"o"

Definition at line 207 of file ruby.h.

## ◆ PRIoVALUE

#define PRIoVALUE PRI_VALUE_PREFIX"o"

Definition at line 162 of file ruby.h.

## ◆ PRIsVALUE

#define PRIsVALUE PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK

Definition at line 166 of file ruby.h.

## ◆ PRIuPTR

#define PRIuPTR PRI_PTR_PREFIX"u"

Definition at line 147 of file ruby.h.

## ◆ PRIuPTRDIFF

#define PRIuPTRDIFF PRI_PTRDIFF_PREFIX"u"

Definition at line 193 of file ruby.h.

## ◆ PRIuSIZE

#define PRIuSIZE PRI_SIZE_PREFIX"u"

Definition at line 208 of file ruby.h.

## ◆ PRIuVALUE

#define PRIuVALUE PRI_VALUE_PREFIX"u"

Definition at line 163 of file ruby.h.

## ◆ PRIxPTR

#define PRIxPTR PRI_PTR_PREFIX"x"

Definition at line 148 of file ruby.h.

## ◆ PRIXPTR

#define PRIXPTR PRI_PTR_PREFIX"X"

Definition at line 149 of file ruby.h.

## ◆ PRIxPTRDIFF

#define PRIxPTRDIFF PRI_PTRDIFF_PREFIX"x"

Definition at line 194 of file ruby.h.

## ◆ PRIXPTRDIFF

#define PRIXPTRDIFF PRI_PTRDIFF_PREFIX"X"

Definition at line 195 of file ruby.h.

## ◆ PRIxSIZE

#define PRIxSIZE PRI_SIZE_PREFIX"x"

Definition at line 209 of file ruby.h.

## ◆ PRIXSIZE

#define PRIXSIZE PRI_SIZE_PREFIX"X"

Definition at line 210 of file ruby.h.

## ◆ PRIxVALUE

#define PRIxVALUE PRI_VALUE_PREFIX"x"

Definition at line 164 of file ruby.h.

## ◆ PRIXVALUE

#define PRIXVALUE PRI_VALUE_PREFIX"X"

Definition at line 165 of file ruby.h.

## ◆ Qfalse

#define Qfalse RUBY_Qfalse

Definition at line 467 of file ruby.h.

## ◆ Qnil

#define Qnil RUBY_Qnil

Definition at line 469 of file ruby.h.

## ◆ Qtrue

#define Qtrue RUBY_Qtrue

Definition at line 468 of file ruby.h.

## ◆ Qundef

#define Qundef RUBY_Qundef

Definition at line 470 of file ruby.h.

## ◆ R_CAST

#define R_CAST | ( |  | st | ) | (struct st*)

Definition at line 1265 of file ruby.h.

## ◆ RARRAY

#define RARRAY | ( |  | obj | ) | (R_CAST(RArray)(obj))

Definition at line 1273 of file ruby.h.

## ◆ RARRAY_AREF

#define RARRAY_AREF | ( |  | a,
|  |  | i
| ) |  | (RARRAY_CONST_PTR_TRANSIENT(a)[i])

Definition at line 1101 of file ruby.h.

## ◆ RARRAY_ASET

#define RARRAY_ASET | ( |  | a,
|  |  | i,
|  |  | v
| ) |  |

Value:
do { \
const VALUE _ary = (a); \
const VALUE _v = (v); \
VALUE *ptr = (VALUE *)RARRAY_PTR_USE_START_TRANSIENT(_ary); \
RB_OBJ_WRITE(_ary, &ptr[i], _v); \
RARRAY_PTR_USE_END_TRANSIENT(_ary); \
} while (0)

Definition at line 1102 of file ruby.h.

## ◆ RARRAY_CONST_PTR

#define RARRAY_CONST_PTR | ( |  | a | ) | rb_array_const_ptr(a)

Definition at line 1072 of file ruby.h.

## ◆ RARRAY_CONST_PTR_TRANSIENT

#define RARRAY_CONST_PTR_TRANSIENT | ( |  | a | ) | rb_array_const_ptr_transient(a)

Definition at line 1073 of file ruby.h.

## ◆ RARRAY_EMBED_FLAG

#define RARRAY_EMBED_FLAG (VALUE)RARRAY_EMBED_FLAG

Definition at line 1043 of file ruby.h.

## ◆ RARRAY_EMBED_LEN

#define RARRAY_EMBED_LEN | ( |  | a | ) |

Value:
(long)((RBASIC(a)->flags >> RARRAY_EMBED_LEN_SHIFT) & \
(RARRAY_EMBED_LEN_MASK >> RARRAY_EMBED_LEN_SHIFT))

Definition at line 1067 of file ruby.h.

## ◆ RARRAY_EMBED_LEN_MASK

#define RARRAY_EMBED_LEN_MASK (VALUE)RARRAY_EMBED_LEN_MASK

Definition at line 1044 of file ruby.h.

## ◆ RARRAY_EMBED_LEN_MAX

#define RARRAY_EMBED_LEN_MAX RARRAY_EMBED_LEN_MAX

Definition at line 1045 of file ruby.h.

## ◆ RARRAY_EMBED_LEN_SHIFT

#define RARRAY_EMBED_LEN_SHIFT RARRAY_EMBED_LEN_SHIFT

Definition at line 1046 of file ruby.h.

## ◆ RARRAY_LEN

#define RARRAY_LEN | ( |  | a | ) | rb_array_len(a)

Definition at line 1070 of file ruby.h.

## ◆ RARRAY_LENINT

#define RARRAY_LENINT | ( |  | ary | ) | rb_long2int(RARRAY_LEN(ary))

Definition at line 1071 of file ruby.h.

## ◆ RARRAY_PTR

#define RARRAY_PTR | ( |  | a | ) | ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))

Definition at line 1110 of file ruby.h.

## ◆ RARRAY_PTR_USE

#define RARRAY_PTR_USE | ( |  | ary,
|  |  | ptr_name,
|  |  | expr
| ) |  |

Value:
do { \
const VALUE _ary = (ary); \
VALUE *ptr_name = (VALUE *)RARRAY_PTR_USE_START(_ary); \
expr; \
RARRAY_PTR_USE_END(_ary); \
} while (0)

Definition at line 1094 of file ruby.h.

## ◆ RARRAY_PTR_USE_END

#define RARRAY_PTR_USE_END | ( |  | a | ) | rb_array_ptr_use_end(a, 0)

Definition at line 1092 of file ruby.h.

## ◆ RARRAY_PTR_USE_END_TRANSIENT

#define RARRAY_PTR_USE_END_TRANSIENT | ( |  | a | ) | rb_array_ptr_use_end(a, 1)

Definition at line 1082 of file ruby.h.

## ◆ RARRAY_PTR_USE_START

#define RARRAY_PTR_USE_START | ( |  | a | ) | rb_array_ptr_use_start(a, 0)

Definition at line 1091 of file ruby.h.

## ◆ RARRAY_PTR_USE_START_TRANSIENT

#define RARRAY_PTR_USE_START_TRANSIENT | ( |  | a | ) | rb_array_ptr_use_start(a, 1)

Definition at line 1081 of file ruby.h.

## ◆ RARRAY_PTR_USE_TRANSIENT

#define RARRAY_PTR_USE_TRANSIENT | ( |  | ary,
|  |  | ptr_name,
|  |  | expr
| ) |  |

Value:
do { \
const VALUE _ary = (ary); \
VALUE *ptr_name = (VALUE *)RARRAY_PTR_USE_START_TRANSIENT(_ary); \
expr; \
RARRAY_PTR_USE_END_TRANSIENT(_ary); \
} while (0)

Definition at line 1084 of file ruby.h.

## ◆ RARRAY_TRANSIENT_P

#define RARRAY_TRANSIENT_P | ( |  | ary | ) | FL_TEST_RAW((ary), RARRAY_TRANSIENT_FLAG)

Definition at line 1076 of file ruby.h.

## ◆ RB_BUILTIN_TYPE

#define RB_BUILTIN_TYPE | ( |  | x | ) | (int)(((struct RBasic*)(x))->flags & RUBY_T_MASK)

Definition at line 550 of file ruby.h.

## ◆ rb_check_safe_str

#define rb_check_safe_str | ( |  | x | ) | [<"rb_check_safe_str() is obsolete; use StringValue() instead">]

Definition at line 612 of file ruby.h.

## ◆ RB_DYNAMIC_SYM_P

#define RB_DYNAMIC_SYM_P | ( |  | x | ) | (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) == (RUBY_T_SYMBOL))

Definition at line 407 of file ruby.h.

## ◆ RB_FIX2INT

#define RB_FIX2INT | ( |  | x | ) | ((int)RB_FIX2LONG(x))

Definition at line 712 of file ruby.h.

## ◆ RB_FIX2LONG

#define RB_FIX2LONG | ( |  | x | ) | ((long)RSHIFT((SIGNED_VALUE)(x),1))

Definition at line 378 of file ruby.h.

## ◆ RB_FIX2SHORT

#define RB_FIX2SHORT | ( |  | x | ) | (rb_fix2short((VALUE)(x)))

Definition at line 724 of file ruby.h.

## ◆ RB_FIX2UINT

#define RB_FIX2UINT | ( |  | x | ) | ((unsigned int)RB_FIX2ULONG(x))

Definition at line 713 of file ruby.h.

## ◆ RB_FIX2ULONG

#define RB_FIX2ULONG | ( |  | x | ) | ((unsigned long)RB_FIX2LONG(x))

Definition at line 384 of file ruby.h.

## ◆ rb_fix_new

#define rb_fix_new | ( |  | v | ) | RB_INT2FIX(v)

Definition at line 266 of file ruby.h.

## ◆ RB_FIXABLE

#define RB_FIXABLE | ( |  | f | ) | (RB_POSFIXABLE(f) && RB_NEGFIXABLE(f))

Definition at line 393 of file ruby.h.

## ◆ RB_FIXNUM_P

#define RB_FIXNUM_P | ( |  | f | ) | (((int)(SIGNED_VALUE)(f))&RUBY_FIXNUM_FLAG)

Definition at line 390 of file ruby.h.

## ◆ RB_FL_ABLE

#define RB_FL_ABLE | ( |  | x | ) | (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) != RUBY_T_NODE)

Definition at line 1315 of file ruby.h.

## ◆ RB_FL_ALL

#define RB_FL_ALL | ( |  | x,
|  |  | f
| ) |  | (RB_FL_TEST((x),(f)) == (f))

Definition at line 1321 of file ruby.h.

## ◆ RB_FL_ALL_RAW

#define RB_FL_ALL_RAW | ( |  | x,
|  |  | f
| ) |  | (RB_FL_TEST_RAW((x),(f)) == (f))

Definition at line 1320 of file ruby.h.

## ◆ RB_FL_ANY

#define RB_FL_ANY | ( |  | x,
|  |  | f
| ) |  | RB_FL_TEST((x),(f))

Definition at line 1319 of file ruby.h.

## ◆ RB_FL_ANY_RAW

#define RB_FL_ANY_RAW | ( |  | x,
|  |  | f
| ) |  | RB_FL_TEST_RAW((x),(f))

Definition at line 1318 of file ruby.h.

## ◆ RB_FL_REVERSE

#define RB_FL_REVERSE | ( |  | x,
|  |  | f
| ) |  | (RB_FL_ABLE(x) ? RB_FL_REVERSE_RAW(x, f) : (void)0)

Definition at line 1327 of file ruby.h.

## ◆ RB_FL_REVERSE_RAW

#define RB_FL_REVERSE_RAW | ( |  | x,
|  |  | f
| ) |  | (void)(RBASIC(x)->flags ^= (f))

Definition at line 1326 of file ruby.h.

## ◆ RB_FL_SET

#define RB_FL_SET | ( |  | x,
|  |  | f
| ) |  | (RB_FL_ABLE(x) ? RB_FL_SET_RAW(x, f) : (void)0)

Definition at line 1323 of file ruby.h.

## ◆ RB_FL_SET_RAW

#define RB_FL_SET_RAW | ( |  | x,
|  |  | f
| ) |  | (void)(RBASIC(x)->flags |= (f))

Definition at line 1322 of file ruby.h.

## ◆ RB_FL_TEST

#define RB_FL_TEST | ( |  | x,
|  |  | f
| ) |  | (RB_FL_ABLE(x)?RB_FL_TEST_RAW((x),(f)):0)

Definition at line 1317 of file ruby.h.

## ◆ RB_FL_TEST_RAW

#define RB_FL_TEST_RAW | ( |  | x,
|  |  | f
| ) |  | (RBASIC(x)->flags&(f))

Definition at line 1316 of file ruby.h.

## ◆ RB_FL_UNSET

#define RB_FL_UNSET | ( |  | x,
|  |  | f
| ) |  | (RB_FL_ABLE(x) ? RB_FL_UNSET_RAW(x, f) : (void)0)

Definition at line 1325 of file ruby.h.

## ◆ RB_FL_UNSET_RAW

#define RB_FL_UNSET_RAW | ( |  | x,
|  |  | f
| ) |  | (void)(RBASIC(x)->flags &= ~(VALUE)(f))

Definition at line 1324 of file ruby.h.

## ◆ RB_FLOAT_TYPE_P

#define RB_FLOAT_TYPE_P | ( |  | obj | ) |

Value:
(\
RB_FLONUM_P(obj) || \
(!RB_SPECIAL_CONST_P(obj) && RB_BUILTIN_TYPE(obj) == RUBY_T_FLOAT))

Definition at line 556 of file ruby.h.

## ◆ RB_FLONUM_P

#define RB_FLONUM_P | ( |  | x | ) | ((((int)(SIGNED_VALUE)(x))&RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG)

Definition at line 426 of file ruby.h.

## ◆ RB_GC_GUARD

#define RB_GC_GUARD | ( |  | v | ) | (*rb_gc_guarded_ptr_val(&(v),(v)))

Definition at line 585 of file ruby.h.

## ◆ RB_ID2SYM

#define RB_ID2SYM | ( |  | x | ) | (rb_id2sym(x))

Definition at line 409 of file ruby.h.

## ◆ RB_IMMEDIATE_P

#define RB_IMMEDIATE_P | ( |  | x | ) | ((VALUE)(x) & RUBY_IMMEDIATE_MASK)

Definition at line 401 of file ruby.h.

## ◆ RB_INT2FIX

#define RB_INT2FIX | ( |  | i | ) | (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)

Definition at line 262 of file ruby.h.

## ◆ rb_int_new

#define rb_int_new | ( |  | v | ) | rb_int2inum(v)

Definition at line 269 of file ruby.h.

## ◆ RB_LONG2FIX

#define RB_LONG2FIX | ( |  | i | ) | RB_INT2FIX(i)

Definition at line 264 of file ruby.h.

## ◆ rb_long2int

#define rb_long2int | ( |  | n | ) | ((int)(n))

Definition at line 350 of file ruby.h.

## ◆ RB_NEGFIXABLE

#define RB_NEGFIXABLE | ( |  | f | ) | ((f) >= RUBY_FIXNUM_MIN)

Definition at line 392 of file ruby.h.

## ◆ RB_NEWOBJ

#define RB_NEWOBJ | ( |  | obj,
|  |  | type
| ) |  | type *(obj) = (type*)rb_newobj()

Definition at line 782 of file ruby.h.

## ◆ RB_NEWOBJ_OF

#define RB_NEWOBJ_OF | ( |  | obj,
|  |  | type,
|  |  | klass,
|  |  | flags
| ) |  | type *(obj) = (type*)rb_newobj_of(klass, flags)

Definition at line 783 of file ruby.h.

## ◆ RB_NIL_P

#define RB_NIL_P | ( |  | v | ) | !((VALUE)(v) != RUBY_Qnil)

Definition at line 480 of file ruby.h.

## ◆ RB_NUM2INT

#define RB_NUM2INT | ( |  | x | ) | ((int)RB_NUM2LONG(x))

Definition at line 710 of file ruby.h.

## ◆ RB_NUM2LONG

#define RB_NUM2LONG | ( |  | x | ) | rb_num2long_inline(x)

Definition at line 678 of file ruby.h.

## ◆ RB_NUM2SHORT

#define RB_NUM2SHORT | ( |  | x | ) | rb_num2short_inline(x)

Definition at line 735 of file ruby.h.

## ◆ RB_NUM2UINT

#define RB_NUM2UINT | ( |  | x | ) | ((unsigned int)RB_NUM2ULONG(x))

Definition at line 711 of file ruby.h.

## ◆ RB_NUM2ULONG

#define RB_NUM2ULONG | ( |  | x | ) | rb_num2ulong_inline(x)

Definition at line 688 of file ruby.h.

## ◆ RB_NUM2USHORT

#define RB_NUM2USHORT | ( |  | x | ) | rb_num2ushort(x)

Definition at line 736 of file ruby.h.

## ◆ RB_OBJ_FREEZE

#define RB_OBJ_FREEZE | ( |  | x | ) | rb_obj_freeze_inline((VALUE)x)

Definition at line 1344 of file ruby.h.

## ◆ RB_OBJ_FREEZE_RAW

#define RB_OBJ_FREEZE_RAW | ( |  | x | ) | (void)(RBASIC(x)->flags |= RUBY_FL_FREEZE)

Definition at line 1343 of file ruby.h.

## ◆ RB_OBJ_FROZEN

#define RB_OBJ_FROZEN | ( |  | x | ) | (!RB_FL_ABLE(x) || RB_OBJ_FROZEN_RAW(x))

Definition at line 1342 of file ruby.h.

## ◆ RB_OBJ_FROZEN_RAW

#define RB_OBJ_FROZEN_RAW | ( |  | x | ) | (RBASIC(x)->flags&RUBY_FL_FREEZE)

Definition at line 1341 of file ruby.h.

## ◆ RB_OBJ_INFECT

#define RB_OBJ_INFECT | ( |  | x,
|  |  | s
| ) |  |

Value:
( \
(RB_OBJ_TAINTABLE(x) && RB_FL_ABLE(s)) ? \
RB_OBJ_INFECT_RAW(x, s) : (void)0)

Definition at line 1337 of file ruby.h.

## ◆ RB_OBJ_INFECT_RAW

#define RB_OBJ_INFECT_RAW | ( |  | x,
|  |  | s
| ) |  | RB_FL_SET_RAW(x, RB_OBJ_TAINTED_RAW(s))

Definition at line 1336 of file ruby.h.

## ◆ RB_OBJ_TAINT

#define RB_OBJ_TAINT | ( |  | x | ) | (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)

Definition at line 1333 of file ruby.h.

## ◆ RB_OBJ_TAINT_RAW

#define RB_OBJ_TAINT_RAW | ( |  | x | ) | RB_FL_SET_RAW(x, RUBY_FL_TAINT)

Definition at line 1332 of file ruby.h.

## ◆ RB_OBJ_TAINTABLE

#define RB_OBJ_TAINTABLE | ( |  | x | ) | (RB_FL_ABLE(x) && RB_BUILTIN_TYPE(x) != RUBY_T_BIGNUM && RB_BUILTIN_TYPE(x) != RUBY_T_FLOAT)

Definition at line 1329 of file ruby.h.

## ◆ RB_OBJ_TAINTED

#define RB_OBJ_TAINTED | ( |  | x | ) | (!!RB_FL_TEST((x), RUBY_FL_TAINT))

Definition at line 1331 of file ruby.h.

## ◆ RB_OBJ_TAINTED_RAW

#define RB_OBJ_TAINTED_RAW | ( |  | x | ) | RB_FL_TEST_RAW(x, RUBY_FL_TAINT)

Definition at line 1330 of file ruby.h.

## ◆ RB_OBJ_UNTRUST

#define RB_OBJ_UNTRUST | ( |  | x | ) | RB_OBJ_TAINT(x)

Definition at line 1335 of file ruby.h.

## ◆ RB_OBJ_UNTRUSTED

#define RB_OBJ_UNTRUSTED | ( |  | x | ) | RB_OBJ_TAINTED(x)

Definition at line 1334 of file ruby.h.

## ◆ RB_OBJ_WB_UNPROTECT_FOR

#define RB_OBJ_WB_UNPROTECT_FOR | ( |  | type,
|  |  | obj
| ) |  |

Value:
(RGENGC_WB_PROTECTED_##type ? \
OBJ_WB_UNPROTECT((VALUE)(obj)) : ((VALUE)(obj)))

Definition at line 901 of file ruby.h.

## ◆ RB_POSFIXABLE

#define RB_POSFIXABLE | ( |  | f | ) | ((f) < RUBY_FIXNUM_MAX+1)

Definition at line 391 of file ruby.h.

## ◆ RB_SPECIAL_CONST_P

#define RB_SPECIAL_CONST_P | ( |  | x | ) | (RB_IMMEDIATE_P(x) || !RB_TEST(x))

Definition at line 1312 of file ruby.h.

## ◆ RB_STATIC_SYM_P

#define RB_STATIC_SYM_P | ( |  | x | ) | (((VALUE)(x)&~((~(VALUE)0)<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG)

Definition at line 406 of file ruby.h.

## ◆ RB_SYM2ID

#define RB_SYM2ID | ( |  | x | ) | (rb_sym2id(x))

Definition at line 410 of file ruby.h.

## ◆ RB_SYMBOL_P

#define RB_SYMBOL_P | ( |  | x | ) | (RB_STATIC_SYM_P(x)||RB_DYNAMIC_SYM_P(x))

Definition at line 408 of file ruby.h.

## ◆ RB_TEST

#define RB_TEST | ( |  | v | ) | !(((VALUE)(v) & (VALUE)~RUBY_Qnil) == 0)

Definition at line 479 of file ruby.h.

## ◆ RB_TYPE_P

#define RB_TYPE_P | ( |  | obj,
|  |  | type
| ) |  |

Value:
( \
((type) == RUBY_T_FIXNUM) ? RB_FIXNUM_P(obj) : \
((type) == RUBY_T_TRUE) ? ((obj) == RUBY_Qtrue) : \
((type) == RUBY_T_FALSE) ? ((obj) == RUBY_Qfalse) : \
((type) == RUBY_T_NIL) ? ((obj) == RUBY_Qnil) : \
((type) == RUBY_T_UNDEF) ? ((obj) == RUBY_Qundef) : \
((type) == RUBY_T_SYMBOL) ? RB_SYMBOL_P(obj) : \
((type) == RUBY_T_FLOAT) ? RB_FLOAT_TYPE_P(obj) : \
(!RB_SPECIAL_CONST_P(obj) && RB_BUILTIN_TYPE(obj) == (type)))

Definition at line 560 of file ruby.h.

## ◆ rb_uint_new

#define rb_uint_new | ( |  | v | ) | rb_uint2inum(v)

Definition at line 272 of file ruby.h.

## ◆ RB_UNUSED_VAR

#define RB_UNUSED_VAR | ( |  | x | ) | x

Definition at line 591 of file ruby.h.

## ◆ RBASIC

#define RBASIC | ( |  | obj | ) | (R_CAST(RBasic)(obj))

Definition at line 1267 of file ruby.h.

## ◆ RBASIC_CLASS

#define RBASIC_CLASS | ( |  | obj | ) | (RBASIC(obj)->klass)

Definition at line 906 of file ruby.h.

## ◆ RBIGNUM_NEGATIVE_P

#define RBIGNUM_NEGATIVE_P | ( |  | b | ) | (RBIGNUM_SIGN(b)==0)

Definition at line 1263 of file ruby.h.

## ◆ RBIGNUM_POSITIVE_P

#define RBIGNUM_POSITIVE_P | ( |  | b | ) | (RBIGNUM_SIGN(b)!=0)

Definition at line 1262 of file ruby.h.

## ◆ RBIGNUM_SIGN

#define RBIGNUM_SIGN | ( |  | b | ) | (rb_big_sign(b))

Definition at line 1261 of file ruby.h.

## ◆ RCLASS

#define RCLASS | ( |  | obj | ) | (R_CAST(RClass)(obj))

Definition at line 1269 of file ruby.h.

## ◆ RCLASS_SUPER

#define RCLASS_SUPER | ( |  | c | ) | rb_class_get_superclass(c)

Definition at line 946 of file ruby.h.

## ◆ RDATA

#define RDATA | ( |  | obj | ) | (R_CAST(RData)(obj))

Definition at line 1274 of file ruby.h.

## ◆ RFILE

#define RFILE | ( |  | obj | ) | (R_CAST(RFile)(obj))

Definition at line 1276 of file ruby.h.

## ◆ RFLOAT_VALUE

#define RFLOAT_VALUE | ( |  | v | ) | rb_float_value(v)

Definition at line 966 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_ARRAY

#define RGENGC_WB_PROTECTED_ARRAY 1

Definition at line 802 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_BIGNUM

#define RGENGC_WB_PROTECTED_BIGNUM 1

Definition at line 832 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_CLASS

#define RGENGC_WB_PROTECTED_CLASS 1

Definition at line 820 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_COMPLEX

#define RGENGC_WB_PROTECTED_COMPLEX 1

Definition at line 826 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_FLOAT

#define RGENGC_WB_PROTECTED_FLOAT 1

Definition at line 823 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_HASH

#define RGENGC_WB_PROTECTED_HASH 1

Definition at line 805 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_NODE_CREF

#define RGENGC_WB_PROTECTED_NODE_CREF 1

Definition at line 835 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_OBJECT

#define RGENGC_WB_PROTECTED_OBJECT 1

Definition at line 814 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_RATIONAL

#define RGENGC_WB_PROTECTED_RATIONAL 1

Definition at line 829 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_REGEXP

#define RGENGC_WB_PROTECTED_REGEXP 1

Definition at line 817 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_STRING

#define RGENGC_WB_PROTECTED_STRING 1

Definition at line 811 of file ruby.h.

## ◆ RGENGC_WB_PROTECTED_STRUCT

#define RGENGC_WB_PROTECTED_STRUCT 1

Definition at line 808 of file ruby.h.

## ◆ RHASH_EMPTY_P

#define RHASH_EMPTY_P | ( |  | h | ) | (RHASH_SIZE(h) == 0)

Definition at line 1131 of file ruby.h.

## ◆ RHASH_IFNONE

#define RHASH_IFNONE | ( |  | h | ) | rb_hash_ifnone(h)

Definition at line 1129 of file ruby.h.

## ◆ RHASH_ITER_LEV

#define RHASH_ITER_LEV | ( |  | h | ) | rb_hash_iter_lev(h)

Definition at line 1128 of file ruby.h.

## ◆ RHASH_SET_IFNONE

#define RHASH_SET_IFNONE | ( |  | h,
|  |  | ifnone
| ) |  | rb_hash_set_ifnone((VALUE)h, ifnone)

Definition at line 1132 of file ruby.h.

## ◆ RHASH_SIZE

#define RHASH_SIZE | ( |  | h | ) | rb_hash_size_num(h)

Definition at line 1130 of file ruby.h.

## ◆ RHASH_TBL

#define RHASH_TBL | ( |  | h | ) | rb_hash_tbl(h, __FILE__, __LINE__)

Definition at line 1127 of file ruby.h.

## ◆ RMODULE

#define RMODULE | ( |  | obj | ) | RCLASS(obj)

Definition at line 1270 of file ruby.h.

## ◆ RMODULE_CONST_TBL

#define RMODULE_CONST_TBL | ( |  | m | ) | RCLASS_CONST_TBL(m)

Definition at line 948 of file ruby.h.

## ◆ RMODULE_INCLUDED_INTO_REFINEMENT

#define RMODULE_INCLUDED_INTO_REFINEMENT RMODULE_INCLUDED_INTO_REFINEMENT

Definition at line 953 of file ruby.h.

## ◆ RMODULE_IS_OVERLAID

#define RMODULE_IS_OVERLAID RMODULE_IS_OVERLAID

Definition at line 951 of file ruby.h.

## ◆ RMODULE_IS_REFINEMENT

#define RMODULE_IS_REFINEMENT RMODULE_IS_REFINEMENT

Definition at line 952 of file ruby.h.

## ◆ RMODULE_IV_TBL

#define RMODULE_IV_TBL | ( |  | m | ) | RCLASS_IV_TBL(m)

Definition at line 947 of file ruby.h.

## ◆ RMODULE_M_TBL

#define RMODULE_M_TBL | ( |  | m | ) | RCLASS_M_TBL(m)

Definition at line 949 of file ruby.h.

## ◆ RMODULE_SUPER

#define RMODULE_SUPER | ( |  | m | ) | RCLASS_SUPER(m)

Definition at line 950 of file ruby.h.

## ◆ RMOVED

#define RMOVED | ( |  | obj | ) | (R_CAST(RMoved)(obj))

Definition at line 1266 of file ruby.h.

## ◆ ROBJECT

#define ROBJECT | ( |  | obj | ) | (R_CAST(RObject)(obj))

Definition at line 1268 of file ruby.h.

## ◆ ROBJECT_EMBED

#define ROBJECT_EMBED ROBJECT_EMBED

Definition at line 914 of file ruby.h.

## ◆ ROBJECT_EMBED_LEN_MAX

#define ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX

Definition at line 913 of file ruby.h.

## ◆ ROBJECT_IV_INDEX_TBL

#define ROBJECT_IV_INDEX_TBL | ( |  | o | ) |

Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
RCLASS_IV_INDEX_TBL(rb_obj_class(o)) : \
ROBJECT(o)->as.heap.iv_index_tbl)

Definition at line 941 of file ruby.h.

## ◆ ROBJECT_IVPTR

#define ROBJECT_IVPTR | ( |  | o | ) |

Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
ROBJECT(o)->as.ary : \
ROBJECT(o)->as.heap.ivptr)

Definition at line 937 of file ruby.h.

## ◆ ROBJECT_NUMIV

#define ROBJECT_NUMIV | ( |  | o | ) |

Value:
((RBASIC(o)->flags & ROBJECT_EMBED) ? \
ROBJECT_EMBED_LEN_MAX : \
ROBJECT(o)->as.heap.numiv)

Definition at line 933 of file ruby.h.

## ◆ RREGEXP

#define RREGEXP | ( |  | obj | ) | (R_CAST(RRegexp)(obj))

Definition at line 1272 of file ruby.h.

## ◆ RREGEXP_PTR

#define RREGEXP_PTR | ( |  | r | ) | (RREGEXP(r)->ptr)

Definition at line 1118 of file ruby.h.

## ◆ RREGEXP_SRC

#define RREGEXP_SRC | ( |  | r | ) | (RREGEXP(r)->src)

Definition at line 1119 of file ruby.h.

## ◆ RREGEXP_SRC_END

#define RREGEXP_SRC_END | ( |  | r | ) | RSTRING_END(RREGEXP(r)->src)

Definition at line 1122 of file ruby.h.

## ◆ RREGEXP_SRC_LEN

#define RREGEXP_SRC_LEN | ( |  | r | ) | RSTRING_LEN(RREGEXP(r)->src)

Definition at line 1121 of file ruby.h.

## ◆ RREGEXP_SRC_PTR

#define RREGEXP_SRC_PTR | ( |  | r | ) | RSTRING_PTR(RREGEXP(r)->src)

Definition at line 1120 of file ruby.h.

## ◆ RSTRING

#define RSTRING | ( |  | obj | ) | (R_CAST(RString)(obj))

Definition at line 1271 of file ruby.h.

## ◆ RSTRING_EMBED_LEN

#define RSTRING_EMBED_LEN | ( |  | str | ) |

Value:
(long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
(RSTRING_EMBED_LEN_MASK >> RSTRING_EMBED_LEN_SHIFT))

Definition at line 1002 of file ruby.h.

## ◆ RSTRING_EMBED_LEN_MASK

#define RSTRING_EMBED_LEN_MASK RSTRING_EMBED_LEN_MASK

Definition at line 973 of file ruby.h.

## ◆ RSTRING_EMBED_LEN_MAX

#define RSTRING_EMBED_LEN_MAX RSTRING_EMBED_LEN_MAX

Definition at line 975 of file ruby.h.

## ◆ RSTRING_EMBED_LEN_SHIFT

#define RSTRING_EMBED_LEN_SHIFT RSTRING_EMBED_LEN_SHIFT

Definition at line 974 of file ruby.h.

## ◆ RSTRING_END

#define RSTRING_END | ( |  | str | ) |

Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
(RSTRING(str)->as.ary + RSTRING_EMBED_LEN(str)) : \
(RSTRING(str)->as.heap.ptr + RSTRING(str)->as.heap.len))

Definition at line 1013 of file ruby.h.

## ◆ RSTRING_FSTR

#define RSTRING_FSTR RSTRING_FSTR

Definition at line 976 of file ruby.h.

## ◆ RSTRING_GETMEM

#define RSTRING_GETMEM | ( |  | str,
|  |  | ptrvar,
|  |  | lenvar
| ) |  |

Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
((ptrvar) = RSTRING(str)->as.ary, (lenvar) = RSTRING_EMBED_LEN(str)) : \
((ptrvar) = RSTRING(str)->as.heap.ptr, (lenvar) = RSTRING(str)->as.heap.len))

Definition at line 1018 of file ruby.h.

## ◆ RSTRING_LEN

#define RSTRING_LEN | ( |  | str | ) |

Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
RSTRING_EMBED_LEN(str) : \
RSTRING(str)->as.heap.len)

Definition at line 1005 of file ruby.h.

## ◆ RSTRING_LENINT

#define RSTRING_LENINT | ( |  | str | ) | rb_long2int(RSTRING_LEN(str))

Definition at line 1017 of file ruby.h.

## ◆ RSTRING_NOEMBED

#define RSTRING_NOEMBED RSTRING_NOEMBED

Definition at line 972 of file ruby.h.

## ◆ RSTRING_PTR

#define RSTRING_PTR | ( |  | str | ) |

Value:
(!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
RSTRING(str)->as.ary : \
RSTRING(str)->as.heap.ptr)

Definition at line 1009 of file ruby.h.

## ◆ RSTRUCT_GET

#define RSTRUCT_GET | ( |  | st,
|  |  | idx
| ) |  | rb_struct_aref(st, INT2NUM(idx))

Definition at line 1258 of file ruby.h.

## ◆ RSTRUCT_LEN

#define RSTRUCT_LEN | ( |  | st | ) | NUM2LONG(rb_struct_size(st))

Definition at line 1255 of file ruby.h.

## ◆ RSTRUCT_PTR

#define RSTRUCT_PTR | ( |  | st | ) | rb_struct_ptr(st)

Definition at line 1256 of file ruby.h.

## ◆ RSTRUCT_SET

#define RSTRUCT_SET | ( |  | st,
|  |  | idx,
|  |  | v
| ) |  | rb_struct_aset(st, INT2NUM(idx), (v))

Definition at line 1257 of file ruby.h.

## ◆ RTEST

#define RTEST | ( |  | v | ) | RB_TEST(v)

Definition at line 481 of file ruby.h.

## ◆ RTYPEDDATA

#define RTYPEDDATA | ( |  | obj | ) | (R_CAST(RTypedData)(obj))

Definition at line 1275 of file ruby.h.

## ◆ RTYPEDDATA_DATA

#define RTYPEDDATA_DATA | ( |  | v | ) | (RTYPEDDATA(v)->data)

Definition at line 1179 of file ruby.h.

## ◆ RTYPEDDATA_P

#define RTYPEDDATA_P | ( |  | v | ) | (RTYPEDDATA(v)->typed_flag == 1)

Definition at line 1177 of file ruby.h.

## ◆ RTYPEDDATA_TYPE

#define RTYPEDDATA_TYPE | ( |  | v | ) | (RTYPEDDATA(v)->type)

Definition at line 1178 of file ruby.h.

## ◆ RUBY_DEFAULT_FREE

#define RUBY_DEFAULT_FREE ((RUBY_DATA_FUNC)-1)

Definition at line 1201 of file ruby.h.

## ◆ RUBY_ELTS_SHARED

#define RUBY_ELTS_SHARED RUBY_ELTS_SHARED

Definition at line 969 of file ruby.h.

## ◆ RUBY_FIXNUM_MAX

#define RUBY_FIXNUM_MAX (LONG_MAX>>1)

Definition at line 257 of file ruby.h.

## ◆ RUBY_FIXNUM_MIN

#define RUBY_FIXNUM_MIN RSHIFT((long)LONG_MIN,1)

Definition at line 258 of file ruby.h.

## ◆ RUBY_MACRO_SELECT

#define RUBY_MACRO_SELECT | ( |  | base,
|  |  | n
| ) |  | TOKEN_PASTE(base, n)

Definition at line 66 of file ruby.h.

## ◆ RUBY_NEVER_FREE

#define RUBY_NEVER_FREE ((RUBY_DATA_FUNC)0)

Definition at line 1202 of file ruby.h.

## ◆ RUBY_PRI_VALUE_MARK

#define RUBY_PRI_VALUE_MARK "\v"

Definition at line 152 of file ruby.h.

## ◆ RUBY_Qfalse

#define RUBY_Qfalse ((VALUE)RUBY_Qfalse)

Definition at line 463 of file ruby.h.

## ◆ RUBY_Qnil

#define RUBY_Qnil ((VALUE)RUBY_Qnil)

Definition at line 465 of file ruby.h.

## ◆ RUBY_Qtrue

#define RUBY_Qtrue ((VALUE)RUBY_Qtrue)

Definition at line 464 of file ruby.h.

## ◆ RUBY_Qundef

#define RUBY_Qundef ((VALUE)RUBY_Qundef) /* undefined value for placeholder */

Definition at line 466 of file ruby.h.

## ◆ RUBY_SAFE_LEVEL_MAX

#define RUBY_SAFE_LEVEL_MAX 1

Definition at line 630 of file ruby.h.

## ◆ RUBY_TYPED_DEFAULT_FREE

#define RUBY_TYPED_DEFAULT_FREE RUBY_DEFAULT_FREE

Definition at line 1203 of file ruby.h.

## ◆ RUBY_TYPED_FREE_IMMEDIATELY

#define RUBY_TYPED_FREE_IMMEDIATELY 1 /* TYPE field */

Definition at line 1207 of file ruby.h.

## ◆ RUBY_TYPED_NEVER_FREE

#define RUBY_TYPED_NEVER_FREE RUBY_NEVER_FREE

Definition at line 1204 of file ruby.h.

## ◆ RUBY_TYPED_PROMOTED1

#define RUBY_TYPED_PROMOTED1 RUBY_FL_PROMOTED1 /* THIS FLAG DEPENDS ON Ruby version */

Definition at line 1209 of file ruby.h.

## ◆ RUBY_TYPED_WB_PROTECTED

#define RUBY_TYPED_WB_PROTECTED RUBY_FL_WB_PROTECTED /* THIS FLAG DEPENDS ON Ruby version */

Definition at line 1208 of file ruby.h.

## ◆ RUBY_UNTYPED_DATA_WARNING

#define RUBY_UNTYPED_DATA_WARNING 0

Definition at line 1190 of file ruby.h.

## ◆ RVALUE_EMBED_LEN_MAX

#define RVALUE_EMBED_LEN_MAX RVALUE_EMBED_LEN_MAX

Definition at line 908 of file ruby.h.

## ◆ SafeStringValue

#define SafeStringValue | ( |  | v | ) | StringValue(v)

Definition at line 607 of file ruby.h.

## ◆ SIGNED_VALUE

#define SIGNED_VALUE long

Definition at line 104 of file ruby.h.

## ◆ SIZE_MAX

#define SIZE_MAX ULONG_MAX

Definition at line 307 of file ruby.h.

## ◆ SIZE_MIN

#define SIZE_MIN ULONG_MIN

Definition at line 308 of file ruby.h.

## ◆ SIZEOF_VALUE

#define SIZEOF_VALUE SIZEOF_LONG

Definition at line 105 of file ruby.h.

## ◆ SIZET2NUM

#define SIZET2NUM | ( |  | v | ) | ULONG2NUM(v)

Definition at line 295 of file ruby.h.

## ◆ SPECIAL_CONST_P

#define SPECIAL_CONST_P | ( |  | x | ) | RB_SPECIAL_CONST_P(x)

Definition at line 1313 of file ruby.h.

## ◆ SSIZE_MAX

#define SSIZE_MAX LONG_MAX

Definition at line 323 of file ruby.h.

## ◆ SSIZE_MIN

#define SSIZE_MIN LONG_MIN

Definition at line 324 of file ruby.h.

## ◆ SSIZET2NUM

#define SSIZET2NUM | ( |  | v | ) | LONG2NUM(v)

Definition at line 296 of file ruby.h.

## ◆ STATIC_SYM_P

#define STATIC_SYM_P | ( |  | x | ) | RB_STATIC_SYM_P(x)

Definition at line 411 of file ruby.h.

## ◆ StringValue

#define StringValue | ( |  | v | ) | rb_string_value(&(v))

Definition at line 602 of file ruby.h.

## ◆ StringValueCStr

#define StringValueCStr | ( |  | v | ) | rb_string_value_cstr(&(v))

Definition at line 604 of file ruby.h.

## ◆ StringValuePtr

#define StringValuePtr | ( |  | v | ) | rb_string_value_ptr(&(v))

Definition at line 603 of file ruby.h.

## ◆ SYM2ID

#define SYM2ID | ( |  | x | ) | RB_SYM2ID(x)

Definition at line 415 of file ruby.h.

## ◆ SYMBOL_FLAG

#define SYMBOL_FLAG RUBY_SYMBOL_FLAG

Definition at line 477 of file ruby.h.

## ◆ SYMBOL_P

#define SYMBOL_P | ( |  | x | ) | RB_SYMBOL_P(x)

Definition at line 413 of file ruby.h.

## ◆ T_ARRAY

#define T_ARRAY RUBY_T_ARRAY

Definition at line 530 of file ruby.h.

## ◆ T_BIGNUM

#define T_BIGNUM RUBY_T_BIGNUM

Definition at line 533 of file ruby.h.

## ◆ T_CLASS

#define T_CLASS RUBY_T_CLASS

Definition at line 524 of file ruby.h.

## ◆ T_COMPLEX

#define T_COMPLEX RUBY_T_COMPLEX

Definition at line 542 of file ruby.h.

## ◆ T_DATA

#define T_DATA RUBY_T_DATA

Definition at line 538 of file ruby.h.

## ◆ T_FALSE

#define T_FALSE RUBY_T_FALSE

Definition at line 537 of file ruby.h.

## ◆ T_FILE

#define T_FILE RUBY_T_FILE

Definition at line 534 of file ruby.h.

## ◆ T_FIXNUM

#define T_FIXNUM RUBY_T_FIXNUM

Definition at line 535 of file ruby.h.

## ◆ T_FLOAT

#define T_FLOAT RUBY_T_FLOAT

Definition at line 527 of file ruby.h.

## ◆ T_HASH

#define T_HASH RUBY_T_HASH

Definition at line 531 of file ruby.h.

## ◆ T_ICLASS

#define T_ICLASS RUBY_T_ICLASS

Definition at line 525 of file ruby.h.

## ◆ T_IMEMO

#define T_IMEMO RUBY_T_IMEMO

Definition at line 543 of file ruby.h.

## ◆ T_MASK

#define T_MASK RUBY_T_MASK

Definition at line 548 of file ruby.h.

## ◆ T_MATCH

#define T_MATCH RUBY_T_MATCH

Definition at line 539 of file ruby.h.

## ◆ T_MODULE

#define T_MODULE RUBY_T_MODULE

Definition at line 526 of file ruby.h.

## ◆ T_MOVED

#define T_MOVED RUBY_T_MOVED

Definition at line 547 of file ruby.h.

## ◆ T_NIL

#define T_NIL RUBY_T_NIL

Definition at line 522 of file ruby.h.

## ◆ T_NODE

#define T_NODE RUBY_T_NODE

Definition at line 545 of file ruby.h.

## ◆ T_NONE

#define T_NONE RUBY_T_NONE

Definition at line 521 of file ruby.h.

## ◆ T_OBJECT

#define T_OBJECT RUBY_T_OBJECT

Definition at line 523 of file ruby.h.

## ◆ T_RATIONAL

#define T_RATIONAL RUBY_T_RATIONAL

Definition at line 541 of file ruby.h.

## ◆ T_REGEXP

#define T_REGEXP RUBY_T_REGEXP

Definition at line 529 of file ruby.h.

## ◆ T_STRING

#define T_STRING RUBY_T_STRING

Definition at line 528 of file ruby.h.

## ◆ T_STRUCT

#define T_STRUCT RUBY_T_STRUCT

Definition at line 532 of file ruby.h.

## ◆ T_SYMBOL

#define T_SYMBOL RUBY_T_SYMBOL

Definition at line 540 of file ruby.h.

## ◆ T_TRUE

#define T_TRUE RUBY_T_TRUE

Definition at line 536 of file ruby.h.

## ◆ T_UNDEF

#define T_UNDEF RUBY_T_UNDEF

Definition at line 544 of file ruby.h.

## ◆ T_ZOMBIE

#define T_ZOMBIE RUBY_T_ZOMBIE

Definition at line 546 of file ruby.h.

## ◆ TYPE

#define TYPE | ( |  | x | ) | rb_type((VALUE)(x))

Definition at line 554 of file ruby.h.

## ◆ TypedData_Get_Struct

#define TypedData_Get_Struct | ( |  | obj,
|  |  | type,
|  |  | data_type,
|  |  | sval
| ) |  | ((sval) = (type*)rb_check_typeddata((obj), (data_type)))

Definition at line 1252 of file ruby.h.

## ◆ TypedData_Make_Struct

#define TypedData_Make_Struct | ( |  | klass,
|  |  | type,
|  |  | data_type,
|  |  | sval
| ) |  |

Value:
(\
rb_data_typed_object_make((klass),(data_type),(void **)&(sval),sizeof(type)) \
)

Definition at line 1244 of file ruby.h.

## ◆ TypedData_Make_Struct0

#define TypedData_Make_Struct0 | ( |  | result,
|  |  | klass,
|  |  | type,
|  |  | size,
|  |  | data_type,
|  |  | sval
| ) |  |

Value:
VALUE result = rb_data_typed_object_zalloc(klass, size, data_type); \
(void)((sval) = (type *)DATA_PTR(result));

Definition at line 1234 of file ruby.h.

## ◆ TypedData_Wrap_Struct

#define TypedData_Wrap_Struct | ( |  | klass,
|  |  | data_type,
|  |  | sval
| ) |  | rb_data_typed_object_wrap((klass),(sval),(data_type))

Definition at line 1231 of file ruby.h.

## ◆ UIDT2NUM

#define UIDT2NUM | ( |  | v | ) | LONG2NUM(v)

Definition at line 360 of file ruby.h.

## ◆ UNREACHABLE

#define UNREACHABLE ((void)0) /* unreachable */

Definition at line 63 of file ruby.h.

## ◆ UNREACHABLE_RETURN

#define UNREACHABLE_RETURN | ( |  | val | ) | return (val)

Definition at line 59 of file ruby.h.

## ◆ USE_FLONUM

#define USE_FLONUM 1

Definition at line 419 of file ruby.h.

## ◆ USE_RGENGC

#define USE_RGENGC 1

Definition at line 791 of file ruby.h.

## ◆ USE_RINCGC

#define USE_RINCGC 1

Definition at line 793 of file ruby.h.

## ◆ USE_SYMBOL_AS_METHOD_NAME

#define USE_SYMBOL_AS_METHOD_NAME 1

Definition at line 433 of file ruby.h.

## ◆ USE_TRANSIENT_HEAP

#define USE_TRANSIENT_HEAP 1

Definition at line 1024 of file ruby.h.

## Typedef Documentation

## ◆ ID

const VALUE ID

Definition at line 103 of file ruby.h.

## ◆ rb_data_type_t

typedef struct rb_data_type_struct rb_data_type_t

Definition at line 1146 of file ruby.h.

## ◆ ruby_check_sizeof_int

typedef char ruby_check_sizeof_int[SIZEOF_INT==sizeof(int) ? 1 :-1]

Definition at line 118 of file ruby.h.

## ◆ ruby_check_sizeof_long

typedef char ruby_check_sizeof_long[SIZEOF_LONG==sizeof(long) ? 1 :-1]

Definition at line 119 of file ruby.h.

## ◆ ruby_check_sizeof_voidp

typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP==sizeof(void *) ? 1 :-1]

Definition at line 123 of file ruby.h.

## ◆ RUBY_DATA_FUNC

void RUBY_DATA_FUNC

Definition at line 1184 of file ruby.h.

## ◆ VALUE

const VALUE VALUE

Definition at line 102 of file ruby.h.

## Enumeration Type Documentation

## ◆ ruby_fl_type

enum ruby_fl_type

Enumerator
RUBY_FL_WB_PROTECTED |
RUBY_FL_PROMOTED0 |
RUBY_FL_PROMOTED1 |
RUBY_FL_PROMOTED |
RUBY_FL_FINALIZE |
RUBY_FL_TAINT |
RUBY_FL_UNTRUSTED |
RUBY_FL_SEEN_OBJ_ID |
RUBY_FL_EXIVAR |
RUBY_FL_FREEZE |
RUBY_FL_USHIFT |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_FL_USER_N |
RUBY_ELTS_SHARED |
RUBY_FL_DUPPED |
RUBY_FL_SINGLETON |

Definition at line 841 of file ruby.h.

## ◆ ruby_rarray_flags

enum ruby_rarray_flags

Enumerator
RARRAY_EMBED_LEN_MAX |
RARRAY_EMBED_FLAG |
RARRAY_EMBED_LEN_MASK |
RARRAY_EMBED_LEN_SHIFT |
RARRAY_TRANSIENT_FLAG |
RARRAY_TRANSIENT_FLAG |
RARRAY_ENUM_END |

Definition at line 1027 of file ruby.h.

## ◆ ruby_rmodule_flags

enum ruby_rmodule_flags

Enumerator
RMODULE_IS_OVERLAID |
RMODULE_IS_REFINEMENT |
RMODULE_INCLUDED_INTO_REFINEMENT |
RMODULE_ENUM_END |

Definition at line 954 of file ruby.h.

## ◆ ruby_robject_flags

enum ruby_robject_flags

Enumerator
ROBJECT_EMBED_LEN_MAX |
ROBJECT_EMBED |
ROBJECT_ENUM_END |

Definition at line 915 of file ruby.h.

## ◆ ruby_rstring_flags

enum ruby_rstring_flags

Enumerator
RSTRING_NOEMBED |
RSTRING_EMBED_LEN_MASK |
RSTRING_EMBED_LEN_SHIFT |
RSTRING_EMBED_LEN_MAX |
RSTRING_FSTR |
RSTRING_ENUM_END |

Definition at line 977 of file ruby.h.

## ◆ ruby_rvalue_flags

enum ruby_rvalue_flags

Enumerator
RVALUE_EMBED_LEN_MAX |

Definition at line 909 of file ruby.h.

## ◆ ruby_special_consts

enum ruby_special_consts

Enumerator
RUBY_Qfalse |
RUBY_Qtrue |
RUBY_Qnil |
RUBY_Qundef |
RUBY_IMMEDIATE_MASK |
RUBY_FIXNUM_FLAG |
RUBY_FLONUM_MASK |
RUBY_FLONUM_FLAG |
RUBY_SYMBOL_FLAG |
RUBY_SPECIAL_SHIFT |
RUBY_Qfalse |
RUBY_Qtrue |
RUBY_Qnil |
RUBY_Qundef |
RUBY_IMMEDIATE_MASK |
RUBY_FIXNUM_FLAG |
RUBY_FLONUM_MASK |
RUBY_FLONUM_FLAG |
RUBY_SYMBOL_FLAG |
RUBY_SPECIAL_SHIFT |

Definition at line 436 of file ruby.h.

## ◆ ruby_value_type

enum ruby_value_type

Enumerator
RUBY_T_NONE |
RUBY_T_OBJECT |
RUBY_T_CLASS |
RUBY_T_MODULE |
RUBY_T_FLOAT |
RUBY_T_STRING |
RUBY_T_REGEXP |
RUBY_T_ARRAY |
RUBY_T_HASH |
RUBY_T_STRUCT |
RUBY_T_BIGNUM |
RUBY_T_FILE |
RUBY_T_DATA |
RUBY_T_MATCH |
RUBY_T_COMPLEX |
RUBY_T_RATIONAL |
RUBY_T_NIL |
RUBY_T_TRUE |
RUBY_T_FALSE |
RUBY_T_SYMBOL |
RUBY_T_FIXNUM |
RUBY_T_UNDEF |
RUBY_T_IMEMO | See also imemo_type
RUBY_T_NODE |
RUBY_T_ICLASS |
RUBY_T_ZOMBIE |
RUBY_T_MOVED |
RUBY_T_MASK |
RUBY_T_NONE |
RUBY_T_OBJECT |
RUBY_T_CLASS |
RUBY_T_MODULE |
RUBY_T_FLOAT |
RUBY_T_STRING |
RUBY_T_REGEXP |
RUBY_T_ARRAY |
RUBY_T_HASH |
RUBY_T_STRUCT |
RUBY_T_BIGNUM |
RUBY_T_FILE |
RUBY_T_DATA |
RUBY_T_MATCH |
RUBY_T_COMPLEX |
RUBY_T_RATIONAL |
RUBY_T_NIL |
RUBY_T_TRUE |
RUBY_T_FALSE |
RUBY_T_SYMBOL |
RUBY_T_FIXNUM |
RUBY_T_UNDEF |
RUBY_T_IMEMO |
RUBY_T_NODE |
RUBY_T_ICLASS |
RUBY_T_ZOMBIE |
RUBY_T_MOVED |
RUBY_T_MASK |

Definition at line 486 of file ruby.h.

## Function Documentation

## ◆ alloca()

RUBY_SYMBOL_EXPORT_BEGIN void* alloca | ( |  | ) |

## ◆ PUREFUNC()

PUREFUNC | ( | double | rb_float_valueVALUE | ) |

## ◆ rb_big_sign()

int rb_big_sign | ( | VALUE |  | ) |

Definition at line 6772 of file bignum.c.

References BIGNUM_SIGN.

## ◆ rb_check_safe_obj()

void rb_check_safe_obj | ( | VALUE |  | ) |

Definition at line 136 of file safe.c.

## ◆ rb_data_object_wrap()

VALUE rb_data_object_wrap | ( | VALUE | ,
|  | void * | ,
|  | RUBY_DATA_FUNC | ,
|  | RUBY_DATA_FUNC |
| ) |  |

Definition at line 2376 of file gc.c.

References Check_Type, klass, and T_CLASS.

Referenced by RUBY_ALIAS_FUNCTION().

## ◆ rb_data_object_zalloc()

VALUE rb_data_object_zalloc | ( | VALUE | ,
|  | size_t | ,
|  | RUBY_DATA_FUNC | ,
|  | RUBY_DATA_FUNC |
| ) |  |

## ◆ rb_data_typed_object_wrap()

VALUE rb_data_typed_object_wrap | ( | VALUE | klass,
|  | void * | datap,
|  | const rb_data_type_t * |
| ) |  |

Definition at line 2397 of file gc.c.

References Check_Type, klass, and T_CLASS.

Referenced by RUBY_ALIAS_FUNCTION().

## ◆ rb_data_typed_object_zalloc()

VALUE rb_data_typed_object_zalloc | ( | VALUE | klass,
|  | size_t | size,
|  | const rb_data_type_t * | type
| ) |  |

## ◆ rb_fix2short()

short rb_fix2short | ( | VALUE |  | ) |

Definition at line 3050 of file numeric.c.

References FIX2LONG, FIXNUM_P, and rb_num2long().

## ◆ rb_fix2ushort()

unsigned short rb_fix2ushort | ( | VALUE |  | ) |

Definition at line 3069 of file numeric.c.

References FIX2ULONG, FIXNUM_P, and rb_num2ushort().

## ◆ rb_float_new()

VALUE rb_float_new | ( | double |  | ) |

Definition at line 5841 of file numeric.c.

## ◆ rb_float_new_in_heap()

VALUE rb_float_new_in_heap | ( | double |  | ) |

Definition at line 895 of file numeric.c.

References FL_WB_PROTECTED, NEWOBJ_OF, OBJ_FREEZE, rb_cFloat, RGENGC_WB_PROTECTED_FLOAT, and T_FLOAT.

## ◆ rb_gc_guarded_ptr_val()

volatile VALUE* rb_gc_guarded_ptr_val | ( | volatile VALUE * | ptr,
|  | VALUE | val
| ) |  |

Definition at line 250 of file gc.c.

References ptr, and rb_gc_guarded_val.

## ◆ rb_get_path()

VALUE rb_get_path | ( | VALUE |  | ) |

Definition at line 230 of file file.c.

## ◆ rb_get_path_no_checksafe()

VALUE rb_get_path_no_checksafe | ( | VALUE |  | ) |

Definition at line 224 of file file.c.

## ◆ rb_hash_size_num()

size_t rb_hash_size_num | ( | VALUE | hash | ) |

Definition at line 2872 of file hash.c.

## ◆ rb_id2sym()

VALUE rb_id2sym | ( | ID |  | ) |

Definition at line 776 of file symbol.c.

## ◆ rb_int2big()

VALUE rb_int2big | ( | intptr_t |  | ) |

Definition at line 3180 of file bignum.c.

References BIGNUM_SET_NEGATIVE_SIGN, n, neg, and rb_uint2big().

Referenced by rb_big_divmod(), rb_big_modulo(), rb_big_mul(), rb_big_remainder(), and rb_int2inum().

## ◆ rb_int2inum()

VALUE rb_int2inum | ( | intptr_t |  | ) |

Definition at line 3208 of file bignum.c.

## ◆ rb_newobj()

VALUE rb_newobj | ( | void |  | ) |

Definition at line 2288 of file gc.c.

## ◆ rb_newobj_of()

VALUE rb_newobj_of | ( | VALUE | ,
|  | VALUE |
| ) |  |

Definition at line 2294 of file gc.c.

## ◆ rb_num2long()

long rb_num2long | ( | VALUE |  | ) |

Definition at line 2849 of file numeric.c.

References FIX2LONG, FIXNUM_P, FLOAT_OUT_OF_RANGE, LONG_MAX_PLUS_ONE, LONG_MIN_MINUS_ONE_IS_LESS_THAN, NIL_P, rb_big2long(), rb_eTypeError, rb_raise(), rb_to_int(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, and T_FLOAT.

Referenced by rb_fix2short(), rb_num2fix(), rb_num2int(), and rb_num2short().

## ◆ rb_num2short()

short rb_num2short | ( | VALUE |  | ) |

Definition at line 3041 of file numeric.c.

References rb_num2long().

## ◆ rb_num2ulong()

unsigned long rb_num2ulong | ( | VALUE |  | ) |

Definition at line 2918 of file numeric.c.

## ◆ rb_num2ushort()

unsigned short rb_num2ushort | ( | VALUE |  | ) |

Definition at line 3059 of file numeric.c.

Referenced by rb_fix2ushort().

## ◆ rb_safe_level()

int rb_safe_level | ( | void |  | ) |

Definition at line 31 of file safe.c.

## ◆ rb_secure()

void rb_secure | ( | int |  | ) |

Definition at line 99 of file safe.c.

## ◆ rb_secure_update()

void rb_secure_update | ( | VALUE |  | ) |

Definition at line 116 of file safe.c.

References rb_warn().

## ◆ rb_set_safe_level()

void rb_set_safe_level | ( | int |  | ) |

Definition at line 45 of file safe.c.

## ◆ rb_set_safe_level_force()

void rb_set_safe_level_force | ( | int |  | ) |

Definition at line 38 of file safe.c.

References GET_VM, and rb_warn().

## ◆ rb_str_export()

VALUE rb_str_export | ( | VALUE |  | ) |

Definition at line 1123 of file string.c.

## ◆ rb_str_export_locale()

VALUE rb_str_export_locale | ( | VALUE |  | ) |

Definition at line 1129 of file string.c.

## ◆ rb_str_to_str()

VALUE rb_str_to_str | ( | VALUE |  | ) |

Definition at line 1382 of file string.c.

## ◆ rb_string_value()

VALUE rb_string_value | ( | volatile VALUE * |  | ) |

Definition at line 2175 of file string.c.

## ◆ rb_string_value_cstr()

char* rb_string_value_cstr | ( | volatile VALUE * |  | ) |

Definition at line 2291 of file string.c.

## ◆ rb_string_value_ptr()

char* rb_string_value_ptr | ( | volatile VALUE * |  | ) |

Definition at line 2186 of file string.c.

## ◆ rb_sym2id()

ID rb_sym2id | ( | VALUE |  | ) |

Definition at line 748 of file symbol.c.

## ◆ rb_uint2big()

VALUE rb_uint2big | ( | uintptr_t |  | ) |

Definition at line 3158 of file bignum.c.

References BDIGIT, bdigit_roomof, BDIGITS, BIGDN, BIGLO, bignew, BIGNUM_SET_LEN, i, n, and SIZEOF_VALUE.

Referenced by rb_int2big(), and rb_uint2inum().

## ◆ rb_uint2inum()

VALUE rb_uint2inum | ( | uintptr_t |  | ) |

Definition at line 3201 of file bignum.c.

## ◆ RUBY_ALIGNAS()

rb_execution_context_struct::@188::RUBY_ALIGNAS | ( | SIZEOF_VALUE |  | ) |

Definition at line 886 of file ruby.h.

References klass.

void
void
Definition: rb_mjit_min_header-2.7.0.h:13273
RARRAY_PTR_USE_START_TRANSIENT
#define RARRAY_PTR_USE_START_TRANSIENT(a)
Definition: ruby.h:1081
RUBY_Qfalse
#define RUBY_Qfalse
Definition: ruby.h:463
RUBY_Qundef
#define RUBY_Qundef
Definition: ruby.h:466
RB_BUILTIN_TYPE
#define RB_BUILTIN_TYPE(x)
Definition: ruby.h:550
RSTRING_EMBED_LEN
#define RSTRING_EMBED_LEN(str)
Definition: ruby.h:1002
VALUE
unsigned long VALUE
Definition: ruby.h:102
RUBY_T_FLOAT
@ RUBY_T_FLOAT
Definition: ruby.h:492
RUBY_T_NIL
@ RUBY_T_NIL
Definition: ruby.h:505
RUBY_DATA_FUNC
void(* RUBY_DATA_FUNC)(void *)
Definition: ruby.h:1184
RUBY_T_UNDEF
@ RUBY_T_UNDEF
Definition: ruby.h:510
ptr
struct RIMemo * ptr
Definition: debug.c:74
RB_OBJ_INFECT_RAW
#define RB_OBJ_INFECT_RAW(x, s)
Definition: ruby.h:1336
RUBY_T_TRUE
@ RUBY_T_TRUE
Definition: ruby.h:506
RARRAY_PTR_USE_START
#define RARRAY_PTR_USE_START(a)
Definition: ruby.h:1091
RUBY_Qtrue
#define RUBY_Qtrue
Definition: ruby.h:464
v
int VALUE v
Definition: rb_mjit_min_header-2.7.0.h:12332
RARRAY_EMBED_LEN_SHIFT
#define RARRAY_EMBED_LEN_SHIFT
Definition: ruby.h:1046
obj
const VALUE VALUE obj
Definition: rb_mjit_min_header-2.7.0.h:5742
rb_obj_class
VALUE rb_obj_class(VALUE)
Equivalent to Object#class in Ruby.
Definition: object.c:217
rb_data_typed_object_zalloc
VALUE rb_data_typed_object_zalloc(VALUE klass, size_t size, const rb_data_type_t *type)
ROBJECT_EMBED
#define ROBJECT_EMBED
Definition: ruby.h:914
RCLASS_IV_INDEX_TBL
#define RCLASS_IV_INDEX_TBL(c)
Definition: internal.h:1074
DATA_PTR
#define DATA_PTR(dta)
Definition: ruby.h:1175
RUBY_T_FIXNUM
@ RUBY_T_FIXNUM
Definition: ruby.h:509
RSTRING_EMBED_LEN_SHIFT
#define RSTRING_EMBED_LEN_SHIFT
Definition: ruby.h:974
RB_SYMBOL_P
#define RB_SYMBOL_P(x)
Definition: ruby.h:408
i
uint32_t i
Definition: rb_mjit_min_header-2.7.0.h:5464
long
#define long
Definition: rb_mjit_min_header-2.7.0.h:2880
ROBJECT_EMBED_LEN_MAX
#define ROBJECT_EMBED_LEN_MAX
Definition: ruby.h:913
RUBY_Qnil
#define RUBY_Qnil
Definition: ruby.h:465
size
int size
Definition: encoding.c:58
ROBJECT
#define ROBJECT(obj)
Definition: ruby.h:1268
rb_data_object_zalloc
VALUE rb_data_object_zalloc(VALUE, size_t, RUBY_DATA_FUNC, RUBY_DATA_FUNC)
RSTRING_NOEMBED
#define RSTRING_NOEMBED
Definition: ruby.h:972
rb_str_export
VALUE rb_str_export(VALUE)
Definition: string.c:1123
RB_FL_ABLE
#define RB_FL_ABLE(x)
Definition: ruby.h:1315
klass
VALUE klass
Definition: rb_mjit_min_header-2.7.0.h:13254
str
char str[HTML_ESCAPE_MAX_LEN+1]
Definition: escape.c:18
RSTRING
#define RSTRING(obj)
Definition: ruby.h:1271
RB_OBJ_TAINTABLE
#define RB_OBJ_TAINTABLE(x)
Definition: ruby.h:1329
free
#define free(x)
Definition: dln.c:52
RUBY_T_FALSE
@ RUBY_T_FALSE
Definition: ruby.h:507
RBASIC
#define RBASIC(obj)
Definition: ruby.h:1267
RUBY_T_SYMBOL
@ RUBY_T_SYMBOL
Definition: ruby.h:508
RARRAY_EMBED_LEN_MASK
#define RARRAY_EMBED_LEN_MASK
Definition: ruby.h:1044
RB_FIXNUM_P
#define RB_FIXNUM_P(f)
Definition: ruby.h:390
RSTRING_EMBED_LEN_MASK
#define RSTRING_EMBED_LEN_MASK
Definition: ruby.h:973
ruby::backward::cxxanyargs::type
VALUE type(ANYARGS)
ANYARGS-ed function type.
Definition: cxxanyargs.hpp:39
RB_SPECIAL_CONST_P
#define RB_SPECIAL_CONST_P(x)
Definition: ruby.h:1312
RB_FLOAT_TYPE_P
#define RB_FLOAT_TYPE_P(obj)
Definition: ruby.h:556