Open chvancooten opened 3 years ago
Hey Cas, appreciate the kind words!🙂 There's definitely refinements to be made - some I expect will become obvious as I use the language more. On your points:
Completely right - i've pushed a fix to address that now.
Yeah, this is a big one. As you'll see in point 3, even including winim doesn't solve all the struct definitions for every use case. Might be a case of manually building some structs dynamically, much like we're doing already with the function definition.
I did a small writeup here with example code here. Not many examples atm (one 😛), but I'll add some more in due course!
Superb! I think that example is already very helpful, since it makes use of various direct syscalls and showcases well how to "translate" the data types required. The blog post is also inspiring, thanks for this!
If I find some time on short notice I'll look into the type definition without needing Winim and submit a PR if I can figure it out. I think that would take the 'sharp edge' off of using Nimline Whispers for many!
First of all - thanks for the excellent work on this Repo! I haven't gotten static syscalls to work yet in plain Nim, but that's likely due to my own newbieness with the subject. This repo seems very promising in making that possible (and quite easy).
Some observations from playing with this myself:
Procs defined in
syscalls.nim
should probably be defined as globals (i.e.NtAllocateVirtualMemory*(...)
instead ofNtAllocateVirtualMemory(...)
) so that they can be imported.It would be great if the script takes care of adding the right types (also as globals) right there within
syscalls.nim
, so we don't have to go and specify these manually every time (whenwinim
is not imported). An example, but there are probably some missing (this is only forNtAllocateVirtualMemory
andNtProtectVirtualMemory
).Thanks again for your great work!