Ruby: ruby.c File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ruby.c File Reference
`#include "ruby/internal/config.h"`
`#include <ctype.h>`
`#include <stdio.h>`
`#include <sys/types.h>`
`#include "dln.h"`
`#include "eval_intern.h"`
`#include "internal.h"`
`#include "internal/error.h"`
`#include "internal/file.h"`
`#include "internal/inits.h"`
`#include "internal/io.h"`
`#include "internal/load.h"`
`#include "internal/loadpath.h"`
`#include "internal/missing.h"`
`#include "internal/object.h"`
`#include "internal/parse.h"`
`#include "internal/process.h"`
`#include "internal/variable.h"`
`#include "mjit.h"`
`#include "ruby/encoding.h"`
`#include "ruby/thread.h"`
`#include "ruby/util.h"`
`#include "ruby/version.h"`
`#include "ruby/internal/error.h"`

Go to the source code of this file.

## Data Structures
struct | ruby_features_t
struct | ruby_cmdline_options
struct | load_file_arg

## Macros
#define | MAXPATHLEN 1024
#define | O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
#define | DISABLE_RUBYGEMS 0
#define | DEFAULT_RUBYGEMS_ENABLED "enabled"
#define | COMMA ,
#define | FEATURE_BIT(bit) (1U << feature_##bit)
#define | EACH_FEATURES(X, SEP)
#define | EACH_DEBUG_FEATURES(X, SEP)
#define | AMBIGUOUS_FEATURE_NAMES 0 /* no ambiguous feature names now */
#define | DEFINE_FEATURE(bit) feature_##bit
#define | DEFINE_DEBUG_FEATURE(bit) feature_debug_##bit
#define | DEBUG_BIT(bit) (1U << feature_debug_##bit)
#define | DUMP_BIT(bit) (1U << dump_##bit)
#define | DEFINE_DUMP(bit) dump_##bit
#define | EACH_DUMPS(X, SEP)
#define | FEATURE_SET_TO(feat, bit_mask, bit_set) rb_feature_set_to(&(feat), bit_mask, bit_set)
#define | FEATURE_SET(feat, bits) FEATURE_SET_TO(feat, bits, bits)
#define | FEATURE_SET_RESTORE(feat, save) FEATURE_SET_TO(feat, (save).mask, (save).set & (save).mask)
#define | FEATURE_SET_P(feat, bits) ((feat).set & (bits))
#define | src_encoding_index GET_VM()->src_encoding_index
#define | forbid_setid(s) forbid_setid((s), opt)
#define | M(shortopt, longopt, desc)
#define | SHOW(m) show_usage_line((m).str, (m).namelen, (m).secondlen, help, highlight, w)
#define | rubylib_path_new rb_str_new
#define | UTF8_PATH 0
#define | IF_UTF8_PATH(t, f) f
#define | str_conv_enc(str, from, to) (str)
#define | INITIAL_LOAD_PATH_MARK rb_intern_const("@gem_prelude_index")
#define | RUBY_RELATIVE(path, len) rubylib_path_new((path), (len))
#define | PREFIX_PATH() RUBY_RELATIVE(ruby_exec_prefix, exec_prefix_len)
#define | NAME_MATCH_P(name, str, len) ((len) < (int)sizeof(name) && name_match_p((name), (str), (len)))
#define | UNSET_WHEN(name, bit, str, len)
#define | SET_WHEN(name, bit, str, len)
#define | LITERAL_NAME_ELEMENT(name) #name
#define | FEATURE_FOUND goto found
#define | SET_FEATURE(bit) if (NAME_MATCH_P(#bit, str, len)) {set |= mask = FEATURE_BIT(bit); FEATURE_FOUND;}
#define | SET_WHEN_DEBUG(bit)
#define | SET_WHEN_DUMP(bit) SET_WHEN(#bit, DUMP_BIT(bit), str, len)
#define | set_internal_encoding_once(opt, e, elen) set_option_encoding_once("default_internal", &(opt)->intern.enc.name, (e), (elen))
#define | set_external_encoding_once(opt, e, elen) set_option_encoding_once("default_external", &(opt)->ext.enc.name, (e), (elen))
#define | set_source_encoding_once(opt, e, elen) set_option_encoding_once("source", &(opt)->src.enc.name, (e), (elen))
#define | is_option_end(c, allow_hyphen) (!(c) || ((allow_hyphen) && (c) == '-') || (c) == '=')
#define | check_envopt(name, allow_envopt)
#define | need_argument(name, s, needs_arg, next_arg)
#define | is_option_with_arg(name, allow_hyphen, allow_envopt) is_option_with_optarg(name, allow_hyphen, allow_envopt, Qtrue, Qtrue)
#define | is_option_with_optarg(name, allow_hyphen, allow_envopt, needs_arg, next_arg)
#define | set_encoding_part(type)
#define | rb_progname (GET_VM()->progname)
#define | rb_orig_progname (GET_VM()->orig_progname)
#define | rb_define_readonly_boolean(name, val) rb_define_virtual_variable((name), (val) ? true_value : false_value, 0)
#define | tty_enabled() 0
#define | SET_COMPILE_OPTION(h, o, name)
#define | MODE_TO_LOAD (O_RDONLY)

