1#ifndef RBIMPL_RSTRUCT_H
2#define RBIMPL_RSTRUCT_H
30#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
31# include "ruby/backward.h"
45#define RSTRUCT_PTR(st) rb_struct_ptr(st)
47#define RSTRUCT_LEN RSTRUCT_LEN
48#define RSTRUCT_SET RSTRUCT_SET
49#define RSTRUCT_GET RSTRUCT_GET
Defines RBIMPL_ATTR_ARTIFICIAL.
#define RBIMPL_ATTR_ARTIFICIAL()
Wraps (or simulates) __attribute__((artificial))
Tweaking visibility of C variables/functions.
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
#define INT2NUM
Old name of RB_INT2NUM.
Arithmetic conversion between C's int and Ruby's.
Arithmetic conversion between C's long and Ruby's.
#define RB_NUM2LONG
Just another name of rb_num2long_inline.
#define inline
Old Visual Studio versions do not support the inline keyword, so we need to define it to be __inline.
VALUE rb_struct_aset(VALUE st, VALUE k, VALUE v)
Resembles Struct#[]=.
VALUE rb_struct_size(VALUE st)
Returns the number of struct members.
VALUE rb_struct_aref(VALUE st, VALUE k)
Resembles Struct#[].
uintptr_t VALUE
Type that represents a Ruby object.
Defines enum ruby_value_type.