1 stable release

1.0.0 Sep 10, 2022

#567 in Unix APIs

Download history 26/week @ 2023-12-14 24/week @ 2023-12-21 257/week @ 2023-12-28 65/week @ 2024-01-04 94/week @ 2024-01-11 108/week @ 2024-01-18 54/week @ 2024-01-25 65/week @ 2024-02-01 79/week @ 2024-02-08 54/week @ 2024-02-15 134/week @ 2024-02-22 149/week @ 2024-02-29 195/week @ 2024-03-07 173/week @ 2024-03-14 126/week @ 2024-03-21 64/week @ 2024-03-28

565 downloads per month

0BSD license

105KB
2.5K SLoC

Linux syscall macros for Rust

This library defines syscall numbers and a syscall! macro for directly invoking Linux system calls.

The arch modules document available syscall numbers for all supported architectures, and the top-level module re-exports syscall numbers for the current target platform.

Supported architectures:

  • aarch64
  • arm
  • riscv64
  • x86
  • x86_64

To be supported by this library, an architecture must:

To depend on linux-syscall from a Bazel workspace:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rust_posix_errno",
    sha256 = "0c86c849ff673372fe6415d4004a233565b57b2884ea49d3b725dd1296cc2529",
    strip_prefix = "posix-errno-1.0.1",
    urls = ["https://github.com/jmillikin/rust-posix-errno/releases/download/v1.0.1/posix-errno-1.0.1.tar.xz"],
)

http_archive(
    name = "rust_linux_errno",
    sha256 = "009d58c93c806f178004a4cd30af211860bc44f8ce7d02eb4f544821add7ca99",
    strip_prefix = "linux-errno-1.0.1",
    urls = ["https://github.com/jmillikin/rust-linux-errno/releases/download/v1.0.1/linux-errno-1.0.1.tar.xz"],
)

http_archive(
    name = "rust_linux_syscall",
    # Obtain the package checksum from the release page:
    # https://github.com/jmillikin/rust-linux-syscall/releases/tag/v1.0.0
    sha256 = "",
    strip_prefix = "linux-syscall-1.0.0",
    urls = ["https://github.com/jmillikin/rust-linux-syscall/releases/download/v1.0.0/linux-syscall-1.0.0.tar.xz"],
)

To depend on linux-syscall from a Cargo workspace:

[dependencies]
linux-syscall = { version = "1.0.0" }

Dependencies

~53KB