1 个不稳定版本
使用旧 Rust 2015
0.1.0 | 2018年5月26日 |
---|
#11 在 #errno
被用于 errno-codes-tool
1MB
5K SLoC
errno-codes
Rust 库,用于处理来自不同操作系统和/或 CPU 架构的网络上的 errno
代码。
为什么?
errno
是处理许多操作系统标准库中错误的标准方式。不幸的是,很少的 errno
常量标识符是标准化的,并且许多具有相同含义的 errno
值在不同的操作系统间使用不同的数值常量。
在 Linux 上,某些 CPU 架构可能定义自己的数值常量(参见 $KERNEL_SRC/arch/$ARCH/include/uapi/asm/errno.h
),这与大多数其他架构使用的常用值不同(参见 $KERNEL_SRC/include/uapi/asm-generic/errno*.h
)。这看起来是为了与这些 CPU 架构的专有 Unix 兼容而做的源代码级别的兼容。
尽管存在兼容性问题,原始的 errno
代码有时在网络协议中使用。这个库简化了与这类协议的工作。
已知的 errno 代码
以下操作系统的头文件自动生成常量和映射的源代码
- Linux,4.16 内核所知的所有架构
- Windows (MinGW)
用法
将此添加到您的 Cargo.toml 中
[dependencies]
errno-codes = "0.1"
参见 examples/
目录和 errno-codes-tool
软件包以获取用法示例。
依赖项
~0.5–1.2MB
~26K SLoC