From 86fa81b6a54dbd3591be34b27ee24239466187f4 Mon Sep 17 00:00:00 2001
From: 4lDO2 <4lDO2@protonmail.com>
Date: Fri, 27 Dec 2024 19:58:56 +0100
Subject: [PATCH] Add getdents back.

---
 src/scheme.rs | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/scheme.rs b/src/scheme.rs
index 0315d03..1bd4737 100644
--- a/src/scheme.rs
+++ b/src/scheme.rs
@@ -1,6 +1,7 @@
 #![allow(async_fn_in_trait)]
 
 use core::mem::size_of;
+use syscall::dirent::DirentBuf;
 use syscall::schemev2::{Cqe, CqeOpcode, Opcode, Sqe};
 use syscall::{error::*, flag::*, Stat, StatVfs, TimeSpec};
 
@@ -295,6 +296,15 @@ pub trait SchemeAsync {
         Err(Error::new(EBADF))
     }
 
+    async fn getdents<'buf>(
+        &mut self,
+        id: usize,
+        buf: DirentBuf<&'buf mut [u8]>,
+        opaque_offset: u64,
+    ) -> Result<DirentBuf<&'buf mut [u8]>> {
+        Err(Error::new(EBADF))
+    }
+
     async fn mmap_prep(&mut self, id: usize, offset: u64, size: usize, flags: MapFlags, ctx: &CallerCtx) -> Result<usize> {
         Err(Error::new(EOPNOTSUPP))
     }
@@ -382,6 +392,15 @@ pub trait SchemeSync {
         Err(Error::new(EBADF))
     }
 
+    fn getdents<'buf>(
+        &mut self,
+        id: usize,
+        buf: DirentBuf<&'buf mut [u8]>,
+        opaque_offset: u64,
+    ) -> Result<DirentBuf<&'buf mut [u8]>> {
+        Err(Error::new(EBADF))
+    }
+
     fn mmap_prep(&mut self, id: usize, offset: u64, size: usize, flags: MapFlags, ctx: &CallerCtx) -> Result<usize> {
         Err(Error::new(EOPNOTSUPP))
     }
-- 
GitLab