It would work basically the way it works on Linux? What makes you think it's somehow fundamentally Linux-specific?
This is one reason why Rust has unsafe: you have to interact with inherently unsafe APIs in order to do anything meaningful with the operating system. fil-c needs an equivalent of some kind, and so isn't better or worse here, it's just the reality of how these systems work.
Just to add to this, on Windows for example you're really only supposed to invoke syscalls via ntdll as the syscall table is not stable so their numbering changes over time. You cannot guarantee forward or backward compat if you do not use the library.
If you look at some of the syscalls in https://github.com/j00ru/windows-syscalls, you can see they clearly do change over time too.