pub fn mmap_file(
fd: BorrowedFd<'_>,
length: usize,
offset: u64,
prot: ProtectionFlags,
flags: MapFlags,
) -> Result<Mapping, Errno>Expand description
Crée un mapping de fichier.
Wrappeur de mmap(2) avec un FD fichier. offset doit être aligné
sur la page size (vérification effectuée par le kernel).
§Parameters
fd: FD du fichier à mapper.length: longueur du mapping en octets.offset: offset dans le fichier (doit être aligné sur la page size).prot: protections d’accès.flags: flags de mapping (SHAREDouPRIVATEobligatoire).
§Errors
EINVAL:offsetnon aligné,lengthzéro, ou flags invalides.EACCES:protincompatible avec les permissions du FD.ENOMEM: mémoire virtuelle insuffisante.ENODEV: le FD référence un type de fichier non mappable.
§Examples
use air_sys_syscall::mem::mmap_file;
use air_sys_types::mem::{MapFlags, ProtectionFlags};
use air_sys_types::fd::BorrowedFd;
// fd = FD d'un fichier de 4096 octets déjà ouvert
let m = mmap_file(fd, 4096, 0, ProtectionFlags::READ, MapFlags::PRIVATE)
.expect("mmap_file");
let _data: &[u8] = m.as_slice();