about summary refs log tree commit homepage
path: root/ext/sleepy_penguin/sleepy_penguin.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sleepy_penguin/sleepy_penguin.h')
-rw-r--r--ext/sleepy_penguin/sleepy_penguin.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/sleepy_penguin/sleepy_penguin.h b/ext/sleepy_penguin/sleepy_penguin.h
index 8aa514a..99ad0b7 100644
--- a/ext/sleepy_penguin/sleepy_penguin.h
+++ b/ext/sleepy_penguin/sleepy_penguin.h
@@ -92,4 +92,15 @@ void *rb_sp_gettlsbuf(size_t *size);
 
 int rb_sp_gc_for_fd(int err);
 
+#ifndef HAVE_COPY_FILE_RANGE
+#  include <sys/syscall.h>
+#  if !defined(__NR_copy_file_range) && defined(__linux__)
+#    if defined(__x86_64__)
+#      define __NR_copy_file_range 326
+#    elif defined(__i386__)
+#      define __NR_copy_file_range 377
+#    endif /* supported arches */
+#  endif /* __NR_copy_file_range */
+#endif
+
 #endif /* SLEEPY_PENGUIN_H */