sysroot: Add a method to borrow sysroot fd
authorColin Walters <walters@verbum.org>
Fri, 1 Dec 2023 19:35:41 +0000 (14:35 -0500)
committerColin Walters <walters@verbum.org>
Fri, 1 Dec 2023 19:35:41 +0000 (14:35 -0500)
For the same reason we have this method on `Repo`.

rust-bindings/src/sysroot.rs

index ea8c3cb1e3862edb3817a20818fb4532bd6fe228..3d5082b5708fd943a59fceabd35156c9bde59e91 100644 (file)
@@ -1,5 +1,7 @@
 use crate::gio;
 use crate::Sysroot;
+#[cfg(any(feature = "v2017_10", feature = "dox"))]
+use std::os::fd::BorrowedFd;
 use std::path::PathBuf;
 
 #[derive(Clone, Debug, Default)]
@@ -62,6 +64,14 @@ impl SysrootBuilder {
     }
 }
 
+impl Sysroot {
+    /// Borrow the directory file descriptor for this sysroot.
+    #[cfg(feature = "v2017_10")]
+    pub fn dfd_borrow(&self) -> BorrowedFd {
+        unsafe { BorrowedFd::borrow_raw(self.fd()) }
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use super::*;