## Typedefs
typedef struct ruby_cmdline_options | ruby_cmdline_options_t

## Enumerations
enum | feature_flag_bits { EACH_FEATURES =(DEFINE_FEATURE, COMMA) , feature_debug_flag_first , feature_debug_flag_begin = feature_debug_flag_first - 1 , EACH_DEBUG_FEATURES =(DEFINE_DEBUG_FEATURE, COMMA) , feature_flag_count }
enum | dump_flag_bits { dump_version_v , EACH_DUMPS =(DEFINE_DUMP, COMMA) , dump_exit_bits }
enum | { COMPILATION_FEATURES , DEFAULT_FEATURES }

## Functions
void | Init_ruby_description (void)
char * | getenv ()
void | rb_warning_category_update (unsigned int mask, unsigned int bits)
void | ruby_push_include (const char *path, VALUE(*filter)(VALUE))
void | ruby_incpush (const char *path)
void | ruby_incpush_expand (const char *path)
void | ruby_init_loadpath (void)
int | ruby_env_debug_option (const char *str, int len, void *arg)
void | Init_builtin_features (void)
void | rb_call_builtin_inits (void)
void * | rb_load_file (const char *fname)
void * | rb_load_file_str (VALUE fname_v)
void * | rb_parser_load_file (VALUE parser, VALUE fname_v)
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 argc, char **argv)
void * | ruby_process_options (int argc, char **argv)
void | ruby_sysinit (int *argc, char ***argv)
| Initializes the process for libruby. More...

## Variables
VALUE | ruby_archlibdir_path
VALUE | ruby_prefix_path
const int | ruby_patchlevel
VALUE | rb_argv0
VALUE | rb_e_script

## Macro Definition Documentation

## ◆ AMBIGUOUS_FEATURE_NAMES

#define AMBIGUOUS_FEATURE_NAMES 0 /* no ambiguous feature names now */

Definition at line 108 of file ruby.c.

## ◆ check_envopt

#define check_envopt | ( |  | name,
|  |  | allow_envopt
| ) |  |

Value:
(((allow_envopt) || !envopt) ? (void)0 : \
rb_raise(rb_eRuntimeError, "invalid switch in RUBYOPT: --" name))
rb_raise
void rb_raise(VALUE exc, const char *fmt,...)
Definition: error.c:2917
rb_eRuntimeError
VALUE rb_eRuntimeError
Definition: error.c:1055
name
const char * name
Definition: nkf.c:208

## ◆ COMMA

#define COMMA ,

Definition at line 92 of file ruby.c.

## ◆ DEBUG_BIT

#define DEBUG_BIT | ( |  | bit | ) | (1U << feature_debug_##bit)

Definition at line 119 of file ruby.c.

## ◆ DEFAULT_RUBYGEMS_ENABLED

