Ruby  2.5.0dev(2017-10-22revision60238)
intern.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  intern.h -
4 
5  $Author$
6  created at: Thu Jun 10 14:22:17 JST 1993
7 
8  Copyright (C) 1993-2007 Yukihiro Matsumoto
9  Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
10  Copyright (C) 2000 Information-technology Promotion Agency, Japan
11 
12 **********************************************************************/
13 
14 #ifndef RUBY_INTERN_H
15 #define RUBY_INTERN_H 1
16 
17 #if defined(__cplusplus)
18 extern "C" {
19 #if 0
20 } /* satisfy cc-mode */
21 #endif
22 #endif
23 
24 #include "ruby/defines.h"
25 #ifdef RUBY_EXTCONF_H
26 #include RUBY_EXTCONF_H
27 #endif
28 
29 #ifdef HAVE_STDARG_PROTOTYPES
30 # include <stdarg.h>
31 #else
32 # include <varargs.h>
33 #endif
34 
35 #include "ruby/st.h"
36 
38 
39 /*
40  * Functions and variables that are used by more than one source file of
41  * the kernel.
42  */
43 
44 #define UNLIMITED_ARGUMENTS (-1)
45 
46 /* array.c */
47 void rb_mem_clear(register VALUE*, register long);
50 VALUE rb_ary_new(void);
51 VALUE rb_ary_new_capa(long capa);
52 VALUE rb_ary_new_from_args(long n, ...);
53 VALUE rb_ary_new_from_values(long n, const VALUE *elts);
54 VALUE rb_ary_tmp_new(long);
55 void rb_ary_free(VALUE);
56 void rb_ary_modify(VALUE);
59 VALUE rb_ary_aref(int, const VALUE*, VALUE);
60 VALUE rb_ary_subseq(VALUE, long, long);
61 void rb_ary_store(VALUE, long, VALUE);
66 VALUE rb_ary_cat(VALUE, const VALUE *, long);
71 VALUE rb_ary_entry(VALUE, long);
87 VALUE rb_ary_replace(VALUE copy, VALUE orig);
88 VALUE rb_get_values_at(VALUE, long, int, const VALUE*, VALUE(*)(VALUE,long));
89 VALUE rb_ary_resize(VALUE ary, long len);
90 #define rb_ary_new2 rb_ary_new_capa
91 #define rb_ary_new3 rb_ary_new_from_args
92 #define rb_ary_new4 rb_ary_new_from_values
93 /* bignum.c */
94 VALUE rb_big_new(size_t, int);
95 int rb_bigzero_p(VALUE x);
97 void rb_big_2comp(VALUE);
99 void rb_big_resize(VALUE big, size_t len);
100 VALUE rb_cstr_to_inum(const char*, int, int);
101 VALUE rb_str_to_inum(VALUE, int, int);
102 VALUE rb_cstr2inum(const char*, int);
103 VALUE rb_str2inum(VALUE, int);
104 VALUE rb_big2str(VALUE, int);
105 long rb_big2long(VALUE);
106 #define rb_big2int(x) rb_big2long(x)
107 unsigned long rb_big2ulong(VALUE);
108 #define rb_big2uint(x) rb_big2ulong(x)
109 #if HAVE_LONG_LONG
110 LONG_LONG rb_big2ll(VALUE);
111 unsigned LONG_LONG rb_big2ull(VALUE);
112 #endif /* HAVE_LONG_LONG */
113 void rb_big_pack(VALUE val, unsigned long *buf, long num_longs);
114 VALUE rb_big_unpack(unsigned long *buf, long num_longs);
115 int rb_uv_to_utf8(char[6],unsigned long);
116 VALUE rb_dbl2big(double);
117 double rb_big2dbl(VALUE);
134 
135 /* For rb_integer_pack and rb_integer_unpack: */
136 /* "MS" in MSWORD and MSBYTE means "most significant" */
137 /* "LS" in LSWORD and LSBYTE means "least significant" */
138 #define INTEGER_PACK_MSWORD_FIRST 0x01
139 #define INTEGER_PACK_LSWORD_FIRST 0x02
140 #define INTEGER_PACK_MSBYTE_FIRST 0x10
141 #define INTEGER_PACK_LSBYTE_FIRST 0x20
142 #define INTEGER_PACK_NATIVE_BYTE_ORDER 0x40
143 #define INTEGER_PACK_2COMP 0x80
144 #define INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION 0x400
145 /* For rb_integer_unpack: */
146 #define INTEGER_PACK_FORCE_BIGNUM 0x100
147 #define INTEGER_PACK_NEGATIVE 0x200
148 /* Combinations: */
149 #define INTEGER_PACK_LITTLE_ENDIAN \
150  (INTEGER_PACK_LSWORD_FIRST | \
151  INTEGER_PACK_LSBYTE_FIRST)
152 #define INTEGER_PACK_BIG_ENDIAN \
153  (INTEGER_PACK_MSWORD_FIRST | \
154  INTEGER_PACK_MSBYTE_FIRST)
155 int rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags);
156 VALUE rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags);
157 size_t rb_absint_size(VALUE val, int *nlz_bits_ret);
158 size_t rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret);
160 
161 /* rational.c */
163 #define rb_rational_raw1(x) rb_rational_raw((x), INT2FIX(1))
164 #define rb_rational_raw2(x,y) rb_rational_raw((x), (y))
166 #define rb_rational_new1(x) rb_rational_new((x), INT2FIX(1))
167 #define rb_rational_new2(x,y) rb_rational_new((x), (y))
169 #define rb_Rational1(x) rb_Rational((x), INT2FIX(1))
170 #define rb_Rational2(x,y) rb_Rational((x), (y))
175 /* complex.c */
177 #define rb_complex_raw1(x) rb_complex_raw((x), INT2FIX(0))
178 #define rb_complex_raw2(x,y) rb_complex_raw((x), (y))
180 #define rb_complex_new1(x) rb_complex_new((x), INT2FIX(0))
181 #define rb_complex_new2(x,y) rb_complex_new((x), (y))
184 #define rb_Complex1(x) rb_Complex((x), INT2FIX(0))
185 #define rb_Complex2(x,y) rb_Complex((x), (y))
186 /* class.c */
194 VALUE rb_module_new(void);
205 void rb_define_method_id(VALUE, ID, VALUE (*)(ANYARGS), int);
207 void rb_undef(VALUE, ID);
208 void rb_define_protected_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
209 void rb_define_private_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
210 void rb_define_singleton_method(VALUE, const char*, VALUE(*)(ANYARGS), int);
212 /* compar.c */
213 int rb_cmpint(VALUE, VALUE, VALUE);
214 NORETURN(void rb_cmperr(VALUE, VALUE));
215 /* cont.c */
217 VALUE rb_fiber_resume(VALUE fib, int argc, const VALUE *argv);
218 VALUE rb_fiber_yield(int argc, const VALUE *argv);
219 VALUE rb_fiber_current(void);
221 /* enum.c */
222 VALUE rb_enum_values_pack(int, const VALUE*);
223 /* enumerator.c */
224 VALUE rb_enumeratorize(VALUE, VALUE, int, const VALUE *);
227 #ifndef RUBY_EXPORT
228 #define rb_enumeratorize_with_size(obj, id, argc, argv, size_fn) \
229  rb_enumeratorize_with_size(obj, id, argc, argv, (rb_enumerator_size_func *)(size_fn))
230 #endif
231 #define SIZED_ENUMERATOR(obj, argc, argv, size_fn) \
232  rb_enumeratorize_with_size((obj), ID2SYM(rb_frame_this_func()), \
233  (argc), (argv), (size_fn))
234 #define RETURN_SIZED_ENUMERATOR(obj, argc, argv, size_fn) do { \
235  if (!rb_block_given_p()) \
236  return SIZED_ENUMERATOR(obj, argc, argv, size_fn); \
237  } while (0)
238 #define RETURN_ENUMERATOR(obj, argc, argv) RETURN_SIZED_ENUMERATOR(obj, argc, argv, 0)
239 /* error.c */
240 VALUE rb_exc_new(VALUE, const char*, long);
241 VALUE rb_exc_new_cstr(VALUE, const char*);
243 #define rb_exc_new2 rb_exc_new_cstr
244 #define rb_exc_new3 rb_exc_new_str
245 PRINTF_ARGS(NORETURN(void rb_loaderror(const char*, ...)), 1, 2);
246 PRINTF_ARGS(NORETURN(void rb_loaderror_with_path(VALUE path, const char*, ...)), 2, 3);
247 PRINTF_ARGS(NORETURN(void rb_name_error(ID, const char*, ...)), 2, 3);
248 PRINTF_ARGS(NORETURN(void rb_name_error_str(VALUE, const char*, ...)), 2, 3);
249 NORETURN(void rb_invalid_str(const char*, const char*));
250 NORETURN(void rb_error_frozen(const char*));
253 void rb_check_frozen(VALUE);
255 #define rb_check_frozen_internal(obj) do { \
256  VALUE frozen_obj = (obj); \
257  if (OBJ_FROZEN(frozen_obj)) { \
258  rb_error_frozen_object(frozen_obj); \
259  } \
260  } while (0)
261 #define rb_check_trusted_internal(obj) ((void) 0)
262 #ifdef __GNUC__
263 #define rb_check_frozen(obj) __extension__({rb_check_frozen_internal(obj);})
264 #define rb_check_trusted(obj) __extension__({rb_check_trusted_internal(obj);})
265 #else
266 static inline void
267 rb_check_frozen_inline(VALUE obj)
268 {
270 }
271 #define rb_check_frozen(obj) rb_check_frozen_inline(obj)
272 static inline void
273 rb_check_trusted_inline(VALUE obj)
274 {
276 }
277 #define rb_check_trusted(obj) rb_check_trusted_inline(obj)
278 #endif
279 void rb_check_copyable(VALUE obj, VALUE orig);
280 
281 #define RB_OBJ_INIT_COPY(obj, orig) \
282  ((obj) != (orig) && (rb_obj_init_copy((obj), (orig)), 1))
283 #define OBJ_INIT_COPY(obj, orig) RB_OBJ_INIT_COPY(obj, orig)
284 
285 /* eval.c */
286 int rb_sourceline(void);
287 const char *rb_sourcefile(void);
288 VALUE rb_check_funcall(VALUE, ID, int, const VALUE*);
289 
290 NORETURN(void rb_error_arity(int, int, int));
291 static inline int
292 rb_check_arity(int argc, int min, int max)
293 {
294  if ((argc < min) || (max != UNLIMITED_ARGUMENTS && argc > max))
295  rb_error_arity(argc, min, max);
296  return argc;
297 }
298 #define rb_check_arity rb_check_arity /* for ifdef */
299 
300 #if defined(NFDBITS) && defined(HAVE_RB_FD_INIT)
301 typedef struct {
302  int maxfd;
303  fd_set *fdset;
304 } rb_fdset_t;
305 
306 void rb_fd_init(rb_fdset_t *);
307 void rb_fd_term(rb_fdset_t *);
308 void rb_fd_zero(rb_fdset_t *);
309 void rb_fd_set(int, rb_fdset_t *);
310 void rb_fd_clr(int, rb_fdset_t *);
311 int rb_fd_isset(int, const rb_fdset_t *);
312 void rb_fd_copy(rb_fdset_t *, const fd_set *, int);
313 void rb_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src);
314 
315 struct timeval;
316 int rb_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);
317 
318 #define rb_fd_ptr(f) ((f)->fdset)
319 #define rb_fd_max(f) ((f)->maxfd)
320 
321 #elif defined(_WIN32)
322 
323 typedef struct {
324  int capa;
325  fd_set *fdset;
326 } rb_fdset_t;
327 
328 void rb_fd_init(rb_fdset_t *);
329 void rb_fd_term(rb_fdset_t *);
330 #define rb_fd_zero(f) ((f)->fdset->fd_count = 0)
331 void rb_fd_set(int, rb_fdset_t *);
332 #define rb_fd_clr(n, f) rb_w32_fdclr((n), (f)->fdset)
333 #define rb_fd_isset(n, f) rb_w32_fdisset((n), (f)->fdset)
334 #define rb_fd_copy(d, s, n) rb_w32_fd_copy((d), (s), (n))
335 void rb_w32_fd_copy(rb_fdset_t *, const fd_set *, int);
336 #define rb_fd_dup(d, s) rb_w32_fd_dup((d), (s))
337 void rb_w32_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src);
338 #define rb_fd_select(n, rfds, wfds, efds, timeout) rb_w32_select((n), (rfds) ? ((rb_fdset_t*)(rfds))->fdset : NULL, (wfds) ? ((rb_fdset_t*)(wfds))->fdset : NULL, (efds) ? ((rb_fdset_t*)(efds))->fdset: NULL, (timeout))
339 #define rb_fd_resize(n, f) ((void)(f))
340 
341 #define rb_fd_ptr(f) ((f)->fdset)
342 #define rb_fd_max(f) ((f)->fdset->fd_count)
343 
344 #else
345 
346 typedef fd_set rb_fdset_t;
347 #define rb_fd_zero(f) FD_ZERO(f)
348 #define rb_fd_set(n, f) FD_SET((n), (f))
349 #define rb_fd_clr(n, f) FD_CLR((n), (f))
350 #define rb_fd_isset(n, f) FD_ISSET((n), (f))
351 #define rb_fd_copy(d, s, n) (*(d) = *(s))
352 #define rb_fd_dup(d, s) (*(d) = *(s))
353 #define rb_fd_resize(n, f) ((void)(f))
354 #define rb_fd_ptr(f) (f)
355 #define rb_fd_init(f) FD_ZERO(f)
356 #define rb_fd_init_copy(d, s) (*(d) = *(s))
357 #define rb_fd_term(f) ((void)(f))
358 #define rb_fd_max(f) FD_SETSIZE
359 #define rb_fd_select(n, rfds, wfds, efds, timeout) select((n), (rfds), (wfds), (efds), (timeout))
360 
361 #endif
362 
365 NORETURN(VALUE rb_f_exit(int, const VALUE*));
366 NORETURN(VALUE rb_f_abort(int, const VALUE*));
367 void rb_remove_method(VALUE, const char*);
369 #define HAVE_RB_DEFINE_ALLOC_FUNC 1
374 void rb_clear_constant_cache(void);
376 void rb_alias(VALUE, ID, ID);
377 void rb_attr(VALUE,ID,int,int,int);
378 int rb_method_boundp(VALUE, ID, int);
381 int rb_obj_respond_to(VALUE, ID, int);
382 int rb_respond_to(VALUE, ID);
383 NORETURN(VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj));
384 #if !defined(RUBY_EXPORT) && defined(_WIN32)
385 RUBY_EXTERN VALUE (*const rb_f_notimplement_)(int, const VALUE *, VALUE);
386 #define rb_f_notimplement (*rb_f_notimplement_)
387 #endif
388 NORETURN(void rb_interrupt(void));
389 VALUE rb_apply(VALUE, ID, VALUE);
390 void rb_backtrace(void);
391 ID rb_frame_this_func(void);
392 VALUE rb_obj_instance_eval(int, const VALUE*, VALUE);
393 VALUE rb_obj_instance_exec(int, const VALUE*, VALUE);
394 VALUE rb_mod_module_eval(int, const VALUE*, VALUE);
395 VALUE rb_mod_module_exec(int, const VALUE*, VALUE);
396 void rb_load(VALUE, int);
397 void rb_load_protect(VALUE, int, int*);
398 NORETURN(void rb_jump_tag(int));
399 int rb_provided(const char*);
400 int rb_feature_provided(const char *, const char **);
401 void rb_provide(const char*);
402 VALUE rb_f_require(VALUE, VALUE);
403 VALUE rb_require_safe(VALUE, int);
404 void rb_obj_call_init(VALUE, int, const VALUE*);
405 VALUE rb_class_new_instance(int, const VALUE*, VALUE);
406 VALUE rb_block_proc(void);
407 VALUE rb_block_lambda(void);
408 VALUE rb_proc_new(VALUE (*)(ANYARGS/* VALUE yieldarg[, VALUE procarg] */), VALUE);
409 VALUE rb_obj_is_proc(VALUE);
410 VALUE rb_proc_call(VALUE, VALUE);
411 VALUE rb_proc_call_with_block(VALUE, int argc, const VALUE *argv, VALUE);
412 int rb_proc_arity(VALUE);
413 VALUE rb_proc_lambda_p(VALUE);
414 VALUE rb_binding_new(void);
415 VALUE rb_obj_method(VALUE, VALUE);
416 VALUE rb_obj_is_method(VALUE);
417 VALUE rb_method_call(int, const VALUE*, VALUE);
418 VALUE rb_method_call_with_block(int, const VALUE *, VALUE, VALUE);
419 int rb_mod_method_arity(VALUE, ID);
420 int rb_obj_method_arity(VALUE, ID);
421 VALUE rb_protect(VALUE (*)(VALUE), VALUE, int*);
422 void rb_set_end_proc(void (*)(VALUE), VALUE);
423 void rb_exec_end_proc(void);
424 void rb_thread_schedule(void);
425 void rb_thread_wait_fd(int);
426 int rb_thread_fd_writable(int);
427 void rb_thread_fd_close(int);
428 int rb_thread_alone(void);
429 void rb_thread_sleep(int);
430 void rb_thread_sleep_forever(void);
431 void rb_thread_sleep_deadly(void);
432 VALUE rb_thread_stop(void);
433 VALUE rb_thread_wakeup(VALUE);
434 VALUE rb_thread_wakeup_alive(VALUE);
435 VALUE rb_thread_run(VALUE);
436 VALUE rb_thread_kill(VALUE);
437 VALUE rb_thread_create(VALUE (*)(ANYARGS), void*);
438 int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);
439 void rb_thread_wait_for(struct timeval);
440 VALUE rb_thread_current(void);
441 VALUE rb_thread_main(void);
442 VALUE rb_thread_local_aref(VALUE, ID);
443 VALUE rb_thread_local_aset(VALUE, ID, VALUE);
444 void rb_thread_atfork(void);
446 VALUE rb_exec_recursive(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE);
447 VALUE rb_exec_recursive_paired(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE,VALUE);
448 VALUE rb_exec_recursive_outer(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE);
449 VALUE rb_exec_recursive_paired_outer(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE,VALUE);
450 /* dir.c */
451 VALUE rb_dir_getwd(void);
452 /* file.c */
453 VALUE rb_file_s_expand_path(int, const VALUE *);
454 VALUE rb_file_expand_path(VALUE, VALUE);
455 VALUE rb_file_s_absolute_path(int, const VALUE *);
456 VALUE rb_file_absolute_path(VALUE, VALUE);
457 VALUE rb_file_dirname(VALUE fname);
458 int rb_find_file_ext_safe(VALUE*, const char* const*, int);
459 VALUE rb_find_file_safe(VALUE, int);
460 int rb_find_file_ext(VALUE*, const char* const*);
461 VALUE rb_find_file(VALUE);
462 VALUE rb_file_directory_p(VALUE,VALUE);
463 VALUE rb_str_encode_ospath(VALUE);
464 int rb_is_absolute_path(const char *);
465 /* gc.c */
466 NORETURN(void rb_memerror(void));
467 PUREFUNC(int rb_during_gc(void));
468 void rb_gc_mark_locations(const VALUE*, const VALUE*);
469 void rb_mark_tbl(struct st_table*);
470 void rb_mark_set(struct st_table*);
471 void rb_mark_hash(struct st_table*);
472 void rb_gc_mark_maybe(VALUE);
473 void rb_gc_mark(VALUE);
474 void rb_gc_force_recycle(VALUE);
475 void rb_gc(void);
476 void rb_gc_copy_finalizer(VALUE,VALUE);
477 void rb_gc_finalize_deferred(void);
479 VALUE rb_gc_enable(void);
480 VALUE rb_gc_disable(void);
481 VALUE rb_gc_start(void);
482 VALUE rb_define_finalizer(VALUE, VALUE);
483 VALUE rb_undefine_finalizer(VALUE);
484 size_t rb_gc_count(void);
485 size_t rb_gc_stat(VALUE);
486 VALUE rb_gc_latest_gc_info(VALUE);
487 void rb_gc_adjust_memory_usage(ssize_t);
488 /* hash.c */
489 void st_foreach_safe(struct st_table *, int (*)(ANYARGS), st_data_t);
490 VALUE rb_check_hash_type(VALUE);
491 void rb_hash_foreach(VALUE, int (*)(ANYARGS), VALUE);
492 VALUE rb_hash(VALUE);
493 VALUE rb_hash_new(void);
494 VALUE rb_hash_dup(VALUE);
495 VALUE rb_hash_freeze(VALUE);
496 VALUE rb_hash_aref(VALUE, VALUE);
497 VALUE rb_hash_lookup(VALUE, VALUE);
498 VALUE rb_hash_lookup2(VALUE, VALUE, VALUE);
499 VALUE rb_hash_fetch(VALUE, VALUE);
500 VALUE rb_hash_aset(VALUE, VALUE, VALUE);
501 VALUE rb_hash_clear(VALUE);
502 VALUE rb_hash_delete_if(VALUE);
503 VALUE rb_hash_delete(VALUE,VALUE);
504 VALUE rb_hash_set_ifnone(VALUE hash, VALUE ifnone);
505 typedef VALUE rb_hash_update_func(VALUE newkey, VALUE oldkey, VALUE value);
506 VALUE rb_hash_update_by(VALUE hash1, VALUE hash2, rb_hash_update_func *func);
507 struct st_table *rb_hash_tbl(VALUE);
508 int rb_path_check(const char*);
509 int rb_env_path_tainted(void);
510 VALUE rb_env_clear(void);
511 VALUE rb_hash_size(VALUE);
512 /* io.c */
513 #define rb_defout rb_stdout
519 VALUE rb_io_write(VALUE, VALUE);
520 VALUE rb_io_gets(VALUE);
521 VALUE rb_io_getbyte(VALUE);
522 VALUE rb_io_ungetc(VALUE, VALUE);
523 VALUE rb_io_ungetbyte(VALUE, VALUE);
524 VALUE rb_io_close(VALUE);
525 VALUE rb_io_flush(VALUE);
526 VALUE rb_io_eof(VALUE);
527 VALUE rb_io_binmode(VALUE);
528 VALUE rb_io_ascii8bit_binmode(VALUE);
529 VALUE rb_io_addstr(VALUE, VALUE);
530 VALUE rb_io_printf(int, const VALUE*, VALUE);
531 VALUE rb_io_print(int, const VALUE*, VALUE);
532 VALUE rb_io_puts(int, const VALUE*, VALUE);
533 VALUE rb_io_fdopen(int, int, const char*);
534 VALUE rb_io_get_io(VALUE);
535 VALUE rb_file_open(const char*, const char*);
536 VALUE rb_file_open_str(VALUE, const char*);
537 VALUE rb_gets(void);
538 void rb_write_error(const char*);
539 void rb_write_error2(const char*, long);
540 void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds);
541 int rb_pipe(int *pipes);
542 int rb_reserved_fd_p(int fd);
543 int rb_cloexec_open(const char *pathname, int flags, mode_t mode);
544 int rb_cloexec_dup(int oldfd);
545 int rb_cloexec_dup2(int oldfd, int newfd);
546 int rb_cloexec_pipe(int fildes[2]);
547 int rb_cloexec_fcntl_dupfd(int fd, int minfd);
548 #define RB_RESERVED_FD_P(fd) rb_reserved_fd_p(fd)
549 void rb_update_max_fd(int fd);
550 void rb_fd_fix_cloexec(int fd);
551 /* marshal.c */
552 VALUE rb_marshal_dump(VALUE, VALUE);
553 VALUE rb_marshal_load(VALUE);
554 void rb_marshal_define_compat(VALUE newclass, VALUE oldclass, VALUE (*dumper)(VALUE), VALUE (*loader)(VALUE, VALUE));
555 /* numeric.c */
556 NORETURN(void rb_num_zerodiv(void));
557 #define RB_NUM_COERCE_FUNCS_NEED_OPID 1
558 VALUE rb_num_coerce_bin(VALUE, VALUE, ID);
559 VALUE rb_num_coerce_cmp(VALUE, VALUE, ID);
560 VALUE rb_num_coerce_relop(VALUE, VALUE, ID);
561 VALUE rb_num_coerce_bit(VALUE, VALUE, ID);
562 VALUE rb_num2fix(VALUE);
563 VALUE rb_fix2str(VALUE, int);
564 CONSTFUNC(VALUE rb_dbl_cmp(double, double));
565 /* object.c */
566 int rb_eql(VALUE, VALUE);
567 VALUE rb_any_to_s(VALUE);
568 VALUE rb_inspect(VALUE);
569 VALUE rb_obj_is_instance_of(VALUE, VALUE);
570 VALUE rb_obj_is_kind_of(VALUE, VALUE);
571 VALUE rb_obj_alloc(VALUE);
572 VALUE rb_obj_clone(VALUE);
573 VALUE rb_obj_dup(VALUE);
574 VALUE rb_obj_init_copy(VALUE,VALUE);
575 VALUE rb_obj_taint(VALUE);
576 PUREFUNC(VALUE rb_obj_tainted(VALUE));
577 VALUE rb_obj_untaint(VALUE);
578 VALUE rb_obj_untrust(VALUE);
579 PUREFUNC(VALUE rb_obj_untrusted(VALUE));
580 VALUE rb_obj_trust(VALUE);
581 VALUE rb_obj_freeze(VALUE);
582 PUREFUNC(VALUE rb_obj_frozen_p(VALUE));
583 VALUE rb_obj_id(VALUE);
584 VALUE rb_obj_class(VALUE);
585 PUREFUNC(VALUE rb_class_real(VALUE));
586 PUREFUNC(VALUE rb_class_inherited_p(VALUE, VALUE));
587 VALUE rb_class_superclass(VALUE);
588 VALUE rb_class_get_superclass(VALUE);
589 VALUE rb_convert_type(VALUE,int,const char*,const char*);
590 VALUE rb_check_convert_type(VALUE,int,const char*,const char*);
591 VALUE rb_check_to_integer(VALUE, const char *);
592 VALUE rb_check_to_float(VALUE);
593 VALUE rb_to_int(VALUE);
594 VALUE rb_check_to_int(VALUE);
595 VALUE rb_Integer(VALUE);
596 VALUE rb_to_float(VALUE);
597 VALUE rb_Float(VALUE);
598 VALUE rb_String(VALUE);
599 VALUE rb_Array(VALUE);
600 VALUE rb_Hash(VALUE);
601 double rb_cstr_to_dbl(const char*, int);
602 double rb_str_to_dbl(VALUE, int);
603 /* parse.y */
612 int rb_symname_p(const char*);
613 int rb_sym_interned_p(VALUE);
614 VALUE rb_backref_get(void);
615 void rb_backref_set(VALUE);
616 VALUE rb_lastline_get(void);
617 void rb_lastline_set(VALUE);
618 /* process.c */
619 void rb_last_status_set(int status, rb_pid_t pid);
620 VALUE rb_last_status_get(void);
621 int rb_proc_exec(const char*);
622 NORETURN(VALUE rb_f_exec(int, const VALUE*));
623 rb_pid_t rb_waitpid(rb_pid_t pid, int *status, int flags);
624 void rb_syswait(rb_pid_t pid);
625 rb_pid_t rb_spawn(int, const VALUE*);
626 rb_pid_t rb_spawn_err(int, const VALUE*, char*, size_t);
627 VALUE rb_proc_times(VALUE);
628 VALUE rb_detach_process(rb_pid_t pid);
629 /* range.c */
630 VALUE rb_range_new(VALUE, VALUE, int);
631 VALUE rb_range_beg_len(VALUE, long*, long*, long, int);
632 int rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp);
633 /* random.c */
634 unsigned int rb_genrand_int32(void);
635 double rb_genrand_real(void);
636 void rb_reset_random_seed(void);
637 VALUE rb_random_bytes(VALUE rnd, long n);
638 VALUE rb_random_int(VALUE rnd, VALUE max);
639 unsigned int rb_random_int32(VALUE rnd);
640 double rb_random_real(VALUE rnd);
641 unsigned long rb_random_ulong_limited(VALUE rnd, unsigned long limit);
642 unsigned long rb_genrand_ulong_limited(unsigned long i);
643 /* re.c */
644 #define rb_memcmp memcmp
645 int rb_memcicmp(const void*,const void*,long);
646 void rb_match_busy(VALUE);
647 VALUE rb_reg_nth_defined(int, VALUE);
648 VALUE rb_reg_nth_match(int, VALUE);
649 int rb_reg_backref_number(VALUE match, VALUE backref);
650 VALUE rb_reg_last_match(VALUE);
651 VALUE rb_reg_match_pre(VALUE);
652 VALUE rb_reg_match_post(VALUE);
653 VALUE rb_reg_match_last(VALUE);
654 #define HAVE_RB_REG_NEW_STR 1
655 VALUE rb_reg_new_str(VALUE, int);
656 VALUE rb_reg_new(const char *, long, int);
657 VALUE rb_reg_alloc(void);
658 VALUE rb_reg_init_str(VALUE re, VALUE s, int options);
659 VALUE rb_reg_match(VALUE, VALUE);
660 VALUE rb_reg_match2(VALUE);
661 int rb_reg_options(VALUE);
662 /* ruby.c */
663 #define rb_argv rb_get_argv()
665 VALUE rb_get_argv(void);
666 void *rb_load_file(const char*);
667 void *rb_load_file_str(VALUE);
668 /* signal.c */
669 VALUE rb_f_kill(int, const VALUE*);
670 #ifdef POSIX_SIGNAL
671 #define posix_signal ruby_posix_signal
672 RETSIGTYPE (*posix_signal(int, RETSIGTYPE (*)(int)))(int);
673 #endif
674 void rb_trap_exit(void);
675 void rb_trap_exec(void);
676 const char *ruby_signal_name(int);
677 void ruby_default_signal(int);
678 /* sprintf.c */
679 VALUE rb_f_sprintf(int, const VALUE*);
680 PRINTF_ARGS(VALUE rb_sprintf(const char*, ...), 1, 2);
681 VALUE rb_vsprintf(const char*, va_list);
682 PRINTF_ARGS(VALUE rb_str_catf(VALUE, const char*, ...), 2, 3);
683 VALUE rb_str_vcatf(VALUE, const char*, va_list);
684 VALUE rb_str_format(int, const VALUE *, VALUE);
685 /* string.c */
686 VALUE rb_str_new(const char*, long);
687 VALUE rb_str_new_cstr(const char*);
688 VALUE rb_str_new_shared(VALUE);
689 VALUE rb_str_new_frozen(VALUE);
690 VALUE rb_str_new_with_class(VALUE, const char*, long);
691 VALUE rb_tainted_str_new_cstr(const char*);
692 VALUE rb_tainted_str_new(const char*, long);
693 VALUE rb_external_str_new(const char*, long);
694 VALUE rb_external_str_new_cstr(const char*);
695 VALUE rb_locale_str_new(const char*, long);
696 VALUE rb_locale_str_new_cstr(const char*);
697 VALUE rb_filesystem_str_new(const char*, long);
698 VALUE rb_filesystem_str_new_cstr(const char*);
699 VALUE rb_str_buf_new(long);
700 VALUE rb_str_buf_new_cstr(const char*);
701 VALUE rb_str_buf_new2(const char*);
702 VALUE rb_str_tmp_new(long);
703 VALUE rb_usascii_str_new(const char*, long);
704 VALUE rb_usascii_str_new_cstr(const char*);
705 VALUE rb_utf8_str_new(const char*, long);
706 VALUE rb_utf8_str_new_cstr(const char*);
707 VALUE rb_str_new_static(const char *, long);
708 VALUE rb_usascii_str_new_static(const char *, long);
709 VALUE rb_utf8_str_new_static(const char *, long);
710 void rb_str_free(VALUE);
711 void rb_str_shared_replace(VALUE, VALUE);
712 VALUE rb_str_buf_append(VALUE, VALUE);
713 VALUE rb_str_buf_cat(VALUE, const char*, long);
714 VALUE rb_str_buf_cat2(VALUE, const char*);
715 VALUE rb_str_buf_cat_ascii(VALUE, const char*);
716 VALUE rb_obj_as_string(VALUE);
717 VALUE rb_check_string_type(VALUE);
718 void rb_must_asciicompat(VALUE);
719 VALUE rb_str_dup(VALUE);
720 VALUE rb_str_resurrect(VALUE str);
721 VALUE rb_str_locktmp(VALUE);
722 VALUE rb_str_unlocktmp(VALUE);
723 VALUE rb_str_dup_frozen(VALUE);
724 #define rb_str_dup_frozen rb_str_new_frozen
725 VALUE rb_str_plus(VALUE, VALUE);
726 VALUE rb_str_times(VALUE, VALUE);
727 long rb_str_sublen(VALUE, long);
728 VALUE rb_str_substr(VALUE, long, long);
729 VALUE rb_str_subseq(VALUE, long, long);
730 char *rb_str_subpos(VALUE, long, long*);
731 void rb_str_modify(VALUE);
732 void rb_str_modify_expand(VALUE, long);
733 VALUE rb_str_freeze(VALUE);
734 void rb_str_set_len(VALUE, long);
735 VALUE rb_str_resize(VALUE, long);
736 VALUE rb_str_cat(VALUE, const char*, long);
737 VALUE rb_str_cat_cstr(VALUE, const char*);
738 VALUE rb_str_cat2(VALUE, const char*);
739 VALUE rb_str_append(VALUE, VALUE);
740 VALUE rb_str_concat(VALUE, VALUE);
741 st_index_t rb_memhash(const void *ptr, long len);
746 #define rb_hash_uint32(h, i) st_hash_uint32((h), (i))
747 #define rb_hash_uint(h, i) st_hash_uint((h), (i))
748 #define rb_hash_end(h) st_hash_end(h)
749 st_index_t rb_str_hash(VALUE);
750 int rb_str_hash_cmp(VALUE,VALUE);
751 int rb_str_comparable(VALUE, VALUE);
752 int rb_str_cmp(VALUE, VALUE);
753 VALUE rb_str_equal(VALUE str1, VALUE str2);
754 VALUE rb_str_drop_bytes(VALUE, long);
755 void rb_str_update(VALUE, long, long, VALUE);
756 VALUE rb_str_replace(VALUE, VALUE);
757 VALUE rb_str_inspect(VALUE);
758 VALUE rb_str_dump(VALUE);
759 VALUE rb_str_split(VALUE, const char*);
760 void rb_str_setter(VALUE, ID, VALUE*);
761 VALUE rb_str_intern(VALUE);
762 VALUE rb_sym_to_s(VALUE);
763 long rb_str_strlen(VALUE);
764 VALUE rb_str_length(VALUE);
765 long rb_str_offset(VALUE, long);
766 PUREFUNC(size_t rb_str_capacity(VALUE));
767 VALUE rb_str_ellipsize(VALUE, long);
768 VALUE rb_str_scrub(VALUE, VALUE);
769 /* symbol.c */
770 VALUE rb_sym_all_symbols(void);
771 
772 #ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
773 #define rb_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \
774  (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
775  rb_str_new_static((str), (len)) : \
776  rb_str_new((str), (len)) \
777 )
778 #define rb_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
779  (__builtin_constant_p(str)) ? \
780  rb_str_new_static((str), (long)strlen(str)) : \
781  rb_str_new_cstr(str) \
782 )
783 #define rb_usascii_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \
784  (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
785  rb_usascii_str_new_static((str), (len)) : \
786  rb_usascii_str_new((str), (len)) \
787 )
788 #define rb_utf8_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \
789  (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
790  rb_utf8_str_new_static((str), (len)) : \
791  rb_utf8_str_new((str), (len)) \
792 )
793 #define rb_tainted_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
794  (__builtin_constant_p(str)) ? \
795  rb_tainted_str_new((str), (long)strlen(str)) : \
796  rb_tainted_str_new_cstr(str) \
797 )
798 #define rb_usascii_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
799  (__builtin_constant_p(str)) ? \
800  rb_usascii_str_new_static((str), (long)strlen(str)) : \
801  rb_usascii_str_new_cstr(str) \
802 )
803 #define rb_utf8_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
804  (__builtin_constant_p(str)) ? \
805  rb_utf8_str_new_static((str), (long)strlen(str)) : \
806  rb_utf8_str_new_cstr(str) \
807 )
808 #define rb_external_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
809  (__builtin_constant_p(str)) ? \
810  rb_external_str_new((str), (long)strlen(str)) : \
811  rb_external_str_new_cstr(str) \
812 )
813 #define rb_locale_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
814  (__builtin_constant_p(str)) ? \
815  rb_locale_str_new((str), (long)strlen(str)) : \
816  rb_locale_str_new_cstr(str) \
817 )
818 #define rb_str_buf_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
819  (__builtin_constant_p(str)) ? \
820  rb_str_buf_cat(rb_str_buf_new((long)strlen(str)), \
821  (str), (long)strlen(str)) : \
822  rb_str_buf_new_cstr(str) \
823 )
824 #define rb_str_cat_cstr(str, ptr) RB_GNUC_EXTENSION_BLOCK( \
825  (__builtin_constant_p(ptr)) ? \
826  rb_str_cat((str), (ptr), (long)strlen(ptr)) : \
827  rb_str_cat_cstr((str), (ptr)) \
828 )
829 #define rb_exc_new_cstr(klass, ptr) RB_GNUC_EXTENSION_BLOCK( \
830  (__builtin_constant_p(ptr)) ? \
831  rb_exc_new((klass), (ptr), (long)strlen(ptr)) : \
832  rb_exc_new_cstr((klass), (ptr)) \
833 )
834 #endif
835 #define rb_str_new2 rb_str_new_cstr
836 #define rb_str_new3 rb_str_new_shared
837 #define rb_str_new4 rb_str_new_frozen
838 #define rb_str_new5 rb_str_new_with_class
839 #define rb_tainted_str_new2 rb_tainted_str_new_cstr
840 #define rb_str_buf_new2 rb_str_buf_new_cstr
841 #define rb_usascii_str_new2 rb_usascii_str_new_cstr
842 #define rb_str_buf_cat rb_str_cat
843 #define rb_str_buf_cat2 rb_str_cat_cstr
844 #define rb_str_cat2 rb_str_cat_cstr
845 #define rb_strlen_lit(str) (sizeof(str "") - 1)
846 #define rb_str_new_lit(str) rb_str_new_static((str), rb_strlen_lit(str))
847 #define rb_usascii_str_new_lit(str) rb_usascii_str_new_static((str), rb_strlen_lit(str))
848 #define rb_utf8_str_new_lit(str) rb_utf8_str_new_static((str), rb_strlen_lit(str))
849 #define rb_enc_str_new_lit(str, enc) rb_enc_str_new_static((str), rb_strlen_lit(str), (enc))
850 #define rb_str_new_literal(str) rb_str_new_lit(str)
851 #define rb_usascii_str_new_literal(str) rb_usascii_str_new_lit(str)
852 #define rb_utf8_str_new_literal(str) rb_utf8_str_new_lit(str)
853 #define rb_enc_str_new_literal(str, enc) rb_enc_str_new_lit(str, enc)
854 
855 /* struct.c */
856 VALUE rb_struct_new(VALUE, ...);
857 VALUE rb_struct_define(const char*, ...);
858 VALUE rb_struct_define_under(VALUE, const char*, ...);
859 VALUE rb_struct_alloc(VALUE, VALUE);
860 VALUE rb_struct_initialize(VALUE, VALUE);
861 VALUE rb_struct_aref(VALUE, VALUE);
862 VALUE rb_struct_aset(VALUE, VALUE, VALUE);
863 VALUE rb_struct_getmember(VALUE, ID);
864 VALUE rb_struct_s_members(VALUE);
865 VALUE rb_struct_members(VALUE);
866 VALUE rb_struct_size(VALUE s);
867 VALUE rb_struct_alloc_noinit(VALUE);
868 VALUE rb_struct_define_without_accessor(const char *, VALUE, rb_alloc_func_t, ...);
869 VALUE rb_struct_define_without_accessor_under(VALUE outer, const char *class_name, VALUE super, rb_alloc_func_t alloc, ...);
870 
871 /* thread.c */
872 typedef void rb_unblock_function_t(void *);
873 typedef VALUE rb_blocking_function_t(void *);
874 void rb_thread_check_ints(void);
875 int rb_thread_interrupted(VALUE thval);
876 
877 #define RUBY_UBF_IO ((rb_unblock_function_t *)-1)
878 #define RUBY_UBF_PROCESS ((rb_unblock_function_t *)-1)
879 VALUE rb_mutex_new(void);
880 VALUE rb_mutex_locked_p(VALUE mutex);
881 VALUE rb_mutex_trylock(VALUE mutex);
882 VALUE rb_mutex_lock(VALUE mutex);
883 VALUE rb_mutex_unlock(VALUE mutex);
884 VALUE rb_mutex_sleep(VALUE self, VALUE timeout);
885 VALUE rb_mutex_synchronize(VALUE mutex, VALUE (*func)(VALUE arg), VALUE arg);
886 /* time.c */
887 void rb_timespec_now(struct timespec *);
888 VALUE rb_time_new(time_t, long);
889 VALUE rb_time_nano_new(time_t, long);
890 VALUE rb_time_timespec_new(const struct timespec *, int);
891 VALUE rb_time_num_new(VALUE, VALUE);
892 struct timeval rb_time_interval(VALUE num);
893 struct timeval rb_time_timeval(VALUE time);
894 struct timespec rb_time_timespec(VALUE time);
895 /* variable.c */
896 VALUE rb_mod_name(VALUE);
897 VALUE rb_class_path(VALUE);
898 VALUE rb_class_path_cached(VALUE);
899 void rb_set_class_path(VALUE, VALUE, const char*);
900 void rb_set_class_path_string(VALUE, VALUE, VALUE);
901 VALUE rb_path_to_class(VALUE);
902 VALUE rb_path2class(const char*);
903 void rb_name_class(VALUE, ID);
904 VALUE rb_class_name(VALUE);
905 VALUE rb_autoload_load(VALUE, ID);
906 VALUE rb_autoload_p(VALUE, ID);
907 VALUE rb_f_trace_var(int, const VALUE*);
908 VALUE rb_f_untrace_var(int, const VALUE*);
909 VALUE rb_f_global_variables(void);
910 void rb_alias_variable(ID, ID);
911 void rb_copy_generic_ivar(VALUE,VALUE);
912 void rb_free_generic_ivar(VALUE);
913 VALUE rb_ivar_get(VALUE, ID);
914 VALUE rb_ivar_set(VALUE, ID, VALUE);
915 VALUE rb_ivar_defined(VALUE, ID);
916 void rb_ivar_foreach(VALUE, int (*)(ANYARGS), st_data_t);
918 VALUE rb_attr_get(VALUE, ID);
919 VALUE rb_obj_instance_variables(VALUE);
920 VALUE rb_obj_remove_instance_variable(VALUE, VALUE);
921 void *rb_mod_const_at(VALUE, void*);
922 void *rb_mod_const_of(VALUE, void*);
923 VALUE rb_const_list(void*);
924 VALUE rb_mod_constants(int, const VALUE *, VALUE);
925 VALUE rb_mod_remove_const(VALUE, VALUE);
926 int rb_const_defined(VALUE, ID);
927 int rb_const_defined_at(VALUE, ID);
928 int rb_const_defined_from(VALUE, ID);
929 VALUE rb_const_get(VALUE, ID);
930 VALUE rb_const_get_at(VALUE, ID);
931 VALUE rb_const_get_from(VALUE, ID);
932 void rb_const_set(VALUE, ID, VALUE);
933 VALUE rb_const_remove(VALUE, ID);
934 NORETURN(VALUE rb_mod_const_missing(VALUE,VALUE));
935 VALUE rb_cvar_defined(VALUE, ID);
936 void rb_cvar_set(VALUE, ID, VALUE);
937 VALUE rb_cvar_get(VALUE, ID);
938 void rb_cv_set(VALUE, const char*, VALUE);
939 VALUE rb_cv_get(VALUE, const char*);
940 void rb_define_class_variable(VALUE, const char*, VALUE);
941 VALUE rb_mod_class_variables(int, const VALUE*, VALUE);
942 VALUE rb_mod_remove_cvar(VALUE, VALUE);
943 
944 ID rb_frame_callee(void);
945 VALUE rb_str_succ(VALUE);
946 VALUE rb_time_succ(VALUE);
947 int rb_frame_method_id_and_class(ID *idp, VALUE *klassp);
948 VALUE rb_make_backtrace(void);
949 VALUE rb_make_exception(int, const VALUE*);
950 
952 
953 #if defined(__cplusplus)
954 #if 0
955 { /* satisfy cc-mode */
956 #endif
957 } /* extern "C" { */
958 #endif
959 
960 #endif /* RUBY_INTERN_H */
VALUE rb_apply(VALUE, ID, VALUE)
Calls a method.
Definition: vm_eval.c:744
void rb_gc_call_finalizer_at_exit(void)
Definition: gc.c:2908
struct timeval rb_time_interval(VALUE num)
Definition: time.c:2299
int rb_provided(const char *)
Definition: load.c:522
VALUE rb_mutex_lock(VALUE mutex)
Definition: thread_sync.c:232
struct st_table * rb_hash_tbl(VALUE)
Definition: hash.c:475
VALUE rb_cvar_get(VALUE, ID)
Definition: variable.c:2879
VALUE rb_mod_module_exec(int, const VALUE *, VALUE)
Definition: vm_eval.c:1776
void rb_thread_schedule(void)
Definition: thread.c:1266
void rb_thread_atfork_before_exec(void)
Definition: thread.c:4191
VALUE rb_io_addstr(VALUE, VALUE)
Definition: io.c:1532
VALUE rb_reg_match_last(VALUE)
Definition: re.c:1768
int rb_reg_backref_number(VALUE match, VALUE backref)
Definition: re.c:1138
VALUE rb_hash_delete_if(VALUE)
Definition: hash.c:1253
VALUE rb_hash_delete(VALUE, VALUE)
Definition: hash.c:1119
VALUE rb_check_to_float(VALUE)
Tries to convert an object into Float.
Definition: object.c:3465
VALUE rb_define_module_id_under(VALUE, ID)
Definition: class.c:796
int rb_is_instance_id(ID id)
Definition: symbol.c:838
void rb_thread_atfork(void)
Definition: thread.c:4186
VALUE rb_file_dirname(VALUE fname)
Definition: file.c:4317
VALUE rb_protect(VALUE(*)(VALUE), VALUE, int *)
Protects a function call from potential global escapes from the function.
Definition: eval.c:992
int rb_find_file_ext_safe(VALUE *, const char *const *, int)
Definition: file.c:5899
int rb_cloexec_fcntl_dupfd(int fd, int minfd)
Definition: io.c:362
VALUE rb_str_length(VALUE)
Definition: string.c:1803
VALUE rb_class_public_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1294
VALUE rb_mod_include_p(VALUE, VALUE)
Definition: class.c:1053
VALUE rb_proc_call_with_block(VALUE, int argc, const VALUE *argv, VALUE)
Definition: proc.c:892
VALUE rb_num_coerce_bin(VALUE, VALUE, ID)
Definition: numeric.c:473
VALUE rb_ary_new_from_args(long n,...)
Definition: array.c:505
VALUE rb_detach_process(rb_pid_t pid)
Definition: process.c:1097
VALUE rb_big_clone(VALUE)
Definition: bignum.c:3002
VALUE rb_str_equal(VALUE str1, VALUE str2)
Definition: string.c:3214
VALUE rb_ary_new_capa(long capa)
Definition: array.c:493
void rb_cv_set(VALUE, const char *, VALUE)
Definition: variable.c:2925
void rb_check_inheritable(VALUE)
Ensures a class can be derived from super.
Definition: class.c:220
VALUE rb_mod_name(VALUE)
Definition: variable.c:229
VALUE rb_mod_const_missing(VALUE klass, VALUE name)
Definition: variable.c:1792
void rb_update_max_fd(int fd)
Definition: io.c:191
VALUE rb_ary_delete(VALUE, VALUE)
Definition: array.c:3006
void rb_backref_set(VALUE)
Definition: vm.c:1235
Definition: st.h:79
VALUE rb_time_nano_new(time_t, long)
Definition: time.c:2170
VALUE rb_Rational(VALUE, VALUE)
Definition: rational.c:1979
VALUE rb_io_get_io(VALUE)
Definition: io.c:658
VALUE rb_file_expand_path(VALUE, VALUE)
Definition: file.c:3775
VALUE rb_hash_lookup2(VALUE, VALUE, VALUE)
Definition: hash.c:842
VALUE rb_hash_aref(VALUE, VALUE)
Definition: hash.c:831
void rb_gc_force_recycle(VALUE)
Definition: gc.c:6175
VALUE rb_range_new(VALUE, VALUE, int)
Definition: range.c:54
VALUE rb_big_pow(VALUE, VALUE)
Definition: bignum.c:6189
VALUE rb_check_to_int(VALUE)
Tries to convert val into Integer.
Definition: object.c:3099
void rb_w32_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src)
Definition: win32.c:2817
void rb_undef_alloc_func(VALUE)
Definition: vm_method.c:675
void rb_define_singleton_method(VALUE, const char *, VALUE(*)(ANYARGS), int)
Defines a singleton method for obj.
Definition: class.c:1716
VALUE rb_exec_recursive_outer(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE)
Definition: thread.c:4732
VALUE rb_f_sprintf(int, const VALUE *)
Definition: sprintf.c:458
VALUE rb_ary_reverse(VALUE)
Definition: array.c:2224
VALUE rb_ary_shared_with_p(VALUE, VALUE)
Definition: array.c:437
int rb_obj_method_arity(VALUE, ID)
Definition: proc.c:2421
VALUE rb_fiber_resume(VALUE fib, int argc, const VALUE *argv)
Definition: cont.c:1590
void rb_thread_sleep_deadly(void)
Definition: thread.c:1167
int rb_cloexec_open(const char *pathname, int flags, mode_t mode)
Definition: io.c:257
void rb_define_class_variable(VALUE, const char *, VALUE)
Definition: variable.c:2939
VALUE rb_str_cat(VALUE, const char *, long)
Definition: string.c:2746
VALUE rb_define_class_id_under(VALUE, ID, VALUE)
Defines a class under the namespace of outer.
Definition: class.c:716
void rb_unblock_function_t(void *)
Definition: intern.h:872
VALUE rb_f_exit(int argc, const VALUE *argv)
Definition: process.c:3838
#define rb_str_dup_frozen
Definition: intern.h:724
void rb_jump_tag(int tag)
Continues the exception caught by rb_protect() and rb_eval_string_protect().
Definition: eval.c:821
VALUE rb_hash_lookup(VALUE, VALUE)
Definition: hash.c:853
int rb_is_absolute_path(const char *)
Definition: file.c:5719
VALUE rb_class_protected_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1256
VALUE rb_enumerator_size_func(VALUE, VALUE, VALUE)
Definition: intern.h:225
VALUE rb_complex_raw(VALUE, VALUE)
Definition: complex.c:1442
VALUE rb_reg_alloc(void)
Definition: re.c:2855
VALUE rb_io_flush(VALUE)
Definition: io.c:1592
VALUE rb_mod_ancestors(VALUE)
Definition: class.c:1085
VALUE rb_ary_cmp(VALUE, VALUE)
Definition: array.c:4055
void rb_write_error2(const char *, long)
Definition: io.c:7560
int rb_symname_p(const char *)
Definition: symbol.c:190
int rb_is_const_id(ID id)
Definition: symbol.c:820
#define rb_check_frozen_internal(obj)
Definition: intern.h:255
VALUE rb_exc_new(VALUE, const char *, long)
Definition: error.c:836
VALUE rb_cstr2inum(const char *, int)
Definition: bignum.c:4509
VALUE rb_str_unlocktmp(VALUE)
Definition: string.c:2610
void rb_define_private_method(VALUE, const char *, VALUE(*)(ANYARGS), int)
Definition: class.c:1527
VALUE rb_hash_clear(VALUE)
Definition: hash.c:1519
double rb_big2dbl(VALUE)
Definition: bignum.c:5270
VALUE rb_str_new_with_class(VALUE, const char *, long)
Definition: string.c:1265
void rb_must_asciicompat(VALUE)
Definition: string.c:2098
VALUE rb_dbl_cmp(double a, double b)
Definition: numeric.c:1425
#define rb_check_arity
Definition: intern.h:298
void rb_trap_exec(void)
VALUE rb_struct_alloc_noinit(VALUE)
Definition: struct.c:328
VALUE rb_reg_match(VALUE, VALUE)
Definition: re.c:3143
int rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp)
Definition: range.c:979
VALUE rb_struct_new(VALUE,...)
Definition: struct.c:605
VALUE rb_ary_sort(VALUE)
Definition: array.c:2549
void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds)
VALUE rb_reg_nth_defined(int, VALUE)
Definition: re.c:1661
void rb_cvar_set(VALUE, ID, VALUE)
Definition: variable.c:2846
VALUE rb_singleton_class_clone(VALUE)
Definition: class.c:365
VALUE rb_str_concat(VALUE, VALUE)
Definition: string.c:2999
int rb_thread_alone(void)
Definition: thread.c:3273
VALUE rb_obj_is_method(VALUE)
Definition: proc.c:1338
st_index_t rb_memhash(const void *ptr, long len)
Definition: random.c:1512
VALUE rb_io_ungetc(VALUE, VALUE)
Definition: io.c:4017
VALUE rb_str_plus(VALUE, VALUE)
Definition: string.c:1854
void rb_mark_hash(struct st_table *)
Definition: gc.c:4157
VALUE rb_usascii_str_new_static(const char *, long)
Definition: string.c:836
VALUE rb_thread_wakeup(VALUE)
Definition: thread.c:2370
VALUE rb_mod_init_copy(VALUE, VALUE)
Definition: class.c:314
#define rb_hash_uint32(h, i)
Definition: intern.h:746
#define rb_check_trusted(obj)
Definition: intern.h:277
const char * rb_sourcefile(void)
Definition: vm.c:1269
int rb_path_check(const char *)
Definition: file.c:5798
#define rb_fd_zero(f)
Definition: intern.h:347
double rb_cstr_to_dbl(const char *, int)
Parses a string representation of a floating point number.
Definition: object.c:3208
int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *)
Definition: thread.c:3789
VALUE rb_String(VALUE)
Equivalent to Kernel#String in Ruby.
Definition: object.c:3560
double rb_genrand_real(void)
Definition: random.c:271
VALUE rb_file_absolute_path(VALUE, VALUE)
Definition: file.c:3823
VALUE rb_str_times(VALUE, VALUE)
Definition: string.c:1896
VALUE rb_path_to_class(VALUE)
Definition: variable.c:390
void rb_str_set_len(VALUE, long)
Definition: string.c:2627
int rb_reg_options(VALUE)
Definition: re.c:3543
VALUE rb_backref_get(void)
Definition: vm.c:1229
VALUE rb_undefine_finalizer(VALUE)
Definition: gc.c:2653
VALUE rb_ary_dup(VALUE)
Definition: array.c:1930
VALUE rb_obj_dup(VALUE)
call-seq: obj.dup -> an_object
Definition: object.c:526
VALUE rb_ivar_get(VALUE, ID)
Definition: variable.c:1210
void rb_str_update(VALUE, long, long, VALUE)
Definition: string.c:4545
VALUE rb_io_getbyte(VALUE)
Definition: io.c:3921
VALUE rb_exc_new_str(VALUE, VALUE)
Definition: error.c:848
void rb_big_pack(VALUE val, unsigned long *buf, long num_longs)
Definition: bignum.c:3197
VALUE rb_exec_recursive(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE)
Definition: thread.c:4709
size_t rb_gc_stat(VALUE)
Definition: gc.c:7295
void rb_define_alloc_func(VALUE, rb_alloc_func_t)
VALUE rb_Integer(VALUE)
Equivalent to Kernel#Integer in Ruby.
Definition: object.c:3148
void rb_backtrace(void)
Definition: vm_backtrace.c:770
VALUE rb_obj_alloc(VALUE)
Allocates an instance of klass.
Definition: object.c:2121
void rb_clear_constant_cache(void)
Definition: vm_method.c:84
int rb_const_defined(VALUE, ID)
Definition: variable.c:2537
VALUE rb_reg_match2(VALUE)
Definition: re.c:3202
VALUE rb_check_convert_type(VALUE, int, const char *, const char *)
Tries to convert an object into another type.
Definition: object.c:3006
VALUE rb_obj_untrusted(VALUE obj)
call-seq: obj.untrusted? -> true or false
Definition: object.c:1234
VALUE rb_hash(VALUE)
Definition: hash.c:121
st_index_t rb_str_hash(VALUE)
Definition: string.c:3094
char * rb_str_subpos(VALUE, long, long *)
Definition: string.c:2430
void rb_syswait(rb_pid_t pid)
Definition: process.c:3891
int rb_pipe(int *pipes)
Definition: io.c:6009
int rb_feature_provided(const char *, const char **)
Definition: load.c:528
st_data_t st_index_t
Definition: st.h:50
VALUE rb_range_beg_len(VALUE, long *, long *, long, int)
Definition: range.c:1003
VALUE rb_big_xor(VALUE, VALUE)
Definition: bignum.c:6511
VALUE rb_ary_sort_bang(VALUE)
Definition: array.c:2465
VALUE rb_hash_fetch(VALUE, VALUE)
Definition: hash.c:917
VALUE rb_reg_match_post(VALUE)
Definition: re.c:1750
VALUE rb_io_write(VALUE, VALUE)
Definition: io.c:1510
VALUE rb_tainted_str_new_cstr(const char *)
Definition: string.c:872
int rb_str_cmp(VALUE, VALUE)
Definition: string.c:3159
VALUE rb_file_open_str(VALUE, const char *)
Definition: io.c:5910
VALUE rb_ary_entry(VALUE, long)
Definition: array.c:1215
void rb_define_protected_method(VALUE, const char *, VALUE(*)(ANYARGS), int)
Definition: class.c:1521
VALUE rb_obj_init_copy(VALUE, VALUE)
:nodoc: Default implementation of #initialize_copy
Definition: object.c:590
VALUE rb_hash_dup(VALUE)
Definition: hash.c:449
int rb_env_path_tainted(void)
Definition: hash.c:3424
VALUE rb_fiber_yield(int argc, const VALUE *argv)
Definition: cont.c:1606
VALUE rb_utf8_str_new_cstr(const char *)
Definition: string.c:786
void rb_obj_call_init(VALUE, int, const VALUE *)
Calls #initialize method of obj with the given arguments.
Definition: eval.c:1583
void rb_undef(VALUE, ID)
Definition: vm_method.c:1172
VALUE rb_inspect(VALUE)
Convenient wrapper of Object::inspect.
Definition: object.c:656
VALUE rb_path2class(const char *)
Definition: variable.c:432
void rb_name_error(ID id, const char *fmt,...)
Definition: error.c:1243
VALUE rb_proc_times(VALUE)
VALUE rb_find_file(VALUE)
Definition: file.c:5965
VALUE rb_struct_getmember(VALUE, ID)
Definition: struct.c:205
VALUE rb_str_tmp_new(long)
Definition: string.c:1310
int rb_const_defined_from(VALUE, ID)
Definition: variable.c:2531
VALUE rb_str_buf_append(VALUE, VALUE)
Definition: string.c:2884
void rb_ary_store(VALUE, long, VALUE)
Definition: array.c:815
VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj)
Definition: vm_method.c:116
VALUE rb_big2str(VALUE, int)
Definition: bignum.c:5062
VALUE rb_fix2str(VALUE, int)
Definition: numeric.c:3417
long rb_big2long(VALUE)
Definition: bignum.c:5108
VALUE rb_ivar_defined(VALUE, ID)
Definition: variable.c:1374
VALUE rb_get_argv(void)
Definition: io.c:12413
VALUE rb_flt_rationalize_with_prec(VALUE, VALUE)
Definition: rational.c:2257
VALUE rb_struct_define_under(VALUE, const char *,...)
Definition: struct.c:425
VALUE rb_mod_remove_cvar(VALUE, VALUE)
Definition: variable.c:3066
VALUE rb_reg_last_match(VALUE)
Definition: re.c:1705
VALUE rb_external_str_new_cstr(const char *)
Definition: string.c:1061
void rb_ivar_foreach(VALUE, int(*)(ANYARGS), st_data_t)
Definition: variable.c:1544
VALUE rb_mutex_new(void)
Definition: thread_sync.c:161
VALUE rb_ary_delete_at(VALUE, long)
Definition: array.c:3059
VALUE rb_str_to_inum(VALUE, int, int)
Definition: bignum.c:4226
struct timespec rb_time_timespec(VALUE time)
Definition: time.c:2322
VALUE rb_obj_untrust(VALUE)
call-seq: obj.untrust -> obj
Definition: object.c:1257
VALUE rb_thread_local_aref(VALUE, ID)
Definition: thread.c:3013
#define rb_fd_set(n, f)
Definition: intern.h:348
VALUE rb_f_kill(int, const VALUE *)
Definition: signal.c:407
PRINTF_ARGS(NORETURN(void rb_loaderror(const char *,...)), 1, 2)
VALUE rb_enumeratorize(VALUE, VALUE, int, const VALUE *)
Definition: enumerator.c:450
RUBY_SYMBOL_EXPORT_BEGIN typedef unsigned long st_data_t
Definition: st.h:22
void rb_thread_fd_close(int)
Definition: thread.c:2219
VALUE rb_Complex(VALUE, VALUE)
Definition: complex.c:1460
#define rb_fd_isset(n, f)
Definition: intern.h:350
VALUE rb_utf8_str_new(const char *, long)
Definition: string.c:751
void * rb_load_file(const char *)
Definition: ruby.c:2023
VALUE rb_struct_members(VALUE)
Definition: struct.c:65
VALUE rb_gc_latest_gc_info(VALUE)
Definition: gc.c:6881
struct timeval rb_time_timeval(VALUE time)
Definition: time.c:2305
VALUE rb_to_float(VALUE)
Converts a Numeric object into Float.
Definition: object.c:3448
VALUE rb_singleton_class(VALUE)
Returns the singleton class of obj.
Definition: class.c:1689
void * rb_load_file_str(VALUE)
Definition: ruby.c:2030
VALUE rb_obj_class(VALUE)
call-seq: obj.class -> class
Definition: object.c:277
void rb_reset_random_seed(void)
Definition: random.c:1570
VALUE rb_mutex_locked_p(VALUE mutex)
Definition: thread_sync.c:173
VALUE rb_struct_s_members(VALUE)
Definition: struct.c:51
VALUE rb_method_call_with_block(int, const VALUE *, VALUE, VALUE)
Definition: proc.c:2119
VALUE rb_obj_is_kind_of(VALUE, VALUE)
call-seq: obj.is_a?(class) -> true or false obj.kind_of?(class) -> true or false
Definition: object.c:842
void rb_write_error(const char *)
Definition: io.c:7574
VALUE rb_binding_new(void)
Definition: proc.c:333
VALUE rb_file_open(const char *, const char *)
Definition: io.c:5917
VALUE rb_thread_kill(VALUE)
Definition: thread.c:2276
VALUE rb_str_encode_ospath(VALUE)
Definition: file.c:232
VALUE rb_big_cmp(VALUE, VALUE)
Definition: bignum.c:5367
int rb_thread_fd_writable(int)
Definition: thread.c:3782
VALUE rb_rational_raw(VALUE, VALUE)
Definition: rational.c:1967
VALUE rb_obj_method(VALUE, VALUE)
Definition: proc.c:1716
VALUE rb_lastline_get(void)
Definition: vm.c:1241
VALUE rb_enum_values_pack(int, const VALUE *)
Definition: enum.c:32
VALUE rb_hash_freeze(VALUE)
Definition: hash.c:77
RUBY_EXTERN VALUE rb_output_rs
Definition: intern.h:518
void rb_free_generic_ivar(VALUE)
Definition: variable.c:1133
void rb_str_setter(VALUE, ID, VALUE *)
Definition: string.c:9469
VALUE rb_obj_tainted(VALUE obj)
call-seq: obj.tainted? -> true or false
Definition: object.c:1147
VALUE rb_cvar_defined(VALUE, ID)
Definition: variable.c:2906
void rb_thread_sleep(int)
Definition: thread.c:1243
fd_set rb_fdset_t
Definition: intern.h:346
#define rb_fd_term(f)
Definition: intern.h:357
VALUE rb_str_succ(VALUE)
Definition: string.c:4030
VALUE rb_marshal_dump(VALUE, VALUE)
Definition: marshal.c:2249
VALUE rb_obj_taint(VALUE)
call-seq: obj.taint -> obj
Definition: object.c:1179
VALUE rb_io_printf(int, const VALUE *, VALUE)
Definition: io.c:7166
VALUE rb_class_name(VALUE)
Definition: variable.c:444
void * rb_mod_const_at(VALUE, void *)
Definition: variable.c:2414
VALUE rb_str_new_shared(VALUE)
Definition: string.c:1149
int rb_proc_exec(const char *)
Definition: process.c:1322
VALUE rb_str_substr(VALUE, long, long)
Definition: string.c:2517
VALUE rb_big_and(VALUE, VALUE)
Definition: bignum.c:6298
VALUE rb_time_timespec_new(const struct timespec *, int)
Returns a time object with UTC/localtime/fixed offset.
Definition: time.c:2181
RUBY_EXTERN VALUE rb_output_fs
Definition: intern.h:515
#define val
VALUE rb_f_exec(int argc, const VALUE *argv)
Definition: process.c:2596
VALUE rb_exec_recursive_paired(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE, VALUE)
Definition: thread.c:4720
NORETURN(void rb_cmperr(VALUE, VALUE))
int rb_is_class_id(ID id)
Definition: symbol.c:826
VALUE rb_block_lambda(void)
Definition: proc.c:794
VALUE rb_dbl2big(double)
Definition: bignum.c:5214
void rb_mem_clear(register VALUE *, register long)
Definition: array.c:138
void rb_str_free(VALUE)
Definition: string.c:1316
void rb_attr(VALUE, ID, int, int, int)
Definition: vm_method.c:1137
VALUE rb_mutex_sleep(VALUE self, VALUE timeout)
Definition: thread_sync.c:436
const char * ruby_signal_name(int)
Definition: signal.c:262
VALUE rb_time_succ(VALUE)
Definition: time.c:3718
VALUE rb_check_hash_type(VALUE)
Definition: hash.c:722
int rb_frame_method_id_and_class(ID *idp, VALUE *klassp)
Definition: vm.c:2070
size_t rb_gc_count(void)
Definition: gc.c:6766
VALUE rb_obj_as_string(VALUE)
Definition: string.c:1410
VALUE rb_ary_replace(VALUE copy, VALUE orig)
Definition: array.c:3451
void rb_gc_mark_locations(const VALUE *, const VALUE *)
Definition: gc.c:4081
#define rb_str_buf_new2
Definition: intern.h:840
VALUE rb_f_require(VALUE, VALUE)
Definition: load.c:827
VALUE rb_any_to_s(VALUE)
call-seq: obj.to_s -> string
Definition: object.c:631
VALUE rb_hash_size(VALUE)
Definition: hash.c:1718
VALUE rb_thread_current(void)
Definition: thread.c:2494
VALUE rb_check_to_integer(VALUE, const char *)
Tries to convert val into Integer.
Definition: object.c:3062
VALUE rb_locale_str_new(const char *, long)
Definition: string.c:1067
void rb_invalid_str(const char *str, const char *type)
Definition: error.c:1549
void rb_set_end_proc(void(*)(VALUE), VALUE)
Definition: eval_jump.c:60
void rb_frozen_class_p(VALUE)
Asserts that klass is not a frozen class.
Definition: eval.c:404
void rb_w32_fd_copy(rb_fdset_t *dst, const fd_set *src, int max)
Definition: win32.c:2802
size_t rb_absint_size(VALUE val, int *nlz_bits_ret)
Definition: bignum.c:3229
VALUE rb_mutex_synchronize(VALUE mutex, VALUE(*func)(VALUE arg), VALUE arg)
Definition: thread_sync.c:488
void rb_remove_method_id(VALUE, ID)
Definition: vm_method.c:993
VALUE rb_define_module_id(ID)
Definition: class.c:757
VALUE rb_hash_update_func(VALUE newkey, VALUE oldkey, VALUE value)
Definition: intern.h:505
void rb_lastline_set(VALUE)
Definition: vm.c:1247
VALUE rb_ary_join(VALUE, VALUE)
Definition: array.c:2037
int argc
Definition: ruby.c:187
VALUE rb_ary_concat(VALUE, VALUE)
Definition: array.c:3703
VALUE rb_complex_polar(VALUE, VALUE)
Definition: complex.c:1454
VALUE rb_require_safe(VALUE, int)
Definition: load.c:1045
VALUE rb_external_str_new(const char *, long)
Definition: string.c:1055
VALUE rb_ary_rassoc(VALUE, VALUE)
Definition: array.c:3825
VALUE rb_rational_new(VALUE, VALUE)
Definition: rational.c:1973
int rb_cloexec_dup2(int oldfd, int newfd)
Definition: io.c:290
VALUE rb_mutex_trylock(VALUE mutex)
Definition: thread_sync.c:200
int rb_uv_to_utf8(char[6], unsigned long)
Definition: pack.c:1893
size_t rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret)
Definition: bignum.c:3364
RUBY_EXTERN VALUE rb_fs
Definition: intern.h:514
#define range(low, item, hi)
Definition: date_strftime.c:21
void rb_big_resize(VALUE big, size_t len)
Definition: bignum.c:2971
VALUE rb_obj_is_instance_of(VALUE, VALUE)
call-seq: obj.instance_of?(class) -> true or false
Definition: object.c:798
VALUE rb_big_mul(VALUE, VALUE)
Definition: bignum.c:5881
rb_alloc_func_t rb_get_alloc_func(VALUE)
Definition: vm_method.c:681
double rb_random_real(VALUE rnd)
Definition: random.c:966
VALUE rb_Array(VALUE)
Equivalent to Kernel#Array in Ruby.
Definition: object.c:3592
VALUE rb_gets(void)
Definition: io.c:8504
VALUE rb_str_split(VALUE, const char *)
Definition: string.c:7602
VALUE rb_obj_id(VALUE)
Definition: gc.c:3158
VALUE rb_struct_aset(VALUE, VALUE, VALUE)
Definition: struct.c:923
void st_foreach_safe(struct st_table *, int(*)(ANYARGS), st_data_t)
Definition: hash.c:316
void rb_error_frozen(const char *what)
Definition: error.c:2584
void rb_num_zerodiv(void)
Definition: numeric.c:192
VALUE rb_big_norm(VALUE)
Definition: bignum.c:3134
VALUE rb_reg_init_str(VALUE re, VALUE s, int options)
Definition: re.c:2867
VALUE rb_sym_to_s(VALUE)
Definition: string.c:10183
VALUE rb_thread_wakeup_alive(VALUE)
Definition: thread.c:2379
VALUE rb_time_new(time_t, long)
Definition: time.c:2143
VALUE rb_flt_rationalize(VALUE)
Definition: rational.c:2273
void rb_trap_exit(void)
Definition: signal.c:1024
VALUE rb_struct_size(VALUE s)
Definition: struct.c:1130
VALUE rb_ary_subseq(VALUE, long, long)
Definition: array.c:1231
VALUE rb_make_backtrace(void)
Definition: vm_backtrace.c:813
VALUE rb_str_resurrect(VALUE str)
Definition: string.c:1494
void rb_name_error_str(VALUE str, const char *fmt,...)
Definition: error.c:1258
VALUE rb_big_divmod(VALUE, VALUE)
Definition: bignum.c:6080
void rb_remove_method(VALUE, const char *)
Definition: vm_method.c:999
VALUE rb_str_resize(VALUE, long)
Definition: string.c:2644
VALUE rb_io_binmode(VALUE)
Definition: io.c:5012
long rb_str_offset(VALUE, long)
Definition: string.c:2348
VALUE rb_const_get(VALUE, ID)
Definition: variable.c:2292
VALUE rb_define_finalizer(VALUE, VALUE)
Definition: gc.c:2748
int rb_str_hash_cmp(VALUE, VALUE)
Definition: string.c:3104
VALUE rb_num_coerce_bit(VALUE, VALUE, ID)
Definition: numeric.c:4309
VALUE rb_big_or(VALUE, VALUE)
Definition: bignum.c:6417
VALUE rb_ary_plus(VALUE, VALUE)
Definition: array.c:3635
VALUE rb_thread_local_aset(VALUE, ID, VALUE)
Definition: thread.c:3148
VALUE rb_str_subseq(VALUE, long, long)
Definition: string.c:2406
int rb_absint_singlebit_p(VALUE val)
Definition: bignum.c:3428
void rb_alias_variable(ID, ID)
Definition: variable.c:912
VALUE rb_locale_str_new_cstr(const char *)
Definition: string.c:1073
VALUE rb_str_new_static(const char *, long)
Definition: string.c:830
VALUE rb_str_replace(VALUE, VALUE)
Definition: string.c:5246
VALUE rb_str2inum(VALUE, int)
Definition: bignum.c:4515
VALUE rb_io_fdopen(int, int, const char *)
Definition: io.c:7648
VALUE rb_env_clear(void)
Definition: hash.c:4004
VALUE rb_io_print(int, const VALUE *, VALUE)
Definition: io.c:7227
VALUE rb_reg_new(const char *, long, int)
Definition: re.c:2913
int rb_during_gc(void)
Definition: gc.c:6735
unsigned long rb_genrand_ulong_limited(unsigned long i)
Definition: random.c:903
#define RUBY_EXTERN
Definition: missing.h:77
void rb_mark_tbl(struct st_table *)
Definition: gc.c:4302
VALUE rb_obj_freeze(VALUE)
call-seq: obj.freeze -> obj
Definition: object.c:1331
VALUE rb_io_gets(VALUE)
Definition: io.c:3281
VALUE rb_obj_is_proc(VALUE)
Definition: proc.c:116
VALUE rb_sprintf(const char *format,...)
Definition: sprintf.c:1452
void rb_big_2comp(VALUE)
Definition: bignum.c:3031
VALUE rb_random_bytes(VALUE rnd, long n)
Definition: random.c:1117
VALUE rb_ary_resurrect(VALUE ary)
Definition: array.c:1940
VALUE rb_str_format(int, const VALUE *, VALUE)
Definition: sprintf.c:464
int rb_obj_respond_to(VALUE, ID, int)
Definition: vm_method.c:1984
#define rb_fd_copy(d, s, n)
Definition: intern.h:351
void rb_last_status_set(int status, rb_pid_t pid)
Definition: process.c:485
VALUE(*const rb_f_notimplement_)(int, const VALUE *, VALUE)
Definition: win32.c:7916
VALUE rb_class_path(VALUE)
Definition: variable.c:295
VALUE rb_mod_module_eval(int, const VALUE *, VALUE)
Definition: vm_eval.c:1748
VALUE rb_complex_new(VALUE, VALUE)
Definition: complex.c:1448
VALUE rb_ary_assoc(VALUE, VALUE)
Definition: array.c:3792
VALUE rb_str_vcatf(VALUE, const char *, va_list)
Definition: sprintf.c:1465
VALUE rb_ary_each(VALUE)
Definition: array.c:1821
#define RUBY_SYMBOL_EXPORT_END
Definition: missing.h:49
rb_pid_t rb_spawn_err(int, const VALUE *, char *, size_t)
Definition: process.c:4006
void * rb_mod_const_of(VALUE, void *)
Definition: variable.c:2427
VALUE rb_Hash(VALUE)
Equivalent to Kernel#Hash in Ruby.
Definition: object.c:3635
void rb_str_modify_expand(VALUE, long)
Definition: string.c:2054
VALUE rb_class_inherited_p(VALUE mod, VALUE arg)
call-seq: mod <= other -> true, false, or nil
Definition: object.c:1827
VALUE rb_ivar_set(VALUE, ID, VALUE)
Definition: variable.c:1315
unsigned char buf[MIME_BUF_SIZE]
Definition: nkf.c:4309
unsigned long ID
Definition: ruby.h:86
void rb_thread_wait_fd(int)
Definition: thread.c:3776
VALUE rb_class_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1241
VALUE rb_thread_main(void)
Definition: thread.c:2515
VALUE rb_big_unpack(unsigned long *buf, long num_longs)
Definition: bignum.c:3205
void rb_hash_foreach(VALUE, int(*)(ANYARGS), VALUE)
Definition: hash.c:385
VALUE rb_make_exception(int, const VALUE *)
Make an Exception object from the list of arguments in a manner similar to Kernel#raise.
Definition: eval.c:788
VALUE rb_obj_frozen_p(VALUE obj)
call-seq: obj.frozen? -> true or false
Definition: object.c:1360
void rb_clear_method_cache_by_class(VALUE)
Definition: vm_method.c:90
int rb_str_comparable(VALUE, VALUE)
Definition: string.c:3134
void rb_const_set(VALUE, ID, VALUE)
Definition: variable.c:2573
void rb_exc_raise(VALUE mesg)
Raises an exception in the current thread.
Definition: eval.c:615
void rb_error_untrusted(VALUE obj)
Definition: error.c:2616
VALUE rb_const_list(void *)
Definition: variable.c:2449
#define mode_t
Definition: win32.h:119
VALUE rb_ary_includes(VALUE, VALUE)
Definition: array.c:3975
VALUE rb_ary_unshift(VALUE, VALUE)
Definition: array.c:1197
VALUE rb_io_close(VALUE)
Definition: io.c:4501
unsigned long VALUE
Definition: ruby.h:85
VALUE rb_f_trace_var(int, const VALUE *)
Definition: variable.c:688
void rb_name_class(VALUE, ID)
Definition: variable.c:438
VALUE rb_fiber_new(VALUE(*)(ANYARGS), VALUE)
Definition: cont.c:1317
VALUE rb_big_plus(VALUE, VALUE)
Definition: bignum.c:5772
VALUE rb_mod_class_variables(int, const VALUE *, VALUE)
Definition: variable.c:3025
VALUE rb_big_idiv(VALUE, VALUE)
Definition: bignum.c:6042
#define RUBY_SYMBOL_EXPORT_BEGIN
Definition: missing.h:48
VALUE rb_io_puts(int, const VALUE *, VALUE)
Definition: io.c:7399
VALUE rb_rational_den(VALUE rat)
Definition: rational.c:1994
void rb_alias(VALUE, ID, ID)
Definition: vm_method.c:1525
void rb_match_busy(VALUE)
Definition: re.c:1252
VALUE rb_gc_enable(void)
Definition: gc.c:7367
VALUE rb_check_funcall(VALUE, ID, int, const VALUE *)
Definition: vm_eval.c:389
VALUE rb_random_int(VALUE rnd, VALUE max)
VALUE rb_num_coerce_relop(VALUE, VALUE, ID)
Definition: numeric.c:488
VALUE rb_file_directory_p(VALUE, VALUE)
Definition: file.c:1405
VALUE rb_cv_get(VALUE, const char *)
Definition: variable.c:2932
int rb_sym_interned_p(VALUE)
VALUE rb_str_ellipsize(VALUE, long)
Shortens str and adds three dots, an ellipsis, if it is longer than len characters.
Definition: string.c:9575
VALUE rb_str_new_cstr(const char *)
Definition: string.c:771
VALUE rb_str_dump(VALUE)
Definition: string.c:5920
VALUE rb_proc_call(VALUE, VALUE)
Definition: proc.c:872
VALUE rb_proc_lambda_p(VALUE)
Definition: proc.c:254
RUBY_EXTERN VALUE rb_rs
Definition: intern.h:516
VALUE rb_obj_trust(VALUE)
call-seq: obj.trust -> obj
Definition: object.c:1281
int rb_is_global_id(ID id)
Definition: symbol.c:832
VALUE rb_blocking_function_t(void *)
Definition: intern.h:873
VALUE rb_io_ungetbyte(VALUE, VALUE)
Definition: io.c:3982
VALUE rb_obj_remove_instance_variable(VALUE, VALUE)
Definition: variable.c:1687
VALUE rb_str_dup(VALUE)
Definition: string.c:1488
VALUE rb_num2fix(VALUE)
Definition: numeric.c:3033
int rb_bigzero_p(VALUE x)
Definition: bignum.c:2901
int rb_is_junk_id(ID id)
Definition: symbol.c:856
int rb_reserved_fd_p(int fd)
void rb_loaderror_with_path(VALUE path, const char *fmt,...)
Definition: error.c:2318
unsigned long rb_random_ulong_limited(VALUE rnd, unsigned long limit)
Definition: random.c:1026
VALUE rb_file_s_absolute_path(int, const VALUE *)
Definition: file.c:3843
rb_pid_t rb_spawn(int, const VALUE *)
Definition: process.c:4012
int rb_respond_to(VALUE, ID)
Definition: vm_method.c:1994
void rb_memerror(void)
Definition: gc.c:7700
unsigned int uint32_t
Definition: sha2.h:101
VALUE rb_method_call(int, const VALUE *, VALUE)
Definition: proc.c:2075
register unsigned int len
Definition: zonetab.h:51
VALUE rb_str_freeze(VALUE)
Definition: string.c:2549
VALUE rb_mod_constants(int, const VALUE *, VALUE)
Definition: variable.c:2481
VALUE rb_big_new(size_t, int)
Definition: bignum.c:2996
RUBY_EXTERN VALUE rb_default_rs
Definition: intern.h:517
#define rb_enumeratorize_with_size(obj, id, argc, argv, size_fn)
Definition: intern.h:228
int rb_cloexec_pipe(int fildes[2])
Definition: io.c:325
void rb_mark_set(struct st_table *)
Definition: gc.c:4134
void rb_thread_wait_for(struct timeval)
Definition: thread.c:1205
void rb_str_modify(VALUE)
Definition: string.c:2046
VALUE rb_obj_instance_eval(int, const VALUE *, VALUE)
Definition: vm_eval.c:1689
int rb_const_defined_at(VALUE, ID)
Definition: variable.c:2543
void rb_define_method_id(VALUE, ID, VALUE(*)(ANYARGS), int)
Definition: class.c:1509
VALUE rb_f_untrace_var(int, const VALUE *)
Definition: variable.c:747
void rb_singleton_class_attached(VALUE, VALUE)
Attach a object to a singleton class.
Definition: class.c:421
#define UNLIMITED_ARGUMENTS
Definition: intern.h:44
int rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags)
Definition: bignum.c:3529
int rb_sourceline(void)
Definition: vm.c:1283
VALUE rb_fiber_current(void)
Definition: cont.c:1419
VALUE rb_module_new(void)
Definition: class.c:749
VALUE rb_rational_num(VALUE rat)
Definition: rational.c:1988
#define rb_str_buf_cat
Definition: intern.h:842
ID rb_frame_callee(void)
The name of the current method.
Definition: eval.c:1120
VALUE rb_ary_tmp_new(long)
Definition: array.c:544
double rb_str_to_dbl(VALUE, int)
Parses a string representation of a floating point number.
Definition: object.c:3298
VALUE rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags)
Definition: bignum.c:3615
VALUE rb_block_proc(void)
Definition: proc.c:780
void rb_interrupt(void)
Raises an Interrupt exception.
Definition: eval.c:644
VALUE rb_ary_resize(VALUE ary, long len)
expands or shrinks ary to len elements.
Definition: array.c:1648
VALUE rb_str_buf_cat_ascii(VALUE, const char *)
Definition: string.c:2860
VALUE rb_Float(VALUE)
Equivalent to Kernel#Float in Ruby.
Definition: object.c:3398
VALUE rb_str_buf_new_cstr(const char *)
Definition: string.c:1298
#define ANYARGS
Definition: defines.h:173
void rb_fd_fix_cloexec(int fd)
Definition: io.c:233
VALUE rb_big_div(VALUE, VALUE)
Definition: bignum.c:6036
VALUE rb_class_superclass(VALUE)
call-seq: class.superclass -> a_super_class or nil
Definition: object.c:2204
void rb_gc_mark_maybe(VALUE)
Definition: gc.c:4320
VALUE rb_struct_aref(VALUE, VALUE)
Definition: struct.c:896
VALUE rb_get_values_at(VALUE, long, int, const VALUE *, VALUE(*)(VALUE, long))
Definition: array.c:2789
VALUE rb_big_eql(VALUE, VALUE)
Definition: bignum.c:5492
void rb_error_arity(int argc, int min, int max)
VALUE rb_utf8_str_new_static(const char *, long)
Definition: string.c:842
ID rb_frame_this_func(void)
The original name of the current method.
Definition: eval.c:1103
VALUE rb_convert_type(VALUE, int, const char *, const char *)
Converts an object into another type.
Definition: object.c:2965
#define rb_fd_select(n, rfds, wfds, efds, timeout)
Definition: intern.h:359
CONSTFUNC(void rb_error_untrusted(VALUE))
VALUE rb_str_catf(VALUE str, const char *format,...)
Definition: sprintf.c:1492
#define rb_str_cat2
Definition: intern.h:844
VALUE rb_class_path_cached(VALUE)
Definition: variable.c:319
VALUE rb_dir_getwd(void)
Definition: dir.c:1114
VALUE rb_check_string_type(VALUE)
Definition: string.c:2246
VALUE rb_io_ascii8bit_binmode(VALUE)
Definition: io.c:5058
#define rb_fd_clr(n, f)
Definition: intern.h:349
VALUE rb_ary_push(VALUE, VALUE)
Definition: array.c:924
VALUE rb_obj_singleton_methods(int, const VALUE *, VALUE)
Definition: class.c:1418
void rb_str_shared_replace(VALUE, VALUE)
Definition: string.c:1358
void rb_check_copyable(VALUE obj, VALUE orig)
Definition: error.c:2627
void rb_marshal_define_compat(VALUE newclass, VALUE oldclass, VALUE(*dumper)(VALUE), VALUE(*loader)(VALUE, VALUE))
Definition: marshal.c:134
void rb_error_frozen_object(VALUE frozen_obj)
Definition: error.c:2590
VALUE rb_proc_new(VALUE(*)(ANYARGS), VALUE)
Definition: proc.c:2649
void rb_thread_check_ints(void)
Definition: thread.c:1219
VALUE rb_thread_run(VALUE)
Definition: thread.c:2417
VALUE rb_str_locktmp(VALUE)
VALUE rb_mod_remove_const(VALUE, VALUE)
Definition: variable.c:2332
unsigned long rb_big2ulong(VALUE)
Definition: bignum.c:5093
void rb_ary_free(VALUE)
Definition: array.c:559
VALUE rb_class_new_instance(int, const VALUE *, VALUE)
Allocates and initializes an instance of klass.
Definition: object.c:2170
VALUE rb_mutex_unlock(VALUE mutex)
Definition: thread_sync.c:370
size_t rb_str_capacity(VALUE str)
Definition: string.c:675
int rb_method_basic_definition_p(VALUE, ID)
Definition: vm_method.c:1879
#define rb_check_trusted_internal(obj)
Definition: intern.h:261
VALUE rb_str_cat_cstr(VALUE, const char *)
Definition: string.c:2756
long rb_str_sublen(VALUE, long)
Definition: string.c:2395
VALUE rb_hash_update_by(VALUE hash1, VALUE hash2, rb_hash_update_func *func)
Definition: hash.c:2594
VALUE rb_f_global_variables(void)
Definition: variable.c:884
VALUE rb_obj_instance_exec(int, const VALUE *, VALUE)
Definition: vm_eval.c:1714
VALUE rb_find_file_safe(VALUE, int)
Definition: file.c:5971
VALUE rb_marshal_load(VALUE)
Definition: marshal.c:2255
void rb_gc(void)
Definition: gc.c:6727
VALUE rb_struct_define_without_accessor_under(VALUE outer, const char *class_name, VALUE super, rb_alloc_func_t alloc,...)
Definition: struct.c:384
VALUE rb_class_private_instance_methods(int, const VALUE *, VALUE)
Definition: class.c:1279
VALUE rb_str_inspect(VALUE)
Definition: string.c:5813
VALUE rb_eval_cmd(VALUE, VALUE, int)
Definition: vm_eval.c:1507
void rb_gc_mark(VALUE)
Definition: gc.c:4464
int rb_is_local_id(ID id)
Definition: symbol.c:850
VALUE rb_exec_recursive_paired_outer(VALUE(*)(VALUE, VALUE, int), VALUE, VALUE, VALUE)
Definition: thread.c:4744
#define rb_str_buf_cat2
Definition: intern.h:843
VALUE rb_obj_untaint(VALUE)
call-seq: obj.untaint -> obj
Definition: object.c:1208
VALUE rb_filesystem_str_new_cstr(const char *)
Definition: string.c:1085
VALUE rb_hash_new(void)
Definition: hash.c:424
VALUE rb_gc_disable(void)
Definition: gc.c:7389
VALUE rb_const_get_at(VALUE, ID)
Definition: variable.c:2298
VALUE rb_reg_match_pre(VALUE)
Definition: re.c:1723
void rb_set_class_path(VALUE, VALUE, const char *)
Definition: variable.c:367
void rb_gc_adjust_memory_usage(ssize_t)
Definition: gc.c:8191
VALUE rb_ary_shift(VALUE)
Definition: array.c:1019
int rb_thread_interrupted(VALUE thval)
Definition: thread.c:1237
VALUE rb_file_s_expand_path(int, const VALUE *)
Definition: file.c:3816
void rb_gc_finalize_deferred(void)
Definition: gc.c:2876
long rb_str_strlen(VALUE)
Definition: string.c:1789
void rb_load(VALUE, int)
Definition: load.c:665
PUREFUNC(int rb_during_gc(void))
int rb_eql(VALUE, VALUE)
Determines if obj1 and obj2 are equal in terms of Object::eql?.
Definition: object.c:149
VALUE rb_sym_all_symbols(void)
Definition: symbol.c:806
VALUE rb_reg_new_str(VALUE, int)
Definition: re.c:2861
VALUE rb_assoc_new(VALUE, VALUE)
Definition: array.c:639
VALUE rb_thread_stop(void)
Definition: thread.c:2441
int rb_is_attrset_id(ID id)
Definition: symbol.c:844
void rb_gc_copy_finalizer(VALUE, VALUE)
Definition: gc.c:2756
VALUE rb_ary_to_s(VALUE)
Definition: array.c:2143
VALUE rb_mod_included_modules(VALUE)
Definition: class.c:1017
VALUE rb_ary_aref(int, const VALUE *, VALUE)
Definition: array.c:1285
VALUE rb_str_new_frozen(VALUE)
Definition: string.c:1158
VALUE rb_big_modulo(VALUE, VALUE)
Definition: bignum.c:6048
VALUE rb_struct_define_without_accessor(const char *, VALUE, rb_alloc_func_t,...)
Definition: struct.c:397
void rb_exc_fatal(VALUE mesg)
Raises a fatal error in the current thread.
Definition: eval.c:631
VALUE rb_str_drop_bytes(VALUE, long)
Definition: string.c:4473
VALUE rb_define_class_id(ID, VALUE)
Defines a new class.
Definition: class.c:599
#define rb_fd_init(f)
Definition: intern.h:355
VALUE rb_big_minus(VALUE, VALUE)
Definition: bignum.c:5801
int rb_cloexec_dup(int oldfd)
Definition: io.c:283
VALUE rb_gc_start(void)
Definition: gc.c:6720
VALUE rb_big_rshift(VALUE, VALUE)
Definition: bignum.c:6589
#define rb_fd_dup(d, s)
Definition: intern.h:352
void rb_ary_modify(VALUE)
Definition: array.c:319
#define rb_hash_end(h)
Definition: intern.h:748
VALUE rb_ary_freeze(VALUE)
Definition: array.c:409
unsigned int rb_random_int32(VALUE rnd)
Definition: random.c:931
#define rb_check_frozen(obj)
Definition: intern.h:271
VALUE rb_ary_cat(VALUE, const VALUE *, long)
Definition: array.c:936
int rb_proc_arity(VALUE)
Definition: proc.c:1004
VALUE rb_str_intern(VALUE)
Definition: symbol.c:661
void rb_copy_generic_ivar(VALUE, VALUE)
Definition: variable.c:1502
VALUE rb_struct_define(const char *,...)
Definition: struct.c:410
ID rb_id_attrset(ID)
Definition: symbol.c:100
int rb_cmpint(VALUE, VALUE, VALUE)
Definition: bignum.c:2907
VALUE rb_tainted_str_new(const char *, long)
Definition: string.c:854
VALUE rb_ary_pop(VALUE)
Definition: array.c:968
VALUE rb_str_buf_new(long)
Definition: string.c:1282
VALUE rb_usascii_str_new(const char *, long)
Definition: string.c:743
int rb_method_boundp(VALUE, ID, int)
Definition: vm_method.c:1068
VALUE rb_obj_instance_variables(VALUE)
Definition: variable.c:1634
VALUE rb_const_remove(VALUE, ID)
Definition: variable.c:2344
VALUE rb_const_get_from(VALUE, ID)
Definition: variable.c:2286
VALUE rb_ary_new(void)
Definition: array.c:499
VALUE rb_vsprintf(const char *, va_list)
Definition: sprintf.c:1446
VALUE rb_str_scrub(VALUE, VALUE)
Definition: string.c:9638
VALUE rb_last_status_get(void)
Definition: process.c:479
VALUE rb_ary_new_from_values(long n, const VALUE *elts)
Definition: array.c:538
void rb_timespec_now(struct timespec *)
Definition: time.c:1749
VALUE rb_cstr_to_inum(const char *, int, int)
Definition: bignum.c:3992
VALUE(* rb_alloc_func_t)(VALUE)
Definition: intern.h:370
VALUE rb_fiber_alive_p(VALUE)
Definition: cont.c:1631
VALUE rb_hash_aset(VALUE, VALUE, VALUE)
Definition: hash.c:1616
VALUE rb_hash_set_ifnone(VALUE hash, VALUE ifnone)
Definition: hash.c:88
VALUE rb_class_real(VALUE cl)
Looks up the nearest ancestor of cl, skipping singleton classes or module inclusions.
Definition: object.c:251
VALUE rb_struct_initialize(VALUE, VALUE)
Definition: struct.c:571
void ruby_default_signal(int)
Definition: signal.c:360
VALUE rb_exc_new_cstr(VALUE, const char *)
Definition: error.c:842
VALUE rb_thread_create(VALUE(*)(ANYARGS), void *)
Definition: thread.c:831
VALUE rb_obj_clone(VALUE)
:nodoc Almost same as Object::clone ++
Definition: object.c:475
rb_pid_t rb_waitpid(rb_pid_t pid, int *status, int flags)
Definition: process.c:902
VALUE rb_class_new(VALUE)
Creates a new class.
Definition: class.c:242
VALUE rb_check_array_type(VALUE)
Definition: array.c:651
VALUE rb_str_append(VALUE, VALUE)
Definition: string.c:2900
unsigned int rb_genrand_int32(void)
Definition: random.c:264
VALUE rb_io_eof(VALUE)
Definition: io.c:1829
void rb_load_protect(VALUE, int, int *)
Definition: load.c:671
void rb_provide(const char *)
Definition: load.c:572
int rb_memcicmp(const void *, const void *, long)
Definition: re.c:79
VALUE rb_time_num_new(VALUE, VALUE)
Definition: time.c:2204
void rb_loaderror(const char *fmt,...)
Definition: error.c:2306
int rb_find_file_ext(VALUE *, const char *const *)
Definition: file.c:5893
st_index_t rb_ivar_count(VALUE)
Definition: variable.c:1566
VALUE rb_struct_alloc(VALUE, VALUE)
Definition: struct.c:599
VALUE rb_ary_rotate(VALUE, long)
Definition: array.c:2288
#define rb_hash_uint(h, i)
Definition: intern.h:747
VALUE rb_autoload_load(VALUE, ID)
Definition: variable.c:2151
void rb_set_class_path_string(VALUE, VALUE, VALUE)
Definition: variable.c:344
void rb_cmperr(VALUE x, VALUE y)
Definition: compar.c:24
void rb_exec_end_proc(void)
Definition: eval_jump.c:114
VALUE rb_big_eq(VALUE, VALUE)
Definition: bignum.c:5472
st_index_t rb_hash_start(st_index_t)
Definition: random.c:1506
VALUE rb_ary_to_ary(VALUE)
Definition: array.c:1553
VALUE rb_to_int(VALUE)
Converts val into Integer.
Definition: object.c:3084
VALUE rb_reg_nth_match(int, VALUE)
Definition: re.c:1679
VALUE rb_attr_get(VALUE, ID)
Definition: variable.c:1224
VALUE rb_usascii_str_new_cstr(const char *)
Definition: string.c:778
char ** argv
Definition: ruby.c:188
VALUE rb_ary_clear(VALUE)
Definition: array.c:3501
VALUE rb_class_get_superclass(VALUE)
Returns the superclass of klass The return value might be an iclass of a module, unlike rb_class_supe...
Definition: object.c:2229
VALUE rb_num_coerce_cmp(VALUE, VALUE, ID)
Definition: numeric.c:480
VALUE rb_f_abort(int argc, const VALUE *argv)
Definition: process.c:3866
VALUE rb_filesystem_str_new(const char *, long)
Definition: string.c:1079
RUBY_EXTERN VALUE rb_argv0
Definition: intern.h:664
void rb_thread_sleep_forever(void)
Definition: thread.c:1160
VALUE rb_autoload_p(VALUE, ID)
Definition: variable.c:2201
VALUE rb_str_new(const char *, long)
Definition: string.c:737
int rb_mod_method_arity(VALUE, ID)
Definition: proc.c:2413
VALUE rb_big_lshift(VALUE, VALUE)
Definition: bignum.c:6559