13个版本
0.3.0-alpha.3 | 2020年2月11日 |
---|---|
0.3.0-alpha.2 | 2020年2月6日 |
0.3.0-alpha.1 | 2020年1月28日 |
0.2.8 | 2019年8月20日 |
0.1.0 | 2018年8月3日 |
#505 in Unix API
4,671 下载/月
用于 18 个crate (8 直接使用)
76KB
2K SLoC
palaver
跨平台填充库。
此库试图为所有平台上未实现的功能提供可靠的填充。
palaver
= "平台抽象层" + pa·lav·er n. 拖延和繁琐的麻烦。
功能
线程 | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
---|---|---|---|---|---|---|---|---|
gettid() | 获取线程ID | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
计数() | 当前进程中的线程数 | ✓ | ✓ | ✓ | ✓ | |||
文件 | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
seal_fd() | 使文件描述符只读 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
dup_fd() | 复制文件描述符 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
copy_fd() | 将文件描述符复制到特定偏移量 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
move_fd() | 将文件描述符移动到特定偏移量 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
move_fds() | 将文件描述符移动到特定偏移量 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
fd_dir() | 获取文件描述符目录的路径 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
fd_path() | 获取文件描述符的路径 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
FdIter | 遍历所有打开的文件描述符 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
memfd_create() | 创建匿名文件 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
fexecve() | 通过文件描述符执行指定的程序 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
copy() | 循环复制 io::copy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
copy_sendfile() | 使用 sendfile 复制 | ✓ | ✓ | ✓ | ✓ | ✓ | ||
copy_splice() | 使用 splice 复制 | ✓ | ✓ | |||||
pipe() | 创建管道 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Socket | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
socket() | 创建套接字 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
accept() | 在套接字上接受连接 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
is_connected() | 获取挂起的连接是否已连接 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
unreceived() | 获取可读的字节数 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
unsent() | 获取尚未确认的字节数 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
环境变量 | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
exe() | 打开当前运行的可执行文件 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
exe_path() | 获取当前运行可执行文件的路径 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
args() | 获取命令行参数 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
vars() | 获取环境变量 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
进程 | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
计数() | 统计当前进程可见的进程数量 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
count_threads() | 统计当前进程可见的线程数量 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
fork() | 通过可用的进程描述符创建进程 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
Valgrind | 描述 | Linux | macOS | Windows | FreeBSD | NetBSD | iOS | Android |
is() | 检查是否在Valgrind下运行 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
start_fd() | 获取Valgrind的文件描述符范围 | ✓ | ✓ | – | ✓ | ✓ | ✓ | ✓ |
许可证
许可以下之一
- Apache许可证2.0版(LICENSE-APACHE.txt 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT.txt 或 http://opensource.org/licenses/MIT)
根据您的选择。
除非您明确声明,否则任何有意提交并纳入工作的贡献,如Apache-2.0许可证中定义,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖项
~3MB
~57K SLoC