#define DEFAULT_RUBYGEMS_ENABLED "enabled"

Definition at line 87 of file ruby.c.

## ◆ DEFINE_DEBUG_FEATURE

#define DEFINE_DEBUG_FEATURE | ( |  | bit | ) | feature_debug_##bit

Definition at line 110 of file ruby.c.

## ◆ DEFINE_DUMP

#define DEFINE_DUMP | ( |  | bit | ) | dump_##bit

Definition at line 122 of file ruby.c.

## ◆ DEFINE_FEATURE

#define DEFINE_FEATURE | ( |  | bit | ) | feature_##bit

Definition at line 109 of file ruby.c.

## ◆ DISABLE_RUBYGEMS

#define DISABLE_RUBYGEMS 0

Definition at line 82 of file ruby.c.

## ◆ DUMP_BIT

#define DUMP_BIT | ( |  | bit | ) | (1U << dump_##bit)

Definition at line 121 of file ruby.c.

## ◆ EACH_DEBUG_FEATURES

#define EACH_DEBUG_FEATURES | ( |  | X,
|  |  | SEP
| ) |  |

Value:
X(frozen_string_literal) \
/* END OF DEBUG FEATURES */

Definition at line 105 of file ruby.c.

## ◆ EACH_DUMPS

#define EACH_DUMPS | ( |  | X,
|  |  | SEP
| ) |  |

Value:
X(version) \
SEP \
X(copyright) \
SEP \
X(usage) \
SEP \
X(help) \
SEP \
X(yydebug) \
SEP \
X(syntax) \
SEP \
X(parsetree) \
SEP \
X(parsetree_with_comment) \
SEP \
X(insns) \
/* END OF DUMPS */
yydebug
#define yydebug
Definition: ripper.c:144
help
void help(int exitval)
Definition: untgz.c:581

Definition at line 123 of file ruby.c.

## ◆ EACH_FEATURES

#define EACH_FEATURES | ( |  | X,
|  |  | SEP
| ) |  |

Value:
X(gems) \
SEP \
X(did_you_mean) \
SEP \
X(rubyopt) \
SEP \
X(frozen_string_literal) \
SEP \
X(jit) \
/* END OF FEATURES */

Definition at line 94 of file ruby.c.

## ◆ FEATURE_BIT

#define FEATURE_BIT | ( |  | bit | ) | (1U << feature_##bit)

Definition at line 93 of file ruby.c.

## ◆ FEATURE_FOUND

#define FEATURE_FOUND goto found

## ◆ FEATURE_SET

#define FEATURE_SET | ( |  | feat,
|  |  | bits
| ) |  | FEATURE_SET_TO(feat, bits, bits)

Definition at line 166 of file ruby.c.

## ◆ FEATURE_SET_P

#define FEATURE_SET_P | ( |  | feat,
|  |  | bits
| ) |  | ((feat).set & (bits))

Definition at line 168 of file ruby.c.

## ◆ FEATURE_SET_RESTORE

#define FEATURE_SET_RESTORE | ( |  | feat,
|  |  | save
| ) |  | FEATURE_SET_TO(feat, (save).mask, (save).set & (save).mask)

Definition at line 167 of file ruby.c.

## ◆ FEATURE_SET_TO

#define FEATURE_SET_TO | ( |  | feat,
|  |  | bit_mask,
|  |  | bit_set
| ) |  | rb_feature_set_to(&(feat), bit_mask, bit_set)

Definition at line 164 of file ruby.c.

## ◆ forbid_setid

#define forbid_setid | ( |  | s | ) | forbid_setid((s), opt)

Definition at line 237 of file ruby.c.

## ◆ IF_UTF8_PATH

#define IF_UTF8_PATH | ( |  | t,
|  |  | f
| ) |  | f

Definition at line 517 of file ruby.c.

## ◆ INITIAL_LOAD_PATH_MARK

#define INITIAL_LOAD_PATH_MARK rb_intern_const("@gem_prelude_index")

Definition at line 607 of file ruby.c.

