Ruby: include/ruby/vm.h Source File

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

vm.h
Go to the documentation of this file.
1#ifndef RUBY_VM_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RUBY_VM_H 1
13#include "ruby/internal/dllexport.h"
14
15 RBIMPL_SYMBOL_EXPORT_BEGIN()
16
17/* Place holder.
18 *
19 * We will prepare VM creation/control APIs on 1.9.2 or later.
20 *
21 */
22
23/* VM type declaration */
24typedef struct rb_vm_struct ruby_vm_t;
25
26/* core API */
27int ruby_vm_destruct(ruby_vm_t *vm);
28
45void ruby_vm_at_exit(void(*func)(ruby_vm_t *));
46
47 RBIMPL_SYMBOL_EXPORT_END()
48
49#endif /* RUBY_VM_H */
dllexport.h
Tewaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition: dllexport.h:86
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition: dllexport.h:77
ruby_vm_at_exit
void ruby_vm_at_exit(void(*func)(ruby_vm_t *))
ruby_vm_at_exit registers a function func to be invoked when a VM passed away.
Definition: vm.c:658
ruby_vm_destruct
int ruby_vm_destruct(ruby_vm_t *vm)
Definition: vm.c:2639
rb_vm_struct
Definition: vm_core.h:564