Skip to main content

sys_open

Function sys_open 

Source
pub fn sys_open(path: &CStr, flags: usize, mode: usize) -> SysResult
Available on Unix and crate feature sys-syscall and crate feature sys-unix and crate feature sys only.
Expand description

以 flags/mode 打开 path 指向的路径,返回文件描述符。

aarch64/riscv64 上经 OPENAT + AT_FDCWD 实现,其余经 OPEN 实现。

§Feature Requirement

需要启用 "sys-unix" 特性。

§Examples

use core::ffi::CStr;
use lib_unknown::sys::unix::syscall::{flags, sys_open};

let path = CStr::from_bytes_with_nul(b"/tmp\0").unwrap();
let _ = sys_open(path, flags::O_RDONLY, 0);

§Errors

  • 当路径不存在、无权限或 flags 非法时返回 SysErr::Ret(内核 errno)。