## ◆ is_option_end

#define is_option_end | ( |  | c,
|  |  | allow_hyphen
| ) |  | (!(c) || ((allow_hyphen) && (c) == '-') || (c) == '=')

## ◆ is_option_with_arg

#define is_option_with_arg | ( |  | name,
|  |  | allow_hyphen,
|  |  | allow_envopt
| ) |  | is_option_with_optarg(name, allow_hyphen, allow_envopt, Qtrue, Qtrue)

## ◆ is_option_with_optarg

#define is_option_with_optarg | ( |  | name,
|  |  | allow_hyphen,
|  |  | allow_envopt,
|  |  | needs_arg,
|  |  | next_arg
| ) |  |

Value:
(strncmp((name), s, n = sizeof(name) - 1) == 0 && is_option_end(s[n], (allow_hyphen)) ? \
(check_envopt(name, (allow_envopt)), s += n, \
need_argument(name, s, needs_arg, next_arg), 1) : 0)
is_option_end
#define is_option_end(c, allow_hyphen)
check_envopt
#define check_envopt(name, allow_envopt)

## ◆ LITERAL_NAME_ELEMENT

#define LITERAL_NAME_ELEMENT | ( |  | name | ) | #name

Definition at line 908 of file ruby.c.

## ◆ M

#define M | ( |  | shortopt,
|  |  | longopt,
|  |  | desc
| ) |  |

Value:
{ \
shortopt " " longopt " " desc, \
(unsigned short)sizeof(shortopt), \
(unsigned short)sizeof(longopt), \
}

## ◆ MAXPATHLEN

#define MAXPATHLEN 1024

Definition at line 69 of file ruby.c.

## ◆ MODE_TO_LOAD

#define MODE_TO_LOAD (O_RDONLY)

## ◆ NAME_MATCH_P

#define NAME_MATCH_P | ( |  | name,
|  |  | str,
|  |  | len
| ) |  | ((len) < (int)sizeof(name) && name_match_p((name), (str), (len)))

Definition at line 893 of file ruby.c.

## ◆ need_argument

#define need_argument | ( |  | name,
|  |  | s,
|  |  | needs_arg,
|  |  | next_arg
| ) |  |

Value:
((*(s) ? !*++(s) : (next_arg) && (!argc || !((s) = argv[1]) || (--argc, ++argv, 0))) && (needs_arg) ? \
rb_raise(rb_eRuntimeError, "missing argument for --" name) \
: (void)0)
argc
int argc
Definition: ruby.c:240
argv
char ** argv
Definition: ruby.c:241

## ◆ O_ACCMODE

#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)

Definition at line 72 of file ruby.c.

## ◆ PREFIX_PATH

#define PREFIX_PATH | ( |  | ) | RUBY_RELATIVE(ruby_exec_prefix, exec_prefix_len)

## ◆ rb_define_readonly_boolean

#define rb_define_readonly_boolean | ( |  | name,
|  |  | val
| ) |  | rb_define_virtual_variable((name), (val) ? true_value : false_value, 0)

Definition at line 1567 of file ruby.c.

## ◆ rb_orig_progname

#define rb_orig_progname (GET_VM()->orig_progname)

Definition at line 1551 of file ruby.c.

## ◆ rb_progname

#define rb_progname (GET_VM()->progname)

Definition at line 1550 of file ruby.c.

## ◆ RUBY_RELATIVE

#define RUBY_RELATIVE | ( |  | path,
|  |  | len
| ) |  | rubylib_path_new((path), (len))

## ◆ rubylib_path_new

#define rubylib_path_new rb_str_new

Definition at line 372 of file ruby.c.

## ◆ SET_COMPILE_OPTION

#define SET_COMPILE_OPTION | ( |  | h,
|  |  | o,
|  |  | name
| ) |  |

