Definition in file ruby.h.
#include "config.h"
#include "defines.h"
#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#include <stdio.h>
#include <alloca.h>
#include <limits.h>
#include "intern.h"
#include "missing.h"
Go to the source code of this file.
Data Structures | |
| struct | RArray |
| struct | RBasic |
| struct | RBignum |
| struct | RClass |
| struct | RData |
| struct | RFile |
| struct | RFloat |
| struct | RHash |
| struct | RObject |
| struct | RRegexp |
| struct | RString |
| struct | RStruct |
C Data to Fixnum or Bignum Coversion Routines | |
| #define | INT2FIX(i) ((VALUE)(((long)(i))<<1 | FIXNUM_FLAG)) |
| #define | LONG2FIX(i) INT2FIX(i) |
| #define | rb_fix_new(v) INT2FIX(v) |
| #define | INT2NUM(v) rb_int2inum(v) |
| #define | LONG2NUM(v) INT2NUM(v) |
| #define | rb_int_new(v) rb_int2inum(v) |
| #define | UINT2NUM(v) rb_uint2inum(v) |
| #define | ULONG2NUM(v) UINT2NUM(v) |
| #define | rb_uint_new(v) rb_uint2inum(v) |
| #define | LL2NUM(v) rb_ll2inum(v) |
| #define | ULL2NUM(v) rb_ull2inum(v) |
| #define | OFFT2NUM(v) LL2NUM(v) |
| #define | FIX2LONG(x) RSHIFT((long)x,1) |
| #define | FIX2ULONG(x) (((unsigned long)(x))>>1) |
| #define | FIXNUM_P(f) (((long)(f))&FIXNUM_FLAG) |
| #define | POSFIXABLE(f) ((f) <= FIXNUM_MAX) |
| #define | NEGFIXABLE(f) ((f) >= FIXNUM_MIN) |
| #define | FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f)) |
| VALUE | rb_int2inum (long) |
| VALUE | rb_uint2inum (unsigned long) |
| VALUE | rb_ll2inum (LONG_LONG) |
| VALUE | rb_ull2inum (unsigned LONG_LONG) |
Symbol / ID Coversion Macros | |
| #define | SYMBOL_FLAG 0x0e |
| #define | SYMBOL_P(x) (((VALUE)(x)&0xff)==SYMBOL_FLAG) |
| #define | ID2SYM(x) ((VALUE)(((long)(x))<<8|SYMBOL_FLAG)) |
| #define | SYM2ID(x) RSHIFT((long)x,8) |
Special Contants | |
| Non-zero and non-fixnum constants. | |
| #define | Qfalse 0 |
| #define | Qtrue 2 |
| #define | Qnil 4 |
| #define | Qundef 6 |
Ruby Built-In Types | |
| #define | T_NONE 0x00 |
| #define | T_NIL 0x01 |
| #define | T_OBJECT 0x02 |
| #define | T_CLASS 0x03 |
| #define | T_ICLASS 0x04 |
| #define | T_MODULE 0x05 |
| #define | T_FLOAT 0x06 |
| #define | T_STRING 0x07 |
| #define | T_REGEXP 0x08 |
| #define | T_ARRAY 0x09 |
| #define | T_FIXNUM 0x0a |
| #define | T_HASH 0x0b |
| #define | T_STRUCT 0x0c |
| #define | T_BIGNUM 0x0d |
| #define | T_FILE 0x0e |
| #define | T_TRUE 0x20 |
| #define | T_FALSE 0x21 |
| #define | T_DATA 0x22 |
| #define | T_MATCH 0x23 |
| #define | T_SYMBOL 0x24 |
| #define | T_BLKTAG 0x3b |
| #define | T_UNDEF 0x3c |
| #define | T_VARMAP 0x3d |
| #define | T_SCOPE 0x3e |
| #define | T_NODE 0x3f |
| #define | T_MASK 0x3f |
String Conversion Routines | |
| #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) |
| #define | Check_SafeStr(v) rb_check_safe_str((VALUE)(v)) |
| 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) |
| void | rb_check_safe_str (VALUE) |
Fixnum or Bignum to C Data Coversion Routines | |
| #define | NUM2LONG(x) (FIXNUM_P(x)?FIX2LONG(x):rb_num2long((VALUE)x)) |
| #define | NUM2ULONG(x) rb_num2ulong((VALUE)x) |
| #define | NUM2INT(x) ((int)NUM2LONG(x)) |
| #define | NUM2UINT(x) ((unsigned int)NUM2ULONG(x)) |
| #define | FIX2INT(x) ((int)FIX2LONG(x)) |
| #define | FIX2UINT(x) ((unsigned int)FIX2ULONG(x)) |
| #define | NUM2LL(x) (FIXNUM_P(x)?FIX2LONG(x):rb_num2ll((VALUE)x)) |
| #define | NUM2OFFT(x) ((off_t)NUM2LL(x)) |
| long | rb_num2long (VALUE) |
| unsigned long | rb_num2ulong (VALUE) |
| LONG_LONG | rb_num2ll (VALUE) |
| unsigned LONG_LONG | rb_num2ull (VALUE) |
Double Conversion Routines | |
| #define | NUM2DBL(x) rb_num2dbl((VALUE)(x)) |
| double | rb_num2dbl (VALUE) |
Character Conversion Routines | |
| #define | NUM2CHR(x) |
| #define | CHR2FIX(x) INT2FIX((long)((x)&0xff)) |
Ruby Cast Macros | |
| #define | R_CAST(st) (struct st*) |
| #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 | RFLOAT(obj) (R_CAST(RFloat)(obj)) |
| #define | RSTRING(obj) (R_CAST(RString)(obj)) |
| #define | RREGEXP(obj) (R_CAST(RRegexp)(obj)) |
| #define | RARRAY(obj) (R_CAST(RArray)(obj)) |
| #define | RHASH(obj) (R_CAST(RHash)(obj)) |
| #define | RDATA(obj) (R_CAST(RData)(obj)) |
| #define | RSTRUCT(obj) (R_CAST(RStruct)(obj)) |
| #define | RBIGNUM(obj) (R_CAST(RBignum)(obj)) |
| #define | RFILE(obj) (R_CAST(RFile)(obj)) |
Freeze Macros | |
| #define | OBJ_FROZEN(x) FL_TEST((x), FL_FREEZE) |
| #define | OBJ_FREEZE(x) FL_SET((x), FL_FREEZE) |
Memory Functions | |
| #define | ALLOC_N(type, n) (type*)xmalloc(sizeof(type)*(n)) |
| #define | ALLOC(type) (type*)xmalloc(sizeof(type)) |
| #define | REALLOC_N(var, type, n) (var)=(type*)xrealloc((char*)(var),sizeof(type)*(n)) |
| #define | ALLOCA_N(type, n) (type*)alloca(sizeof(type)*(n)) |
| #define | MEMZERO(p, type, n) memset((p), 0, sizeof(type)*(n)) |
| #define | MEMCPY(p1, p2, type, n) memcpy((p1), (p2), sizeof(type)*(n)) |
| #define | MEMMOVE(p1, p2, type, n) memmove((p1), (p2), sizeof(type)*(n)) |
| #define | MEMCMP(p1, p2, type, n) memcmp((p1), (p2), sizeof(type)*(n)) |
Ruby Modules | |
| RUBY_EXTERN VALUE | rb_mKernel |
| RUBY_EXTERN VALUE | rb_mComparable |
| RUBY_EXTERN VALUE | rb_mEnumerable |
| RUBY_EXTERN VALUE | rb_mPrecision |
| 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 Classes | |
| RUBY_EXTERN VALUE | rb_cObject |
| RUBY_EXTERN VALUE | rb_cArray |
| RUBY_EXTERN VALUE | rb_cBignum |
| RUBY_EXTERN VALUE | rb_cClass |
| RUBY_EXTERN VALUE | rb_cDir |
| RUBY_EXTERN VALUE | rb_cData |
| RUBY_EXTERN VALUE | rb_cFalseClass |
| RUBY_EXTERN VALUE | rb_cFile |
| RUBY_EXTERN VALUE | rb_cFixnum |
| RUBY_EXTERN VALUE | rb_cFloat |
| RUBY_EXTERN VALUE | rb_cHash |
| RUBY_EXTERN VALUE | rb_cInteger |
| RUBY_EXTERN VALUE | rb_cIO |
| RUBY_EXTERN VALUE | rb_cModule |
| RUBY_EXTERN VALUE | rb_cNilClass |
| RUBY_EXTERN VALUE | rb_cNumeric |
| RUBY_EXTERN VALUE | rb_cProc |
| RUBY_EXTERN VALUE | rb_cRange |
| RUBY_EXTERN VALUE | rb_cRegexp |
| RUBY_EXTERN VALUE | rb_cString |
| RUBY_EXTERN VALUE | rb_cSymbol |
| RUBY_EXTERN VALUE | rb_cThread |
| RUBY_EXTERN VALUE | rb_cTime |
| RUBY_EXTERN VALUE | rb_cTrueClass |
| RUBY_EXTERN VALUE | rb_cStruct |
Ruby Exceptions | |
| 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_eRangeError |
| RUBY_EXTERN VALUE | rb_eIOError |
| RUBY_EXTERN VALUE | rb_eRuntimeError |
| RUBY_EXTERN VALUE | rb_eSecurityError |
| RUBY_EXTERN VALUE | rb_eSystemCallError |
| 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_eScriptError |
| RUBY_EXTERN VALUE | rb_eNameError |
| RUBY_EXTERN VALUE | rb_eSyntaxError |
| RUBY_EXTERN VALUE | rb_eLoadError |
Other Constants | |
| RUBY_EXTERN VALUE | rb_stdin |
| RUBY_EXTERN VALUE | rb_stdout |
| RUBY_EXTERN VALUE | rb_stderr |
| RUBY_EXTERN VALUE | ruby_errinfo |
Defines | |
| #define | ISASCII(c) isascii((int)(unsigned char)(c)) |
| #define | ISPRINT(c) (ISASCII(c) && isprint((int)(unsigned char)(c))) |
| #define | ISSPACE(c) (ISASCII(c) && isspace((int)(unsigned char)(c))) |
| #define | ISUPPER(c) (ISASCII(c) && isupper((int)(unsigned char)(c))) |
| #define | ISLOWER(c) (ISASCII(c) && islower((int)(unsigned char)(c))) |
| #define | ISALNUM(c) (ISASCII(c) && isalnum((int)(unsigned char)(c))) |
| #define | ISALPHA(c) (ISASCII(c) && isalpha((int)(unsigned char)(c))) |
| #define | ISDIGIT(c) (ISASCII(c) && isdigit((int)(unsigned char)(c))) |
| #define | ISXDIGIT(c) (ISASCII(c) && isxdigit((int)(unsigned char)(c))) |
| #define | NORETURN_STYLE_NEW 1 |
| #define | LONG_MIN (-LONG_MAX-1) |
| #define | CHAR_BIT 8 |
| #define | LLONG_MAX 9223372036854775807LL |
| #define | LLONG_MIN (-LLONG_MAX-1) |
| #define | FIXNUM_MAX (LONG_MAX>>1) |
| #define | FIXNUM_MIN RSHIFT((long)LONG_MIN,1) |
| #define | FIXNUM_FLAG 0x01 |
| #define | IMMEDIATE_MASK 0x03 |
| #define | IMMEDIATE_P(x) ((VALUE)(x) & IMMEDIATE_MASK) |
| #define | RTEST(v) (((VALUE)(v) & ~Qnil) != 0) |
| #define | NIL_P(v) ((VALUE)(v) == Qnil) |
| #define | CLASS_OF(v) rb_class_of((VALUE)(v)) |
| #define | BUILTIN_TYPE(x) (((struct RBasic*)(x))->flags & T_MASK) |
| #define | TYPE(x) rb_type((VALUE)(x)) |
| #define | Check_Type(v, t) rb_check_type((VALUE)(v),t) |
| #define | rb_safe_level() (ruby_safe_level) |
| #define | STR2CSTR(x) rb_str2cstr((VALUE)(x),0) |
| #define | NEWOBJ(obj, type) type *obj = (type*)rb_newobj() |
| #define | OBJSETUP(obj, c, t) |
| #define | CLONESETUP(clone, obj) |
| #define | DUPSETUP(dup, obj) |
| #define | ELTS_SHARED FL_USER2 |
| #define | DATA_PTR(dta) (RDATA(dta)->data) |
| #define | Data_Wrap_Struct(klass, mark, free, sval) rb_data_object_alloc(klass,sval,(RUBY_DATA_FUNC)mark,(RUBY_DATA_FUNC)free) |
| #define | Data_Make_Struct(klass, type, mark, free, sval) |
| #define | Data_Get_Struct(obj, type, sval) |
| #define | FL_SINGLETON FL_USER0 |
| #define | FL_MARK (1<<6) |
| #define | FL_FINALIZE (1<<7) |
| #define | FL_TAINT (1<<8) |
| #define | FL_EXIVAR (1<<9) |
| #define | FL_FREEZE (1<<10) |
| #define | FL_USHIFT 11 |
| #define | FL_USER0 (1<<(FL_USHIFT+0)) |
| #define | FL_USER1 (1<<(FL_USHIFT+1)) |
| #define | FL_USER2 (1<<(FL_USHIFT+2)) |
| #define | FL_USER3 (1<<(FL_USHIFT+3)) |
| #define | FL_USER4 (1<<(FL_USHIFT+4)) |
| #define | FL_USER5 (1<<(FL_USHIFT+5)) |
| #define | FL_USER6 (1<<(FL_USHIFT+6)) |
| #define | FL_USER7 (1<<(FL_USHIFT+7)) |
| #define | FL_UMASK (0xff<<FL_USHIFT) |
| #define | SPECIAL_CONST_P(x) (IMMEDIATE_P(x) || !RTEST(x)) |
| #define | FL_ABLE(x) (!SPECIAL_CONST_P(x)) |
| #define | FL_TEST(x, f) (FL_ABLE(x)?(RBASIC(x)->flags&(f)):0) |
| #define | FL_SET(x, f) do {if (FL_ABLE(x)) RBASIC(x)->flags |= (f);} while (0) |
| #define | FL_UNSET(x, f) do {if (FL_ABLE(x)) RBASIC(x)->flags &= ~(f);} while (0) |
| #define | FL_REVERSE(x, f) do {if (FL_ABLE(x)) RBASIC(x)->flags ^= (f);} while (0) |
| #define | OBJ_TAINTED(x) FL_TEST((x), FL_TAINT) |
| #define | OBJ_TAINT(x) FL_SET((x), FL_TAINT) |
| #define | OBJ_INFECT(x, s) do {if (FL_ABLE(x) && FL_ABLE(s)) RBASIC(x)->flags |= RBASIC(s)->flags & FL_TAINT;} while (0) |
| #define | RUBY_METHOD_FUNC(func) ((VALUE (*)(ANYARGS))func) |
| #define | is_ruby_native_thread() (1) |
Typedefs | |
| typedef unsigned long | VALUE |
| typedef unsigned long | ID |
| typedef void(* | RUBY_DATA_FUNC )(void *) |
Functions | |
| void | rb_check_type (VALUE, int) |
| void | rb_secure (int) |
| void | rb_set_safe_level (int) |
| void | rb_secure_update (VALUE) |
| char * | rb_str2cstr (VALUE, long *) |
| VALUE | rb_newobj (void) |
| VALUE | rb_data_object_alloc (VALUE, void *, RUBY_DATA_FUNC, RUBY_DATA_FUNC) |
| void | rb_obj_infect (VALUE, VALUE) |
| void | rb_glob (char *, void(*(const char *, VALUE), VALUE)) |
| void | rb_globi (char *, void(*(const char *, VALUE), VALUE)) |
| VALUE | rb_define_class (const char *, VALUE) |
| VALUE | rb_define_module (const char *) |
| VALUE | rb_define_class_under (VALUE, const char *, VALUE) |
| VALUE | rb_define_module_under (VALUE, const char *) |
| void | rb_include_module (VALUE, VALUE) |
| void | rb_extend_object (VALUE, VALUE) |
| void | rb_define_variable (const char *, VALUE *) |
| void | rb_define_virtual_variable (const char *, VALUE(*(ANYARGS), void(*)(ANYARGS))) |
| void | rb_define_hooked_variable (const char *, VALUE *, VALUE(*(ANYARGS), void(*)(ANYARGS))) |
| void | rb_define_readonly_variable (const char *, 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)) |
| void | rb_define_global_function (const char *, VALUE(*(ANYARGS), int)) |
| void | rb_undef_method (VALUE, const char *) |
| void | rb_define_alias (VALUE, const char *, const char *) |
| void | rb_define_attr (VALUE, const char *, int, int) |
| void | rb_global_variable (VALUE *) |
| void | rb_gc_register_address (VALUE *) |
| void | rb_gc_unregister_address (VALUE *) |
| ID | rb_intern (const char *) |
| char * | rb_id2name (ID) |
| ID | rb_to_id (VALUE) |
| char * | rb_class2name (VALUE) |
| char * | rb_obj_classname (VALUE) |
| void | rb_p (VALUE) |
| VALUE | rb_eval_string (const char *) |
| VALUE | rb_eval_string_protect (const char *, int *) |
| VALUE | rb_eval_string_wrap (const char *, int *) |
| VALUE | rb_funcall (VALUE, ID, int,...) |
| VALUE | rb_funcall2 (VALUE, ID, int, const VALUE *) |
| VALUE | rb_funcall3 (VALUE, ID, int, const VALUE *) |
| int | rb_scan_args (int, const VALUE *, const char *,...) |
| VALUE | rb_call_super (int, const VALUE *) |
| 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) |
| void | rb_raise (VALUE, const char *,...) |
| void | rb_fatal (const char *,...) |
| void | rb_bug (const char *,...) |
| void | rb_sys_fail (const char *) |
| void | rb_iter_break (void) |
| void | rb_exit (int) |
| void | rb_notimplement (void) |
| void | rb_warning (const char *,...) |
| void | rb_sys_warning (const char *,...) |
| void | rb_warn (const char *,...) |
| VALUE | rb_each (VALUE) |
| VALUE | rb_yield (VALUE) |
| VALUE | rb_yield_values (int n,...) |
| VALUE | rb_yield_splat (VALUE) |
| int | rb_block_given_p (void) |
| VALUE | rb_iterate (VALUE(*(VALUE), VALUE, VALUE(*)(ANYARGS), VALUE)) |
| VALUE | rb_rescue (VALUE(*(ANYARGS), VALUE, VALUE(*)(ANYARGS), VALUE)) |
| VALUE | rb_rescue2 (VALUE(*(ANYARGS), VALUE, VALUE(*)(ANYARGS), VALUE,...)) |
| VALUE | rb_ensure (VALUE(*(ANYARGS), VALUE, VALUE(*)(ANYARGS), VALUE)) |
| VALUE | rb_catch (const char *, VALUE(*(ANYARGS), VALUE)) |
| void | rb_throw (const char *, VALUE) |
| VALUE | rb_require (const char *) |
| void | ruby_init (void) |
| void | ruby_options (int, char **) |
| void | ruby_run (void) |
| VALUE | rb_class_of (VALUE obj) |
| int | rb_type (VALUE obj) |
| int | rb_special_const_p (VALUE obj) |
Variables | |
| RUBY_EXTERN int | ruby_safe_level |
| RUBY_EXTERN VALUE | ruby_verbose |
| RUBY_EXTERN VALUE | ruby_debug |
1.3.5