Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparison to rustix project #1

Open
Shnatsel opened this issue Aug 7, 2022 · 2 comments
Open

Comparison to rustix project #1

Shnatsel opened this issue Aug 7, 2022 · 2 comments

Comments

@Shnatsel
Copy link

Shnatsel commented Aug 7, 2022

Hello,

This is not actually an issue, but I see that Github discussions are disabled, so I'm posting here instead.

As far as I understand the goals of the project, it seems very similar to https://github.com/bytecodealliance/rustix I just wanted to make sure you're aware of it. Perhaps there is some opportunity for code reuse between the two.

It also might be helpful to discuss the difference from rustix in the README to clarify the project goals.

Cheers!

@bjorn3
Copy link

bjorn3 commented Aug 8, 2022

By the same author (@sunfishcode) there is also cap-std, a "Capability-based version of the Rust standard library", which uses rustix behind the scenes and mustang which is a libc replacement also based on rustix.

@dvdhrm
Copy link
Member

dvdhrm commented Sep 6, 2022

By the same author (@sunfishcode) there is also cap-std, a "Capability-based version of the Rust standard library", which uses rustix behind the scenes and mustang which is a libc replacement also based on rustix.
[...]
It also might be helpful to discuss the difference from rustix in the README to clarify the project goals.

Thank you for the hints! I was aware of rustix, but not cap-std and mustang. I will keep an eye on them!

This is not actually an issue, but I see that Github discussions are disabled, so I'm posting here instead.

As far as I understand the goals of the project, it seems very similar to https://github.com/bytecodealliance/rustix I just wanted to make sure you're aware of it. Perhaps there is some opportunity for code reuse between the two.

The idea behind r-linux is two-fold: First of all I want raw direct kernel-API access in the style of linux-api-headers. So just a plain mapping into rust, preferably in a style that requires little discussion or human intervention. So a rule-based translation of the C-API into Rust. Additionally, I want to use it to document the APIs, their common pitfalls, their usage and applicability.
The second goal is to create capability-based linux kernel APIs based on this direct kernel access. But this is limited to the kernel-APIs. I do not intend to widen the scope to provide further integration into other crates or std.

Note that this is currently just a dumping ground. I use it for testing bus1 APIs, but most of that isn't even pushed out. If it turns out rustix or maybe even cap-std provide a suitable alternative, I will gladly drop this. But I think for now this is just a playground to test things out.

Lastly, note that I do not intend to support any cross-OS compatibility or portability. This is purely meant as a way to access linux APIs from Rust. It will make heavy use of linux-only features and behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants