diff options
author | Michael Smith <mikesmiffy128@gmail.com> | 2024-08-03 16:11:57 +0100 |
---|---|---|
committer | Michael Smith <mikesmiffy128@gmail.com> | 2024-08-22 00:01:06 +0100 |
commit | 44902cb49cd51e2bb2f1cef05cb3c0e799b83434 (patch) | |
tree | b64af413b10c32173aa535df22b5ee4162eb0290 /src/ac.c | |
parent | 01ec55edd9f767bebb1222c88f0e53e9cf8b2d59 (diff) |
Rework OS abstractions
- As much as possible avoid dragging system headers into translation
units. This should avoid namespace pollution and, hopefully, speed up
builds a little bit.
- Avoid leaning on the UCRT so much on Windows - prefer native win32
calls and native file handles except where doing so is inconvenient
(in particular, for stat(), which we might try and replace later).
- Also, switch from SystemFunction036 to ProcessPrng on Windows. This
requires us to generate a stub for bcryptprimitives.dll because
Microsoft haven't bothered to provide a link library, but the function
is better-documented and seems to be a more direct under-the-hood call
as well. Apparently it's what's used by the major web browsers these
days, which seems like a good indication it's stable and trusted.
- Lastly, remove a bunch of functions and macros and stuff that weren't
actually being used. It seems good to try and keep the scope of
OS-dependent stuff relatively contained and only add to it when
actually required.
Diffstat (limited to 'src/ac.c')
-rw-r--r-- | src/ac.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -17,6 +17,13 @@ #include <stdlib.h> +#ifdef _WIN32 +#include <Windows.h> +#include <werapi.h> +#else +#include <sys/mman.h> +#endif + #include "alias.h" #include "bind.h" #include "chunklets/fastspin.h" @@ -41,10 +48,6 @@ #include "x86.h" #include "x86util.h" -#ifdef _WIN32 -#include <werapi.h> // must be after Windows.h (via os.h) -#endif - FEATURE() REQUIRE(bind) REQUIRE(democustom) |