5 releases (3 breaking)
0.4.0 | Jul 4, 2024 |
---|---|
0.3.4 | Jul 23, 2023 |
0.2.1 | Jul 17, 2023 |
0.1.1 | Jun 2, 2023 |
#171 in Unix APIs
61 downloads per month
Used in 2 crates
(via linux-syscalls)
175KB
3K
SLoC
linux-errnos
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
: enableErrno::iter()
function.libc-compat
: enablelibc
compatibility (global errno).no_std_io-compat
: enableno_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
Dependencies
~71KB