#file-descriptor #polyfill #file-path #pal #open-file #env-var #platform-abstraction

palaver

跨平台填充库。此库试图为所有平台上未实现的功能提供可靠的填充。

13个版本

0.3.0-alpha.32020年2月11日
0.3.0-alpha.22020年2月6日
0.3.0-alpha.12020年1月28日
0.2.8 2019年8月20日
0.1.0 2018年8月3日

#505 in Unix API

Download history 1149/week @ 2024-03-13 1143/week @ 2024-03-20 900/week @ 2024-03-27 946/week @ 2024-04-03 952/week @ 2024-04-10 907/week @ 2024-04-17 1452/week @ 2024-04-24 1033/week @ 2024-05-01 1596/week @ 2024-05-08 1286/week @ 2024-05-15 1352/week @ 2024-05-22 1819/week @ 2024-05-29 1258/week @ 2024-06-05 825/week @ 2024-06-12 1016/week @ 2024-06-19 1025/week @ 2024-06-26

4,671 下载/月
用于 18 个crate (8 直接使用)

MIT/Apache

76KB
2K SLoC

palaver

Crates.io MIT / Apache 2.0 licensed Build Status

文档

跨平台填充库。

此库试图为所有平台上未实现的功能提供可靠的填充。

palaver = "平台抽象层" + pa·lav·er n. 拖延和繁琐的麻烦。

功能

线程描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
gettid()获取线程ID
计数()当前进程中的线程数
文件描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
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描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
socket()创建套接字
accept()在套接字上接受连接
is_connected()获取挂起的连接是否已连接
unreceived()获取可读的字节数
unsent()获取尚未确认的字节数
环境变量描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
exe()打开当前运行的可执行文件
exe_path()获取当前运行可执行文件的路径
args()获取命令行参数
vars()获取环境变量
进程描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
计数()统计当前进程可见的进程数量
count_threads()统计当前进程可见的线程数量
fork()通过可用的进程描述符创建进程
Valgrind描述LinuxmacOSWindowsFreeBSDNetBSDiOSAndroid
is()检查是否在Valgrind下运行
start_fd()获取Valgrind的文件描述符范围

许可证

许可以下之一

根据您的选择。

除非您明确声明,否则任何有意提交并纳入工作的贡献,如Apache-2.0许可证中定义,将按照上述方式双重许可,不附加任何额外条款或条件。

依赖项

~3MB
~57K SLoC