Module: wine Branch: master Commit: ac031bff9efb47ac883c062bc44bf60f68b44a1f URL: https://gitlab.winehq.org/wine/wine/-/commit/ac031bff9efb47ac883c062bc44bf60...
Author: Brendan Shanks bshanks@codeweavers.com Date: Fri Mar 3 11:37:31 2023 -0800
kernel32: Implement GetFirmwareType().
---
dlls/kernel32/kernel32.spec | 1 + dlls/kernel32/process.c | 12 ++++++++++++ include/winbase.h | 1 + include/winnt.h | 7 +++++++ 4 files changed, 21 insertions(+)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index d6b0eb62a69..47ff251067a 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -692,6 +692,7 @@ @ stdcall -import GetFinalPathNameByHandleW(long ptr long long) @ stdcall GetFirmwareEnvironmentVariableA(str str ptr long) @ stdcall GetFirmwareEnvironmentVariableW(wstr wstr ptr long) +@ stdcall GetFirmwareType(ptr) @ stdcall -import GetFullPathNameA(str long ptr ptr) # @ stub GetFullPathNameTransactedA # @ stub GetFullPathNameTransactedW diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 4630043645c..e9e18925911 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -740,6 +740,18 @@ BOOL WINAPI SetFirmwareEnvironmentVariableW(const WCHAR *name, const WCHAR *guid return FALSE; }
+/*********************************************************************** + * GetFirmwareType (KERNEL32.@) + */ +BOOL WINAPI GetFirmwareType(FIRMWARE_TYPE *type) +{ + if (!type) + return FALSE; + + *type = FirmwareTypeUnknown; + return TRUE; +} + /********************************************************************** * GetNumaNodeProcessorMask (KERNEL32.@) */ diff --git a/include/winbase.h b/include/winbase.h index 6b3048f795e..2829287a255 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2203,6 +2203,7 @@ WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,LPDWORD); WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER); WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME); WINBASEAPI DWORD WINAPI GetFileType(HANDLE); +WINBASEAPI BOOL WINAPI GetFirmwareType(PFIRMWARE_TYPE); #define GetFreeSpace(w) (__MSABI_LONG(0x100000)) WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*); WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*); diff --git a/include/winnt.h b/include/winnt.h index 17dce6e84e5..a7c69070a2c 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -6495,6 +6495,13 @@ typedef enum _PROCESS_MITIGATION_POLICY MaxProcessMitigationPolicy } PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY;
+typedef enum _FIRMWARE_TYPE +{ + FirmwareTypeUnknown, + FirmwareTypeBios, + FirmwareTypeUefi, + FirmwareTypeMax +} FIRMWARE_TYPE, *PFIRMWARE_TYPE;
/* Intrinsic functions */