linux-errnos

Crates.iolinux-errnos
lib.rslinux-errnos
version0.4.0
sourcesrc
created_at2023-06-02 18:24:02.456656
updated_at2024-07-04 03:59:19.686819
descriptionA list of error numbers
homepagehttps://github.com/shurizzle/linux-errnos
repositoryhttps://github.com/shurizzle/linux-errnos
max_upload_size
id881121
size175,003
shurizzle (shurizzle)

documentation

https://docs.rs/linux-errnos

README

linux-errnos

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

Cross-arch enumeration of Linux error numbers that may vary across archs.

If target_arch is supported a module's top-level Errno and ErrnoIter (if iter feature flag is present) are re-exported.

Feature flags

  • std: enable std support (dealing with std::io::Error).
  • iter: enable Errno::iter() function.
  • libc-compat: enable libc compatibility (global errno).
  • no_std_io-compat: enable no_std_io crate compatibility.
  • all: enable all the architectures.

Other flags

There is a feature flag for each of the "linux/arch/*" directories indicating the architecture family name. For example there is a linux/arch/x86 that contains x86/x86_64/x32 implementations and that shares the same errnos.

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

There is a feature flag for each of the supported target_arch too:

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

![no_std]

Enable #![no_std] support by disabling the default std feature:

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

Code generation

All the code is generated by the an inner crate in the errno-gen directory except for the src/macros.rs file, so don't touch auto generated files please.

MSRV

1.38.0

Commit count: 52

cargo fmt