Available on Unix and crate feature
sys-syscall and crate feature sys-unix and crate feature sys only.Expand description
Unix 裸调用的高层封装:各平台调用号(constants)、标志位(flags)、ptrace 请求号(ptrace_req)、统一错误(SysResult / SysErr)与常用调用封装(sys_*)。
需要启用 "sys-unix" 特性。
Modules§
- constants
x86-64 and (Android or Linux) - Linux x86_64 平台的裸系统调用号。
- flags
Non-macOS - 非 macOS 平台的 open/mmap/socket 等标志位常量。
- ptrace_
req Non-macOS - 非 macOS 平台的
ptrace请求号常量。
Structs§
- Error
Message - 定容 64 字节的错误消息,以 UTF-8 存储,超长截断。
Enums§
- SysErr
- 裸系统调用封装的错误类型。
Functions§
- sys_
accept - 接受监听套接字上的连接,返回
(新连接 fd, 对端地址长度)。 - sys_
bind - 将套接字绑定到
addr描述的地址上。 - sys_
close - 关闭文件描述符。
- sys_
connect - 将套接字连接到
addr描述的地址上。 - sys_
execve - 以
argv/envp执行path指定的程序,成功时不返回。 - sys_
exit - 退出当前进程,不返回。
- sys_
fork - 派生子进程,父进程返回子进程 PID,子进程返回 0。
- sys_
getpid - 获取当前进程 ID。
- sys_
gettid - 获取当前线程 ID(macOS 下为
THREAD_SELFID)。 - sys_
listen - 使套接字进入监听状态。
- sys_
lseek - 重定位文件描述符的读写偏移。
- sys_
mmap - 建立内存映射,返回映射起始地址。
- sys_
mprotect - 修改既有内存映射的保护属性。
- sys_
munmap - 解除由
sys_mmap建立的内存映射。 - sys_
open - 以
flags/mode打开path指向的路径,返回文件描述符。 - sys_
ptrace - 发起
ptrace调试请求,请求号见ptrace_req。 - sys_
read - 从文件描述符读取至多
buf.len()字节。 - sys_
socket - 创建套接字,返回文件描述符。
- sys_
wait4 - 等待子进程状态变化,
status/rusage可为空指针表示不接收。 - sys_
write - 向文件描述符写入
buf的全部内容(单次调用,不保证写完)。
Type Aliases§
- SysResult
- 裸系统调用封装的统一返回类型。