Ruby: include/ruby/internal/intern/cont.h Source File

Ruby 3.4.4p34 (2025-05-14 revision a38531fd3f617bf734ef7d6c595325f69985ea1d)

cont.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_CONT_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_CONT_H
23#include "ruby/internal/dllexport.h"
24#include "ruby/internal/value.h"
25#include "ruby/internal/iterator.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* cont.c */
30
31
39 VALUE rb_fiber_new(rb_block_call_func_t func, VALUE callback_obj);
40
61 VALUE rb_fiber_new_storage(rb_block_call_func_t func, VALUE callback_obj, VALUE storage);
62
69 VALUE rb_fiber_current(void);
70
80 VALUE rb_fiber_alive_p(VALUE fiber);
81
89 VALUE rb_obj_is_fiber(VALUE obj);
90
139 VALUE rb_fiber_resume(VALUE fiber, int argc, const VALUE *argv);
140
156 VALUE rb_fiber_resume_kw(VALUE fiber, int argc, const VALUE *argv, int kw_splat);
157
184 VALUE rb_fiber_yield(int argc, const VALUE *argv);
185
199 VALUE rb_fiber_yield_kw(int argc, const VALUE *argv, int kw_splat);
200
238 VALUE rb_fiber_transfer(VALUE fiber, int argc, const VALUE *argv);
239
255 VALUE rb_fiber_transfer_kw(VALUE fiber, int argc, const VALUE *argv, int kw_splat);
256
278 VALUE rb_fiber_raise(VALUE fiber, int argc, const VALUE *argv);
279
280 RBIMPL_SYMBOL_EXPORT_END()
281
282#endif /* RBIMPL_INTERN_CONT_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
iterator.h
Block related APIs.
rb_block_call_func_t
rb_block_call_func * rb_block_call_func_t
Shorthand type that represents an iterator-written-in-C function pointer.
Definition iterator.h:88
value.h
Defines VALUE and ID.
VALUE
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40