Value:
rb_hash_aset((h), ID2SYM(rb_intern_const(#name)), \
(FEATURE_SET_P(o->features, FEATURE_BIT(name)) ? Qtrue : Qfalse));
rb_hash_aset
VALUE rb_hash_aset(VALUE hash, VALUE key, VALUE val)
Definition: hash.c:2901
ID2SYM
#define ID2SYM
Definition: symbol.h:44
FEATURE_BIT
#define FEATURE_BIT(bit)
Definition: ruby.c:93
FEATURE_SET_P
#define FEATURE_SET_P(feat, bits)
Definition: ruby.c:168
Qtrue
#define Qtrue
Definition: special_consts.h:52
Qfalse
#define Qfalse
Definition: special_consts.h:50

## ◆ set_encoding_part

#define set_encoding_part | ( |  | type | ) |

Value:
if (!(p = strchr(s, ':'))) { \
set_##type##_encoding_once(opt, s, 0); \
break; \
} \
else if (p > s) { \
set_##type##_encoding_once(opt, s, p-s); \
}
strchr
char * strchr(char *, char)
ruby::backward::cxxanyargs::type
VALUE type(ANYARGS)
ANYARGS-ed function type.
Definition: cxxanyargs.hpp:56

## ◆ set_external_encoding_once

#define set_external_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("default_external", &(opt)->ext.enc.name, (e), (elen))

Definition at line 1015 of file ruby.c.

## ◆ SET_FEATURE

#define SET_FEATURE | ( |  | bit | ) | if (NAME_MATCH_P(#bit, str, len)) {set |= mask = FEATURE_BIT(bit); FEATURE_FOUND;}

## ◆ set_internal_encoding_once

#define set_internal_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("default_internal", &(opt)->intern.enc.name, (e), (elen))

Definition at line 1013 of file ruby.c.

## ◆ set_source_encoding_once

#define set_source_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("source", &(opt)->src.enc.name, (e), (elen))

Definition at line 1017 of file ruby.c.

## ◆ SET_WHEN

#define SET_WHEN | ( |  | name,
|  |  | bit,
|  |  | str,
|  |  | len
| ) |  |

Value:
if (NAME_MATCH_P((name), (str), (len))) { \
*(unsigned int *)arg |= (bit); \
return; \
}
len
uint8_t len
Definition: escape.c:17
str
char str[HTML_ESCAPE_MAX_LEN+1]
Definition: escape.c:18
NAME_MATCH_P
#define NAME_MATCH_P(name, str, len)
Definition: ruby.c:893

Definition at line 902 of file ruby.c.

## ◆ SET_WHEN_DEBUG

#define SET_WHEN_DEBUG | ( |  | bit | ) |

Value:
if (NAME_MATCH_P(#bit, str, len)) { \
FEATURE_SET(*argp, DEBUG_BIT(bit)); \
return; \
}
DEBUG_BIT
#define DEBUG_BIT(bit)
Definition: ruby.c:119

## ◆ SET_WHEN_DUMP

#define SET_WHEN_DUMP | ( |  | bit | ) | SET_WHEN(#bit, DUMP_BIT(bit), str, len)

## ◆ SHOW

#define SHOW | ( |  | m | ) | show_usage_line((m).str, (m).namelen, (m).secondlen, help, highlight, w)

## ◆ src_encoding_index

#define src_encoding_index GET_VM()->src_encoding_index

Definition at line 200 of file ruby.c.

## ◆ str_conv_enc

#define str_conv_enc | ( |  | str,
|  |  | from,
|  |  | to
| ) |  | (str)

Definition at line 529 of file ruby.c.

## ◆ tty_enabled

#define tty_enabled | ( |  | ) | 0

Definition at line 1678 of file ruby.c.

## ◆ UNSET_WHEN

#define UNSET_WHEN | ( |  | name,
|  |  | bit,
|  |  | str,
|  |  | len
| ) |  |

Value:
if (NAME_MATCH_P((name), (str), (len))) { \
*(unsigned int *)arg &= ~(bit); \
return; \
}

Definition at line 896 of file ruby.c.

## ◆ UTF8_PATH

#define UTF8_PATH 0

Definition at line 512 of file ruby.c.

## Typedef Documentation

