pub fn mremap(
mapping: Mapping,
new_len: usize,
flags: MremapFlags,
) -> Result<Mapping, Errno>Expand description
Redimensionne (et éventuellement déplace) un mapping existant.
Wrappeur de mremap(2). Consomme le Mapping existant et retourne
un nouveau Mapping à la nouvelle adresse.
§Parameters
mapping: mapping source (ownership transféré).new_len: nouvelle longueur souhaitée.flags: [MremapFlags]. InclureMAYMOVEpour autoriser le déplacement si le redimensionnement sur place est impossible.
§Errors
EINVAL: longueur nulle ou flags invalides.ENOMEM: mémoire insuffisante (avecMAYMOVEabsent, si sur place impossible).EAGAIN: mapping verrouillé en mémoire et RLIMIT atteint.
§Examples
use air_sys_syscall::mem::{mmap_anonymous, mremap};
use air_sys_types::mem::{MapFlags, MremapFlags, ProtectionFlags};
let m = mmap_anonymous(4096, ProtectionFlags::READ | ProtectionFlags::WRITE, MapFlags::PRIVATE)
.expect("mmap");
let m2 = mremap(m, 8192, MremapFlags::MAYMOVE).expect("mremap");