Expand description
Syscall ABIs a tracee may use.
Handlers work in x86_64 terms: the numbers in syscall::nr are the
canonical names of the operations. Every other ABI is mapped onto them
here, together with a Variant describing how its arguments or
structure layouts differ. A 32-bit i386 process on an x86_64 kernel has
different numbers, ebx..ebp argument registers, 4-byte pointers and a
few 32-bit structures; aarch64 shares the layouts of x86_64 but uses the
generic syscall table, which has no legacy open/stat/access family.
Structs§
- Out 🔒
- Little-endian field writer for the 32-bit structure layouts.
Enums§
- Abi
- The ABI a request came through.
- Variant
- How a syscall’s arguments differ from the x86_64 form it maps to.
Functions§
- aarch64_
to_ x86_ 64 - Maps an aarch64 (generic table) syscall number onto the x86_64 number.
- arm_
to_ x86_ 64 - Maps an ARM EABI syscall number onto the x86_64 number.
- fsid_
bytes 🔒 - Bytes of the host’s
struct statfsf_fsidfield. - i386_
to_ x86_ 64 - Maps an i386 syscall number onto the x86_64 number handlers understand.
- old_
encode_ 🔒dev - Kernel
old_encode_dev: 8-bit major and minor packed into 16 bits. - stat_
to_ arm_ stat64 - Converts the host’s
struct statinto the ARM EABIstruct stat64(104 bytes). - stat_
to_ old_ stat - Converts the host’s
struct statinto the old 32-bitstruct stat(64 bytes), shared by i386 and ARM. - stat_
to_ stat64 - Converts the host’s
struct statinto the i386struct stat64(96 bytes). - statfs_
flags 🔒 - The host’s
f_flags, which the libc crate leaves insidef_spare. - statfs_
to_ old_ statfs - Converts the host’s
struct statfsinto the old 32-bitstruct statfs(64 bytes, all 32-bit fields). - statfs_
to_ statfs64 - Converts the host’s
struct statfsinto the 32-bitstruct statfs64(84 bytes, i386 and ARM).