## ◆ ruby_cmdline_options_t

typedef struct ruby_cmdline_options ruby_cmdline_options_t

Definition at line 150 of file ruby.c.

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
COMPILATION_FEATURES |
DEFAULT_FEATURES |

Definition at line 202 of file ruby.c.

## ◆ dump_flag_bits

enum dump_flag_bits

Enumerator
dump_version_v |
EACH_DUMPS |
dump_exit_bits |

Definition at line 142 of file ruby.c.

## ◆ feature_flag_bits

enum feature_flag_bits

Enumerator
EACH_FEATURES |
feature_debug_flag_first |
feature_debug_flag_begin |
EACH_DEBUG_FEATURES |
feature_flag_count |

Definition at line 111 of file ruby.c.

## Function Documentation

## ◆ getenv()

char * getenv | ( |  | ) |

Referenced by ruby_init_loadpath().

## ◆ Init_builtin_features()

void Init_builtin_features | ( | void |  | ) |

Definition at line 66 of file builtin.c.

References NULL, and rb_load_with_builtin_functions().

## ◆ Init_ruby_description()

void Init_ruby_description | ( | void |  | ) |

Definition at line 100 of file version.c.

References MJIT_OPTS_ON, MKSTR, and rb_define_global_const().

## ◆ rb_call_builtin_inits()

void rb_call_builtin_inits | ( | void |  | ) |

Definition at line 85 of file inits.c.

References BUILTIN.

## ◆ rb_load_file()

void * rb_load_file | ( | const char * | fname | ) |

Definition at line 2361 of file ruby.c.

References load_file_arg::fname, rb_load_file_str(), and rb_str_new_cstr.

## ◆ rb_load_file_str()

void * rb_load_file_str | ( | VALUE | fname_v | ) |

Definition at line 2368 of file ruby.c.

References rb_parser_load_file(), and rb_parser_new().

Referenced by rb_load_file().

## ◆ rb_parser_load_file()

void * rb_parser_load_file | ( | VALUE | parser,
|  | VALUE | fname_v
| ) |  |

Definition at line 2374 of file ruby.c.

References f, load_file_arg::opt, and load_file_arg::parser.

Referenced by rb_load_file_str().

## ◆ ruby_env_debug_option()

int ruby_env_debug_option | ( | const char * | str,
|  | int | len,
|  | void * | arg
| ) |  |

Definition at line 176 of file debug.c.

References len, NAME_MATCH_VALUE, numberof, Qtrue, ruby_enable_coredump, ruby_initial_gc_stress_ptr, ruby_on_ci, ruby_rgengc_debug, SET_UINT_LIST, and SET_WHEN.

## ◆ ruby_incpush_expand()

void ruby_incpush_expand | ( | const char * | path | ) |

Definition at line 473 of file ruby.c.

References ruby_push_include().

## ◆ ruby_push_include()

void ruby_push_include | ( | const char * | path,
|  | VALUE(*)(VALUE) | filter
| ) |  |

Definition at line 436 of file ruby.c.

Referenced by ruby_incpush(), ruby_incpush_expand(), and ruby_init_loadpath().

## Variable Documentation

## ◆ argc

int argc

Definition at line 240 of file ruby.c.

