From 96ee7bf81cfdc3118e8ed4921ce64630a4dbfc0d Mon Sep 17 00:00:00 2001
From: Andrew Morrow <andrew.d.morrow@gmail.com>
Date: Wed, 16 May 2018 22:26:14 -0600
Subject: [PATCH] Add new sendfile flags for FreeBSD

---
 libc-test/build.rs                      | 3 +++
 src/unix/bsd/freebsdlike/freebsd/mod.rs | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/libc-test/build.rs b/libc-test/build.rs
index 1262eea1..82491bbf 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -521,6 +521,9 @@ fn main() {
             "EVFILT_PROCDESC" | "EVFILT_SENDFILE" | "EVFILT_EMPTY" |
             "PD_CLOEXEC" | "PD_ALLOWED_AT_FORK" if freebsd => true,
 
+            // These constants were added in FreeBSD 12
+            "SF_USER_READAHEAD" if freebsd => true,
+
             // These OSX constants are removed in Sierra.
             // https://developer.apple.com/library/content/releasenotes/General/APIDiffsMacOS10_12/Swift/Darwin.html
             "KERN_KDENABLE_BG_TRACE" if apple => true,
diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs
index a2a6d693..def81dfe 100644
--- a/src/unix/bsd/freebsdlike/freebsd/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs
@@ -168,6 +168,8 @@ pub const SIGSTKSZ: ::size_t = 34816;
 pub const SF_NODISKIO: ::c_int = 0x00000001;
 pub const SF_MNOWAIT: ::c_int = 0x00000002;
 pub const SF_SYNC: ::c_int = 0x00000004;
+pub const SF_USER_READAHEAD: ::c_int = 0x00000008;
+pub const SF_NOCACHE: ::c_int = 0x00000010;
 pub const O_CLOEXEC: ::c_int = 0x00100000;
 pub const O_DIRECTORY: ::c_int = 0x00020000;
 pub const O_EXEC: ::c_int = 0x00040000;
-- 
GitLab