summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-05-22 08:58:50 +0900
committerGitHub <[email protected]>2019-05-22 08:58:50 +0900
commit85a2dfc841b90ced18a2e98cd98a58ab7e094863 (patch)
treea372081d6ba363bfba6f5c694d289ad516fe6a37 /include
parent38f8edbdd7463ee5e3331d09b2d031d55f2fd05e (diff)
parent8f6f36f6540408d3b1b5a0dddf440d53b43e53e4 (diff)
downloadmruby-85a2dfc841b90ced18a2e98cd98a58ab7e094863.tar.gz
mruby-85a2dfc841b90ced18a2e98cd98a58ab7e094863.zip
Merge pull request #4403 from dearblue/read-irep-from-buf
Read irep from buffers
Diffstat (limited to 'include')
-rw-r--r--include/mruby/dump.h1
-rw-r--r--include/mruby/irep.h12
2 files changed, 13 insertions, 0 deletions
diff --git a/include/mruby/dump.h b/include/mruby/dump.h
index 4c7d08253..65ed8af9d 100644
--- a/include/mruby/dump.h
+++ b/include/mruby/dump.h
@@ -31,6 +31,7 @@ MRB_API mrb_value mrb_load_irep_file(mrb_state*,FILE*);
MRB_API mrb_value mrb_load_irep_file_cxt(mrb_state*, FILE*, mrbc_context*);
#endif
MRB_API mrb_irep *mrb_read_irep(mrb_state*, const uint8_t*);
+MRB_API mrb_irep *mrb_read_irep_buf(mrb_state*, const void*, size_t);
/* dump/load error code
*
diff --git a/include/mruby/irep.h b/include/mruby/irep.h
index 027a294d5..d42fd0fb8 100644
--- a/include/mruby/irep.h
+++ b/include/mruby/irep.h
@@ -52,9 +52,21 @@ MRB_API mrb_irep *mrb_add_irep(mrb_state *mrb);
/* @param [const uint8_t*] irep code, expected as a literal */
MRB_API mrb_value mrb_load_irep(mrb_state*, const uint8_t*);
+/*
+ * @param [const void*] irep code
+ * @param [size_t] size of irep buffer. If -1 is given, it is considered unrestricted.
+ */
+MRB_API mrb_value mrb_load_irep_buf(mrb_state*, const void*, size_t);
+
/* @param [const uint8_t*] irep code, expected as a literal */
MRB_API mrb_value mrb_load_irep_cxt(mrb_state*, const uint8_t*, mrbc_context*);
+/*
+ * @param [const void*] irep code
+ * @param [size_t] size of irep buffer. If -1 is given, it is considered unrestricted.
+ */
+MRB_API mrb_value mrb_load_irep_buf_cxt(mrb_state*, const void*, size_t, mrbc_context*);
+
void mrb_irep_free(mrb_state*, struct mrb_irep*);
void mrb_irep_incref(mrb_state*, struct mrb_irep*);
void mrb_irep_decref(mrb_state*, struct mrb_irep*);