Referenced by compat_init_setproctitle(), goruby_options(), main(), matchname(), rb_add_method_cfunc(), rb_apply(), rb_arith_seq_new(), rb_ary_aref(), rb_ary_last(), rb_block_call(), rb_block_call_kw(), rb_call_super(), rb_call_super_kw(), rb_check_block_call(), rb_check_funcall(), rb_check_funcall_basic_kw(), rb_check_funcall_default(), rb_check_funcall_kw(), rb_check_funcall_with_hook(), rb_check_funcall_with_hook_kw(), rb_class_instance_methods(), rb_class_new_instance(), rb_class_new_instance_kw(), rb_class_new_instance_pass_kw(), rb_class_private_instance_methods(), rb_class_protected_instance_methods(), rb_class_public_instance_methods(), rb_define_global_function(), rb_define_method(), rb_define_method_id(), rb_define_module_function(), rb_define_private_method(), rb_define_protected_method(), rb_define_singleton_method(), rb_enum_values_pack(), rb_enumeratorize(), rb_enumeratorize_with_size(), rb_enumeratorize_with_size_kw(), rb_error_arity(), rb_execarg_commandline(), rb_execarg_new(), rb_f_abort(), rb_f_eval(), rb_f_exec(), rb_f_exit(), rb_f_kill(), rb_f_raise(), rb_f_send(), rb_f_sprintf(), rb_f_trace_var(), rb_f_untrace_var(), rb_fiber_resume(), rb_fiber_resume_kw(), rb_fiber_start(), rb_fiber_transfer(), rb_fiber_yield(), rb_fiber_yield_kw(), rb_file_s_absolute_path(), rb_file_s_expand_path(), rb_funcall_passing_block(), rb_funcall_passing_block_kw(), rb_funcall_with_block(), rb_funcall_with_block_kw(), rb_funcallv(), rb_funcallv_kw(), rb_funcallv_public(), rb_funcallv_public_kw(), rb_get_values_at(), rb_hash_bulk_insert(), rb_hash_bulk_insert_into_st_table(), rb_hash_values_at(), rb_immutable_obj_clone(), rb_int_powm(), rb_io_print(), rb_io_printf(), rb_io_puts(), rb_lambda_call(), rb_make_exception(), rb_make_no_method_exception(), rb_math_log(), rb_method_call(), rb_method_call_kw(), rb_method_call_with_block(), rb_method_call_with_block_kw(), rb_mod_class_variables(), rb_mod_constants(), rb_mod_deprecate_constant(), rb_mod_module_eval(), rb_mod_module_exec(), rb_mod_private_constant(), rb_mod_public_constant(), rb_obj_call_init(), rb_obj_call_init_kw(), rb_obj_dig(), rb_obj_instance_eval(), rb_obj_instance_exec(), rb_obj_methods(), rb_obj_private_methods(), rb_obj_protected_methods(), rb_obj_public_methods(), rb_obj_singleton_methods(), rb_proc_call_kw(), rb_proc_call_with_block(), rb_proc_call_with_block_kw(), rb_process_status_waitv(), rb_scan_args(), rb_scan_args_kw(), rb_scheduler_kernel_sleepv(), rb_spawn(), rb_spawn_err(), rb_str_encode(), rb_str_format(), rb_sym_proc_call(), rb_vm_backtrace(), rb_vm_backtrace_locations(), rb_vm_call0(), rb_vm_call_kw(), rb_vm_invoke_bmethod(), rb_vm_invoke_proc(), rb_vm_invoke_proc_with_self(), rb_vm_thread_backtrace(), rb_vm_thread_backtrace_locations(), rb_w32_asynchronize(), rb_w32_sysinit(), rb_yield_block(), rb_yield_values2(), rb_yield_values_kw(), rsock_bsock_send(), rsock_s_recvfrom(), ruby_options(), ruby_process_options(), ruby_set_argv(), ruby_sysinit(), and tar().

## ◆ argv

char** argv

Definition at line 241 of file ruby.c.

