|
Ruby 4.1.0dev (2026-09-05 revision a946c1bd8e5e7e03e938fe5bb4df942affa95ec6)
|
#include "ruby/internal/config.h"#include "ruby/internal/attr/deprecated.h"#include "ruby/internal/attr/warning.h"#include "ruby/internal/cast.h"#include "ruby/internal/core/rbasic.h"#include "ruby/internal/dllexport.h"#include "ruby/internal/fl_type.h"#include "ruby/internal/value.h"#include "ruby/internal/value_type.h"#include "ruby/defines.h"

Go to the source code of this file.
Data Structures | |
| struct | RData |
Macros | |
| #define | RUBY_DEFAULT_FREE RBIMPL_DATA_FUNC(-1) |
| This is a value you can set to RData::dfree. | |
| #define | RUBY_NEVER_FREE RBIMPL_DATA_FUNC(0) |
| This is a value you can set to RData::dfree. | |
Typedefs | |
| typedef void(* | RUBY_DATA_FUNC) (void *) |
| This is the type of callbacks registered to RData. | |
Defines struct RData.
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. __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 rdata.h.
| #define RUBY_DEFAULT_FREE RBIMPL_DATA_FUNC(-1) |
This is a value you can set to RData::dfree.
Setting this means the data was allocated using ruby_xmalloc() (or variants), and shall be freed using ruby_xfree().
| #define RUBY_NEVER_FREE RBIMPL_DATA_FUNC(0) |