pub fn getdents64(fd: BorrowedFd<'_>, buffer: &mut [u8]) -> Result<usize, Errno>Expand description
Lit les entrées d’un répertoire.
Wrappeur de getdents64(2). Le paramètre buffer est un buffer brut
dont le format binaire est parsé en interne. Utiliser
parse_dirents pour itérer sur les entrées.
Allocation intrinsèque : le buffer est alloué par l’appelant (pas de contrainte sur la taille, mais 4096+ octets est recommandé).
§Parameters
fd: FD d’un répertoire ouvert avecDIRECTORY.buffer: buffer de lecture (au moins quelques Ko recommandés).
§Errors
EINVAL: buffer trop petit pour contenir une entrée.ENOTDIR: FD n’est pas un répertoire.EBADF: FD invalide.
§Examples
use air_sys_syscall::fs::{getdents64, parse_dirents};
use air_sys_types::fd::BorrowedFd;
let mut buffer = vec![0u8; 4096];
let n = getdents64(dir_fd, &mut buffer).expect("getdents64");
for entry in parse_dirents(&buffer[..n]) {
println!("{:?}", entry.name);
}