#error #linux #errno #syscalls #no-std

无std linux-errnos

错误号码列表

5个版本 (3个破坏性版本)

0.4.0 2024年7月4日
0.3.4 2023年7月23日
0.2.1 2023年7月17日
0.1.1 2023年6月2日

#174Unix API

Download history 4/week @ 2024-04-09 29/week @ 2024-04-16 11/week @ 2024-04-23 1/week @ 2024-04-30 1/week @ 2024-05-07 10/week @ 2024-05-21 4/week @ 2024-05-28 5/week @ 2024-06-04 4/week @ 2024-06-11 6/week @ 2024-06-18 1/week @ 2024-06-25 122/week @ 2024-07-02 1/week @ 2024-07-09 1/week @ 2024-07-16

每月下载量124次
2 个crate中使用(通过 linux-syscalls

MIT 许可证

175KB
3K SLoC

linux-errnos

GitHub Workflow Status (with branch) Crates.io docs.rs Crates.io

跨架构的Linux错误号码枚举,这些号码可能因架构而异。

如果 target_arch 受支持,则模块的顶级 ErrnoErrnoIter(如果存在 iter 功能标志)将被重新导出。

功能标志

  • std:启用std支持(处理std::io::Error)。
  • iter:启用 Errno::iter() 函数。
  • libc-compat:启用 libc 兼容性(全局errno)。
  • no_std_io-compat:启用 no_std_io crate 兼容性。
  • all:启用所有架构。

其他标志

对于 "linux/arch/*" 目录中的每个架构,都有一个功能标志,指示架构家族名称。例如,存在一个包含 x86/x86_64/x32 实现的 linux/arch/x86,并且它们共享相同的errno。

  • alpha
  • arc
  • arm
  • arm64
  • csky
  • hexagon
  • ia64
  • loongarch
  • m68k
  • microblaze
  • mips
  • nios2
  • openrisc
  • parisc
  • powerpc
  • riscv
  • s390
  • sh
  • sparc
  • um
  • x86
  • xtensa

对于支持的每个 target_arch 也有一个功能标志

  • x86
  • x86_64
  • arm
  • aarch64
  • hexagon
  • s390x
  • powerpc
  • powerpc64
  • mips
  • mips64
  • m68k
  • riscv32
  • riscv64
  • sparc
  • sparc64
  • loongarch64

#![no_std]

通过禁用默认的 std 功能来启用 #![no_std] 支持功能。

[dependencies]
linux-errnos = { version = "*", default-features = false }

代码生成

除了 src/macros.rs 文件外,所有代码都是由 errno-gen 目录中的内部crate生成的,因此请勿修改自动生成的文件。

MSRV

1.38.0

依赖项

~71KB