From 55b738a07ab6b50796f6b1d11b8570fcb2d95279 Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Thu, 7 Dec 2017 16:32:01 -0500 Subject: [PATCH] implement frontend get_architecture() for windows --- frontend/drivers/platform_win32.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c index b523c487a0..d3d466a40a 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c @@ -338,7 +338,28 @@ enum frontend_powerstate frontend_win32_get_powerstate(int *seconds, int *percen enum frontend_architecture frontend_win32_get_architecture(void) { - /* stub */ +#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0500 + /* Windows 2000 and later */ + SYSTEM_INFO si = {0}; + + GetSystemInfo(&si); + + switch (si.wProcessorArchitecture) + { + case PROCESSOR_ARCHITECTURE_AMD64: + return FRONTEND_ARCH_X86_64; + break; + case PROCESSOR_ARCHITECTURE_INTEL: + return FRONTEND_ARCH_X86; + break; + case PROCESSOR_ARCHITECTURE_ARM: + return FRONTEND_ARCH_ARM; + break; + default: + break; + } +#endif + return FRONTEND_ARCH_NONE; }