Referenced by asn1time_to_time(), compat_init_setproctitle(), ffi_prep_args(), goruby_options(), main(), matchname(), rb_apply(), rb_arith_seq_new(), rb_ary_aref(), rb_ary_cat(), rb_ary_last(), rb_block_call(), rb_block_call_kw(), rb_call_super(), rb_call_super_kw(), rb_check_block_call(), rb_check_funcall(), rb_check_funcall_basic_kw(), rb_check_funcall_default(), rb_check_funcall_kw(), rb_check_funcall_with_hook(), rb_check_funcall_with_hook_kw(), rb_class_instance_methods(), rb_class_new_instance(), rb_class_new_instance_kw(), rb_class_new_instance_pass_kw(), rb_class_private_instance_methods(), rb_class_protected_instance_methods(), rb_class_public_instance_methods(), rb_enum_values_pack(), rb_enumeratorize(), rb_enumeratorize_with_size(), rb_enumeratorize_with_size_kw(), rb_execarg_commandline(), rb_execarg_new(), rb_f_abort(), rb_f_eval(), rb_f_exec(), rb_f_exit(), rb_f_kill(), rb_f_raise(), rb_f_send(), rb_f_sprintf(), rb_f_trace_var(), rb_f_untrace_var(), rb_fiber_resume(), rb_fiber_resume_kw(), rb_fiber_start(), rb_fiber_transfer(), rb_fiber_yield(), rb_fiber_yield_kw(), rb_fiddle_new_function(), rb_file_s_absolute_path(), rb_file_s_expand_path(), rb_funcall(), rb_funcall_passing_block(), rb_funcall_passing_block_kw(), rb_funcall_with_block(), rb_funcall_with_block_kw(), rb_funcallv(), rb_funcallv_kw(), rb_funcallv_public(), rb_funcallv_public_kw(), rb_get_values_at(), rb_hash_bulk_insert(), rb_hash_bulk_insert_into_st_table(), rb_hash_values_at(), rb_immutable_obj_clone(), rb_int_powm(), rb_io_print(), rb_io_printf(), rb_io_puts(), rb_lambda_call(), rb_make_exception(), rb_make_no_method_exception(), rb_math_log(), rb_method_call(), rb_method_call_kw(), rb_method_call_with_block(), rb_method_call_with_block_kw(), rb_mod_class_variables(), rb_mod_constants(), rb_mod_deprecate_constant(), rb_mod_module_eval(), rb_mod_module_exec(), rb_mod_private_constant(), rb_mod_public_constant(), rb_name_error(), rb_name_error_str(), rb_obj_call_init(), rb_obj_call_init_kw(), rb_obj_dig(), rb_obj_instance_eval(), rb_obj_instance_exec(), rb_obj_methods(), rb_obj_private_methods(), rb_obj_protected_methods(), rb_obj_public_methods(), rb_obj_singleton_methods(), rb_proc_call_kw(), rb_proc_call_with_block(), rb_proc_call_with_block_kw(), rb_process_status_waitv(), rb_scan_args(), rb_scan_args_kw(), rb_scheduler_kernel_sleepv(), rb_spawn(), rb_spawn_err(), rb_str_encode(), rb_str_format(), rb_sym_proc_call(), rb_threadptr_signal_exit(), rb_threadptr_signal_raise(), rb_vm_backtrace(), rb_vm_backtrace_locations(), rb_vm_call0(), rb_vm_call_kw(), rb_vm_invoke_bmethod(), rb_vm_invoke_proc(), rb_vm_invoke_proc_with_self(), rb_vm_thread_backtrace(), rb_vm_thread_backtrace_locations(), rb_w32_aspawn(), rb_w32_aspawn_flags(), rb_w32_asynchronize(), rb_w32_start_process(), rb_w32_sysinit(), rb_w32_uaspawn(), rb_w32_uaspawn_flags(), rb_yield_block(), rb_yield_values(), rb_yield_values2(), rb_yield_values_kw(), rsock_bsock_send(), rsock_s_recvfrom(), ruby_options(), ruby_process_options(), ruby_set_argv(), ruby_sysinit(), and tar().

## ◆ rb_argv0

VALUE rb_argv0

Definition at line 1552 of file ruby.c.

Referenced by ruby_process_options().

## ◆ rb_e_script

VALUE rb_e_script

Definition at line 1553 of file ruby.c.

## ◆ ruby_archlibdir_path

VALUE ruby_archlibdir_path

Definition at line 609 of file ruby.c.

Referenced by ruby_init_loadpath().

## ◆ ruby_patchlevel

const int ruby_patchlevel
| extern

Definition at line 42 of file version.c.

Referenced by Init_version().

## ◆ ruby_prefix_path

VALUE ruby_prefix_path

Definition at line 609 of file ruby.c.

Referenced by ruby_init_loadpath().