summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/include
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-02-01 16:25:39 +0900
committerdearblue <[email protected]>2020-02-02 21:20:25 +0900
commit4c6d524c473ebb9174d0183dc1d1ac0530337314 (patch)
tree1aec9457c2862557440a3d718f459020334e0383 /mrbgems/mruby-io/include
parent3c67d9b1c0e4970db1d88fccdf7f26c781aa2c5f (diff)
downloadmruby-4c6d524c473ebb9174d0183dc1d1ac0530337314.tar.gz
mruby-4c6d524c473ebb9174d0183dc1d1ac0530337314.zip
Implement `IO#pread` and `IO#pwrite`
It is available by default in environments where `__unix__` is defined. Other environments are enabled by defining `MRB_WITH_IO_PREAD_PWRITE` (requires an implementation of `pread()` and `pwrite()` functions). In any case, you can disable it by defining `MRB_WITHOUT_IO_PREAD_PWRITE`.
Diffstat (limited to 'mrbgems/mruby-io/include')
-rw-r--r--mrbgems/mruby-io/include/mruby/ext/io.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/mrbgems/mruby-io/include/mruby/ext/io.h b/mrbgems/mruby-io/include/mruby/ext/io.h
index 4bcbbe914..c4eccb936 100644
--- a/mrbgems/mruby-io/include/mruby/ext/io.h
+++ b/mrbgems/mruby-io/include/mruby/ext/io.h
@@ -9,6 +9,14 @@
extern "C" {
#endif
+#if defined(MRB_WITHOUT_IO_PREAD_PWRITE)
+# undef MRB_WITH_IO_PREAD_PWRITE
+#elif !defined(MRB_WITH_IO_PREAD_PWRITE)
+# if defined(__unix__)
+# define MRB_WITH_IO_PREAD_PWRITE
+# endif
+#endif
+
struct mrb_io {
int fd; /* file descriptor, or -1 */
int fd2; /* file descriptor to write if it's different from fd, or -1 */