win32metadata
Theseus
Our great sponsors
win32metadata | Theseus | |
---|---|---|
27 | 32 | |
1,279 | 2,734 | |
1.3% | 1.7% | |
0.0 | 8.8 | |
7 days ago | 3 months ago | |
C++ | Rust | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
win32metadata
-
Hey Rustaceans! Got a question? Ask here (18/2023)!
As /u/huellenoperator notes, that this needs a pointer to a mutable string comes straight from microsoft through win32metadata. Maybe it's a mistake on Microsoft's side, but if it's not you're taking big risks.
-
Kernel Headers for Windows could soon make it into windows-rs
Microsoft offers official "bindings" to Win32 APIs through win32metadata. However, until recently, it did not include metadata for kernel-level functions or WDK. In early 2021, an issue was raised through windows-rs regarding this limitation, but progress was slow until now. Microsoft has finally released official metadata for WDK, which can be found on the wdkmetadata repository. The latest comment on the issue thread can be found here:
-
winreader: read memory from other programs
for win32metadata's kernel api tracking issue, https://github.com/microsoft/win32metadata/issues/401
-
Best windows stubs
Any examples? Since the API bindings in windows-sys are generated from the metadata generated from official Windows SDK headers I'd not expect to see this kind of difference.
-
can we be free of c?
You might also look at this project: https://github.com/microsoft/win32metadata
-
Is it time to retire C and C++ for Rust in new programs?
There is still the occasional incredibly subtle link time fuckery in Rust.
https://github.com/microsoft/win32metadata/issues/1274
"Minor" semver updates to crates breaking things via e.g. unexpected MSRV bumps is pretty common too, with some resulting bitrot. That said, I agree with you that things in Rust are at least better. Imperfect, but better.
-
Are there any Windows-centric perks of using C# that other non-Microsoft languages simply can't offer (or at least don't out of the box)?
Win32 is available as metadata to enable adoption in as many languages as possible. Are there some things missing? Yes. The Microsoft team acknowledges that and encourages asking for the things you need so they can add them to the metadata.
-
Using Windows API in Julia?
It might be interesting to have bindings generated for the entirety of Win32 API through https://github.com/microsoft/win32metadata
- Would std code for Windows ever use the windows crate by Microsoft?
-
The Atrocities of COM win32 headers
Hi JB! Funny to cross paths with you in this context. I don't know if you remember me but I was a rookie programmer who got the pleasure of joining the VideoLan Conference in Dublin back in 2014, and then Paris the next year, and you were very kind to me.
The GitHub issue title here is unfortunately misleading. I have renamed it to "ideas to improve windows header files and libc". Also, I hope it is clear that I rebutted the points made by the OP, because I completely agree with your summary that the mingw-w64 people are skilled, nice and very clever and think about all use cases.
If any drive-by HN readers work at Microsoft, please help us with this issue: https://github.com/microsoft/win32metadata/issues/766
Theseus
- Theseus OS
-
Fomos: Experimental OS, Built with Rust
Theseus OS (https://www.theseus-os.com/) is also an OS written in Rust. It's a safe-language OS and I believe it's the future of the OSes due to its unique features.
-
Asynchronous Rust on Cortex-M Microcontrollers
I believe that Tock (tockos.org) and Theseus (https://github.com/theseus-os/Theseus) are in this area a bit as well, just from an actual OS perspective.
I don't know much about this area, but it would be wonderful if these could work with the Libre compute boards, like the AM Logic S905X (Lepotato) or the Rock chip, since they're so much cheaper than a Pi.
-
I am looking for a troubled/bad open source codebase
We could use some help here: https://github.com/theseus-os/Theseus
-
Making a RISC-V Operating System Using Rust
Relevant, also an OS written in and made possible by Rust: https://www.theseus-os.com/
I think Theseus is to conventional OSes what Rust is to JavaScript.
- Linux kernel use-after-free in Netfilter, local privilege escalation
-
Microsoft is busy rewriting core Windows library code in memory-safe Rust
I wonder if somehow someday Microsoft Windows can be rerooted as something like wine running in user space of a rust os like https://github.com/theseus-os/Theseus
-
Need help for porting my kernel to different architectures.
We've been working on porting Theseus OS to aarch64 over the past few months, feel free to browse our code if you need help understanding anything. Theseus is written from scratch entirely in Rust, so it's likely quite relevant to your work. You can probably find all of the aarch64-related commits and issues just by searching "aarch64" on the repo.
-
Exploiting null-dereferences in the Linux kernel
I mean, there are several rust kernel/os projects in progress.
One project that's pushing on the boundary of safety and composability is Thesus, which takes language safety to new ground by shifting traditionally OS-level responsibilities like resource management all the way down to typechecks in the language, and also explores a way of updating any core OS component on a live running system. https://github.com/theseus-os/Theseus
There's also KataOS which google just recently announced: https://opensource.googleblog.com/2022/10/announcing-kataos-...
As you note, these things take time, I agree with sibling that none of them are likely to be "enterprise-grade" or "production ready" this decade.
-
[concept] Modular kernel
Not to rain on your parade, but you've essentially just described Theseus OS.
What are some alternatives?
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
JNA - Java Native Access
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
go - The Go programming language
tock - A secure embedded operating system for microcontrollers
winapi - Windows API declarations without <windows.h>, for internal Boost use.
svix-webhooks - The enterprise-ready webhooks service 🦀
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
interface-types
panama-foreign - https://openjdk.org/projects/panama
nebulet - (Going to be) A microkernel that implements a WebAssembly "usermode" that runs in Ring 0.