| 1 | /** | 
 
 
 
 
 | 2 | * This file is part of the mingw-w64 runtime package. | 
 
 
 
 
 | 3 | * No warranty is given; refer to the file DISCLAIMER within this package. | 
 
 
 
 
 | 4 | */ | 
 
 
 
 
 | 5 | #ifndef _SYSINFOAPI_H_ | 
 
 
 
 
 | 6 | #define _SYSINFOAPI_H_ | 
 
 
 
 
 | 7 |  | 
 
 
 
 
 | 8 | #include <apiset.h> | 
 
 
 
 
 | 9 | #include <apisetcconv.h> | 
 
 
 
 
 | 10 | #include <minwindef.h> | 
 
 
 
 
 | 11 | #include <minwinbase.h> | 
 
 
 
 
 | 12 |  | 
 
 
 
 
 | 13 | #ifdef __cplusplus | 
 
 
 
 
 | 14 | extern "C" { | 
 
 
 
 
 | 15 | #endif | 
 
 
 
 
 | 16 |  | 
 
 
 
 
 | 17 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | 
 
 
 
 
 | 18 | typedef struct _SYSTEM_INFO { | 
 
 
 
 
 | 19 | __C89_NAMELESS union { | 
 
 
 
 
 | 20 | DWORD dwOemId; | 
 
 
 
 
 | 21 | __C89_NAMELESS struct { | 
 
 
 
 
 | 22 | WORD wProcessorArchitecture; | 
 
 
 
 
 | 23 | WORD wReserved; | 
 
 
 
 
 | 24 | } DUMMYSTRUCTNAME; | 
 
 
 
 
 | 25 | } DUMMYUNIONNAME; | 
 
 
 
 
 | 26 | DWORD dwPageSize; | 
 
 
 
 
 | 27 | LPVOID lpMinimumApplicationAddress; | 
 
 
 
 
 | 28 | LPVOID lpMaximumApplicationAddress; | 
 
 
 
 
 | 29 | DWORD_PTR dwActiveProcessorMask; | 
 
 
 
 
 | 30 | DWORD dwNumberOfProcessors; | 
 
 
 
 
 | 31 | DWORD dwProcessorType; | 
 
 
 
 
 | 32 | DWORD dwAllocationGranularity; | 
 
 
 
 
 | 33 | WORD wProcessorLevel; | 
 
 
 
 
 | 34 | WORD wProcessorRevision; | 
 
 
 
 
 | 35 | } SYSTEM_INFO, *LPSYSTEM_INFO; | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | WINBASEAPI VOID WINAPI GetSystemTime (LPSYSTEMTIME lpSystemTime); | 
 
 
 
 
 | 38 | WINBASEAPI VOID WINAPI GetSystemTimeAsFileTime (LPFILETIME lpSystemTimeAsFileTime); | 
 
 
 
 
 | 39 | WINBASEAPI VOID WINAPI GetLocalTime (LPSYSTEMTIME lpSystemTime); | 
 
 
 
 
 | 40 | WINBASEAPI VOID WINAPI GetNativeSystemInfo (LPSYSTEM_INFO lpSystemInfo); | 
 
 
 
 
 | 41 | #if _WIN32_WINNT >= 0x0600 | 
 
 
 
 
 | 42 | WINBASEAPI ULONGLONG WINAPI GetTickCount64 (VOID); | 
 
 
 
 
 | 43 | #endif | 
 
 
 
 
 | 44 | #endif | 
 
 
 
 
 | 45 |  | 
 
 
 
 
 | 46 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | typedef struct _MEMORYSTATUSEX { | 
 
 
 
 
 | 49 | DWORD dwLength; | 
 
 
 
 
 | 50 | DWORD dwMemoryLoad; | 
 
 
 
 
 | 51 | DWORDLONG ullTotalPhys; | 
 
 
 
 
 | 52 | DWORDLONG ullAvailPhys; | 
 
 
 
 
 | 53 | DWORDLONG ullTotalPageFile; | 
 
 
 
 
 | 54 | DWORDLONG ullAvailPageFile; | 
 
 
 
 
 | 55 | DWORDLONG ullTotalVirtual; | 
 
 
 
 
 | 56 | DWORDLONG ullAvailVirtual; | 
 
 
 
 
 | 57 | DWORDLONG ullAvailExtendedVirtual; | 
 
 
 
 
 | 58 | } MEMORYSTATUSEX,*LPMEMORYSTATUSEX; | 
 
 
 
 
 | 59 |  | 
 
 
 
 
 | 60 | WINBASEAPI VOID WINAPI GetSystemInfo (LPSYSTEM_INFO lpSystemInfo); | 
 
 
 
 
 | 61 | WINBASEAPI WINBOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX lpBuffer); | 
 
 
 
 
 | 62 | WINBASEAPI DWORD WINAPI GetTickCount (VOID); | 
 
 
 
 
 | 63 | WINBASEAPI VOID WINAPI GetSystemTimePreciseAsFileTime (LPFILETIME lpSystemTimeAsFileTime); | 
 
 
 
 
 | 64 | WINBASEAPI WINBOOL WINAPI GetVersionExA (LPOSVERSIONINFOA lpVersionInformation); | 
 
 
 
 
 | 65 | WINBASEAPI WINBOOL WINAPI GetVersionExW (LPOSVERSIONINFOW lpVersionInformation); | 
 
 
 
 
 | 66 |  | 
 
 
 
 
 | 67 | #endif | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) | 
 
 
 
 
 | 70 | typedef enum _COMPUTER_NAME_FORMAT { | 
 
 
 
 
 | 71 | ComputerNameNetBIOS, | 
 
 
 
 
 | 72 | ComputerNameDnsHostname, | 
 
 
 
 
 | 73 | ComputerNameDnsDomain, | 
 
 
 
 
 | 74 | ComputerNameDnsFullyQualified, | 
 
 
 
 
 | 75 | ComputerNamePhysicalNetBIOS, | 
 
 
 
 
 | 76 | ComputerNamePhysicalDnsHostname, | 
 
 
 
 
 | 77 | ComputerNamePhysicalDnsDomain, | 
 
 
 
 
 | 78 | ComputerNamePhysicalDnsFullyQualified, | 
 
 
 
 
 | 79 | ComputerNameMax | 
 
 
 
 
 | 80 | } COMPUTER_NAME_FORMAT; | 
 
 
 
 
 | 81 |  | 
 
 
 
 
 | 82 | WINBASEAPI DWORD WINAPI GetVersion (VOID); | 
 
 
 
 
 | 83 |  | 
 
 
 
 
 | 84 | WINBASEAPI WINBOOL WINAPI SetLocalTime (CONST SYSTEMTIME *lpSystemTime); | 
 
 
 
 
 | 85 | WINBASEAPI WINBOOL WINAPI GetSystemTimeAdjustment (PDWORD lpTimeAdjustment, PDWORD lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled); | 
 
 
 
 
 | 86 | WINBASEAPI UINT WINAPI GetWindowsDirectoryA (LPSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 87 | WINBASEAPI UINT WINAPI GetWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 88 | WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 89 | WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 90 | WINBASEAPI WINBOOL WINAPI GetComputerNameExA (COMPUTER_NAME_FORMAT NameType, LPSTR lpBuffer, LPDWORD nSize); | 
 
 
 
 
 | 91 | WINBASEAPI WINBOOL WINAPI GetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPWSTR lpBuffer, LPDWORD nSize); | 
 
 
 
 
 | 92 | WINBASEAPI WINBOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPCWSTR lpBuffer); | 
 
 
 
 
 | 93 | WINBASEAPI WINBOOL WINAPI SetSystemTime (CONST SYSTEMTIME *lpSystemTime); | 
 
 
 
 
 | 94 | NTSYSAPI ULONGLONG NTAPI VerSetConditionMask (ULONGLONG ConditionMask, ULONG TypeMask, UCHAR Condition); | 
 
 
 
 
 | 95 | #if _WIN32_WINNT >= 0x0601 | 
 
 
 
 
 | 96 | WINBASEAPI WINBOOL WINAPI GetOsSafeBootMode (PDWORD Flags); | 
 
 
 
 
 | 97 | #endif | 
 
 
 
 
 | 98 |  | 
 
 
 
 
 | 99 | #define GetSystemDirectory __MINGW_NAME_AW(GetSystemDirectory) | 
 
 
 
 
 | 100 | #define GetWindowsDirectory __MINGW_NAME_AW(GetWindowsDirectory) | 
 
 
 
 
 | 101 | #define GetSystemWindowsDirectory __MINGW_NAME_AW(GetSystemWindowsDirectory) | 
 
 
 
 
 | 102 | #define GetComputerNameEx __MINGW_NAME_AW(GetComputerNameEx) | 
 
 
 
 
 | 103 | #define GetVersionEx __MINGW_NAME_AW(GetVersionEx) | 
 
 
 
 
 | 104 |  | 
 
 
 
 
 | 105 | #ifdef UNICODE | 
 
 
 
 
 | 106 | #define SetComputerNameEx SetComputerNameExW | 
 
 
 
 
 | 107 | #endif | 
 
 
 
 
 | 108 | #elif defined(WINSTORECOMPAT) | 
 
 
 
 
 | 109 | WINBASEAPI DWORD WINAPI GetTickCount (VOID); | 
 
 
 
 
 | 110 | #endif | 
 
 
 
 
 | 111 |  | 
 
 
 
 
 | 112 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) | 
 
 
 
 
 | 113 | WINBASEAPI UINT WINAPI GetSystemDirectoryA (LPSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 114 | WINBASEAPI UINT WINAPI GetSystemDirectoryW (LPWSTR lpBuffer, UINT uSize); | 
 
 
 
 
 | 115 | WINBASEAPI WINBOOL WINAPI GetLogicalProcessorInformation (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnedLength); | 
 
 
 
 
 | 116 | WINBASEAPI UINT WINAPI EnumSystemFirmwareTables (DWORD FirmwareTableProviderSignature, PVOID pFirmwareTableEnumBuffer, DWORD BufferSize); | 
 
 
 
 
 | 117 | WINBASEAPI UINT WINAPI GetSystemFirmwareTable (DWORD FirmwareTableProviderSignature, DWORD FirmwareTableID, PVOID pFirmwareTableBuffer, DWORD BufferSize); | 
 
 
 
 
 | 118 | #if _WIN32_WINNT >= 0x0600 | 
 
 
 
 
 | 119 | WINBASEAPI WINBOOL WINAPI GetProductInfo (DWORD dwOSMajorVersion, DWORD dwOSMinorVersion, DWORD dwSpMajorVersion, DWORD dwSpMinorVersion, PDWORD pdwReturnedProductType); | 
 
 
 
 
 | 120 | #endif | 
 
 
 
 
 | 121 | #if _WIN32_WINNT >= 0x0601 | 
 
 
 
 
 | 122 | WINBASEAPI WINBOOL WINAPI GetLogicalProcessorInformationEx (LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer, PDWORD ReturnedLength); | 
 
 
 
 
 | 123 | #endif | 
 
 
 
 
 | 124 | #endif | 
 
 
 
 
 | 125 |  | 
 
 
 
 
 | 126 | #ifdef __cplusplus | 
 
 
 
 
 | 127 | } | 
 
 
 
 
 | 128 | #endif | 
 
 
 
 
 | 129 | #endif |