README.OpenSource
1[
2 {
3 "Name": "linux-raw-sys",
4 "License": "Apache-2.0_WITH_LLVM-exception, Apache License 2.0, MIT",
5 "License File": "LICENSE-Apache-2.0_WITH_LLVM-exception, LICENSE-MIT",
6 "Version Number": "0.1.4",
7 "Owner": "fangting12@huawei.com",
8 "Upstream URL": "https://github.com/sunfishcode/linux-raw-sys",
9 "Description": "A Rust library that provides bindings to the Linux kernel's raw device interface."
10 }
11]
12
README.md
1<div align="center">
2 <h1><code>linux-raw-sys</code></h1>
3
4 <p>
5 <strong>Generated bindings for Linux's userspace API</strong>
6 </p>
7
8 <p>
9 <a href="https://github.com/sunfishcode/linux-raw-sys/actions?query=workflow%3ACI"><img src="https://github.com/sunfishcode/linux-raw-sys/workflows/CI/badge.svg" alt="Github Actions CI Status" /></a>
10 <a href="https://bytecodealliance.zulipchat.com/#narrow/stream/206238-general"><img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" alt="zulip chat" /></a>
11 <a href="https://crates.io/crates/linux-raw-sys"><img src="https://img.shields.io/crates/v/linux-raw-sys.svg" alt="crates.io page" /></a>
12 <a href="https://docs.rs/linux-raw-sys"><img src="https://docs.rs/linux-raw-sys/badge.svg" alt="docs.rs docs" /></a>
13 </p>
14</div>
15
16This crate contains bindgen-generated bindings for Linux's userspace API.
17
18This is primarily of interest if you want to make raw system calls directly,
19which is tedious and error prone and not necessary for most use cases. For a
20minimal type-safe, memory-safe, and I/O-safe API to the Linux system calls
21built on these bindings, see the [rustix crate].
22
23The full bindings are quite large, so they've been split up into modules and
24cargo features. By default, `general` and `errno` are enabled, which provide
25most things needed by general-purpose code.
26
27To regenerate the generated bindings, run `cargo update && cd gen && cargo run --release`.
28
29## Similar crates
30
31This is similar to [linux-sys], except the bindings are generated offline,
32rather than in a build.rs, making downstream builds simpler. And, this crate
33has bindings for more headers, as well as supplementary definitions not
34exported by Linux's headers but nonetheless needed by userspace.
35
36# Minimum Supported Rust Version (MSRV)
37
38This crate currently works on the version of [Rust on Debian stable], which is
39currently Rust 1.48. This policy may change in the future, in minor version
40releases, so users using a fixed version of Rust should pin to a specific
41version of this crate.
42
43[linux-sys]: https://crates.io/crates/linux-sys
44[rustix crate]: https://github.com/bytecodealliance/rustix#linux-raw-syscall-support
45