Ruby: include/ruby/internal/globals.h File Reference

Ruby 3.4.5p51 (2025-07-16 revision 20cda200d3ce092571d0b5d342dadca69636cb0f)

Macros | Functions | Variables
globals.h File Reference

Ruby-level global variables / constants, visible from C. More...

`#include "ruby/internal/attr/pure.h"`
`#include "ruby/internal/dllexport.h"`
`#include "ruby/internal/fl_type.h"`
`#include "ruby/internal/special_consts.h"`
`#include "ruby/internal/value.h"`
`#include "ruby/internal/value_type.h"`

Go to the source code of this file.

## Macros
#define | RUBY_INTEGER_UNIFICATION 1
#define | CLASS_OF rb_class_of
| Old name of rb_class_of.

## Functions
static VALUE | rb_class_of (VALUE obj)
| Object to class mapping function.

## Variables
VALUE | rb_mKernel
| Kernel module.
VALUE | rb_mComparable
| Comparable module.
VALUE | rb_mEnumerable
| Enumerable module.
VALUE | rb_mErrno
| Errno module.
VALUE | rb_mFileTest
| FileTest module.
VALUE | rb_mGC
| GC module.
VALUE | rb_mMath
| Math module.
VALUE | rb_mProcess
| Process module.
VALUE | rb_mWaitReadable
| IO::WaitReadable module.
VALUE | rb_mWaitWritable
| IO::WaitReadable module.
VALUE | rb_cBasicObject
| BasicObject class.
VALUE | rb_cObject
| Object class.
VALUE | rb_cArray
| Array class.
VALUE | rb_cBinding
| Binding class.
VALUE | rb_cClass
| Class class.
VALUE | rb_cDir
| Dir class.
VALUE | rb_cEncoding
| Encoding class.
VALUE | rb_cEnumerator
| Enumerator class.
VALUE | rb_cFalseClass
| FalseClass class.
VALUE | rb_cFile
| File class.
VALUE | rb_cComplex
| Complex class.
VALUE | rb_cFloat
| Float class.
VALUE | rb_cHash
| Hash class.
VALUE | rb_cIO
| IO class.
VALUE | rb_cInteger
| Module class.
VALUE | rb_cMatch
| MatchData class.
VALUE | rb_cMethod
| Method class.
VALUE | rb_cModule
| Module class.
VALUE | rb_cRefinement
| Refinement class.
VALUE | rb_cNameErrorMesg
| NameError::Message class.
VALUE | rb_cNilClass
| NilClass class.
VALUE | rb_cNumeric
| Numeric class.
VALUE | rb_cProc
| Proc class.
VALUE | rb_cRandom
| Random class.
VALUE | rb_cRange
| Range class.
VALUE | rb_cRational
| Rational class.
VALUE | rb_cRegexp
| Regexp class.
VALUE | rb_cStat
| File::Stat class.
VALUE | rb_cString
| String class.
VALUE | rb_cStruct
| Struct class.
VALUE | rb_cSymbol
| Symbol class.
VALUE | rb_cThread
| Thread class.
VALUE | rb_cTime
| Time class.
VALUE | rb_cTrueClass
| TrueClass class.
VALUE | rb_cUnboundMethod
| UnboundMethod class.
VALUE | rb_eException
| Mother of all exceptions.
VALUE | rb_eStandardError
| StandardError exception.
VALUE | rb_eSystemExit
| SystemExit exception.
VALUE | rb_eInterrupt
| Interrupt exception.
VALUE | rb_eSignal
| SignalException exception.
VALUE | rb_eFatal
| fatal exception.
VALUE | rb_eArgError
| ArgumentError exception.
VALUE | rb_eEOFError
| EOFError exception.
VALUE | rb_eIndexError
| IndexError exception.
VALUE | rb_eStopIteration
| StopIteration exception.
VALUE | rb_eKeyError
| KeyError exception.
VALUE | rb_eRangeError
| RangeError exception.
VALUE | rb_eIOError
| IOError exception.
VALUE | rb_eRuntimeError
| RuntimeError exception.
VALUE | rb_eFrozenError
| FrozenError exception.
VALUE | rb_eSecurityError
| SecurityError exception.
VALUE | rb_eSystemCallError
| SystemCallError exception.
VALUE | rb_eThreadError
| ThreadError exception.
VALUE | rb_eTypeError
| TypeError exception.
VALUE | rb_eZeroDivError
| ZeroDivisionError exception.
VALUE | rb_eNotImpError
| NotImplementedError exception.
VALUE | rb_eNoMemError
| NoMemoryError exception.
VALUE | rb_eNoMethodError
| NoMethodError exception.
VALUE | rb_eFloatDomainError
| FloatDomainError exception.
VALUE | rb_eLocalJumpError
| LocalJumpError exception.
VALUE | rb_eSysStackError
| SystemStackError exception.
VALUE | rb_eRegexpError
| RegexpError exception.
VALUE | rb_eEncodingError
| EncodingError exception.
VALUE | rb_eEncCompatError
| Encoding::CompatibilityError exception.
VALUE | rb_eNoMatchingPatternError
| NoMatchingPatternError exception.
VALUE | rb_eNoMatchingPatternKeyError
| NoMatchingPatternKeyError exception.
VALUE | rb_eScriptError
| ScriptError exception.
VALUE | rb_eNameError
| NameError exception.
VALUE | rb_eSyntaxError
| SyntaxError exception.
VALUE | rb_eLoadError
| LoadError exception.
VALUE | rb_eMathDomainError
| Math::DomainError exception.
VALUE | rb_stdin
| STDIN constant.
VALUE | rb_stdout
| STDOUT constant.
VALUE | rb_stderr
| STDERR constant.

## Detailed Description

Ruby-level global variables / constants, visible from C.

Author
  Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org

Copyright
  This file is a part of the programming language Ruby. Permission is hereby granted, to either redistribute and/or modify this file, provided that the conditions mentioned in the file COPYING are met. Consult the file for details.

Warning
  Symbols prefixed with either RBIMPL or rbimpl are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will.

Note
  To ruby-core: remember that this header can be possibly recursively included from extension libraries written in C++. Do not expect for instance __VA_ARGS__ is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98.

Definition in file globals.h.