pub fn sys_mmap(
addr: *mut u8,
len: usize,
prot: usize,
flags: usize,
fd: usize,
offset: usize,
) -> SysResultAvailable on Unix and crate feature
sys-syscall and crate feature sys-unix and crate feature sys only.Expand description
建立内存映射,返回映射起始地址。
32 位 x86 上经 MMAP2 实现(offset 须按页对齐),其余经 MMAP 实现。
§Feature Requirement
需要启用 "sys-unix" 特性。
§Examples
use lib_unknown::sys::unix::syscall::{flags, sys_mmap};
let _ = sys_mmap(
core::ptr::null_mut(),
4096,
flags::PROT_READ | flags::PROT_WRITE,
flags::MAP_PRIVATE | flags::MAP_ANONYMOUS,
usize::MAX,
0,
);§Errors
- 当参数非法(如
len为 0、无权限)时返回SysErr::Ret(内核 errno)。 - 32 位 x86 上
offset未按 4096 对齐时返回SysErr::Arg。