zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

sysinfoapi.h (5731B) - Raw


      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 
     45 #define USER_CET_ENVIRONMENT_WIN32_PROCESS 0x00000000
     46 #define USER_CET_ENVIRONMENT_SGX2_ENCLAVE 0x00000002
     47 #define USER_CET_ENVIRONMENT_VBS_ENCLAVE 0x00000010
     48 #define USER_CET_ENVIRONMENT_VBS_BASIC_ENCLAVE 0x00000011
     49 
     50 #if (NTDDI_VERSION >= NTDDI_WIN10_VB)
     51   WINBASEAPI WINBOOL WINAPI IsUserCetAvailableInEnvironment(DWORD UserCetEnvironment);
     52 #endif
     53 
     54 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
     55 
     56 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10
     57 
     58   typedef struct _MEMORYSTATUSEX {
     59     DWORD dwLength;
     60     DWORD dwMemoryLoad;
     61     DWORDLONG ullTotalPhys;
     62     DWORDLONG ullAvailPhys;
     63     DWORDLONG ullTotalPageFile;
     64     DWORDLONG ullAvailPageFile;
     65     DWORDLONG ullTotalVirtual;
     66     DWORDLONG ullAvailVirtual;
     67     DWORDLONG ullAvailExtendedVirtual;
     68   } MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
     69 
     70   WINBASEAPI VOID WINAPI GetSystemInfo (LPSYSTEM_INFO lpSystemInfo);
     71   WINBASEAPI WINBOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX lpBuffer);
     72   WINBASEAPI DWORD WINAPI GetTickCount (VOID);
     73   WINBASEAPI VOID WINAPI GetSystemTimePreciseAsFileTime (LPFILETIME lpSystemTimeAsFileTime);
     74   WINBASEAPI WINBOOL WINAPI GetVersionExA (LPOSVERSIONINFOA lpVersionInformation);
     75   WINBASEAPI WINBOOL WINAPI GetVersionExW (LPOSVERSIONINFOW lpVersionInformation);
     76 
     77 #endif
     78 
     79 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
     80   typedef enum _COMPUTER_NAME_FORMAT {
     81     ComputerNameNetBIOS,
     82     ComputerNameDnsHostname,
     83     ComputerNameDnsDomain,
     84     ComputerNameDnsFullyQualified,
     85     ComputerNamePhysicalNetBIOS,
     86     ComputerNamePhysicalDnsHostname,
     87     ComputerNamePhysicalDnsDomain,
     88     ComputerNamePhysicalDnsFullyQualified,
     89     ComputerNameMax
     90   } COMPUTER_NAME_FORMAT;
     91 
     92   WINBASEAPI DWORD WINAPI GetVersion (VOID);
     93 
     94   WINBASEAPI WINBOOL WINAPI SetLocalTime (CONST SYSTEMTIME *lpSystemTime);
     95   WINBASEAPI WINBOOL WINAPI GetSystemTimeAdjustment (PDWORD lpTimeAdjustment, PDWORD lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled);
     96   WINBASEAPI UINT WINAPI GetWindowsDirectoryA (LPSTR lpBuffer, UINT uSize);
     97   WINBASEAPI UINT WINAPI GetWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize);
     98   WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR lpBuffer, UINT uSize);
     99   WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize);
    100   WINBASEAPI WINBOOL WINAPI GetComputerNameExA (COMPUTER_NAME_FORMAT NameType, LPSTR lpBuffer, LPDWORD nSize);
    101   WINBASEAPI WINBOOL WINAPI GetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPWSTR lpBuffer, LPDWORD nSize);
    102   WINBASEAPI WINBOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPCWSTR lpBuffer);
    103   WINBASEAPI WINBOOL WINAPI SetSystemTime (CONST SYSTEMTIME *lpSystemTime);
    104   NTSYSAPI ULONGLONG NTAPI VerSetConditionMask (ULONGLONG ConditionMask, ULONG TypeMask, UCHAR Condition);
    105 #if _WIN32_WINNT >= 0x0601
    106   WINBASEAPI WINBOOL WINAPI GetOsSafeBootMode (PDWORD Flags);
    107 #endif
    108 
    109 #define GetSystemDirectory __MINGW_NAME_AW(GetSystemDirectory)
    110 #define GetWindowsDirectory __MINGW_NAME_AW(GetWindowsDirectory)
    111 #define GetSystemWindowsDirectory __MINGW_NAME_AW(GetSystemWindowsDirectory)
    112 #define GetComputerNameEx __MINGW_NAME_AW(GetComputerNameEx)
    113 #define GetVersionEx __MINGW_NAME_AW(GetVersionEx)
    114 
    115 #ifdef UNICODE
    116 #define SetComputerNameEx SetComputerNameExW
    117 #endif
    118 #elif defined(WINSTORECOMPAT)
    119   WINBASEAPI DWORD WINAPI GetTickCount (VOID);
    120 #endif
    121 
    122 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
    123   WINBASEAPI UINT WINAPI GetSystemDirectoryA (LPSTR lpBuffer, UINT uSize);
    124   WINBASEAPI UINT WINAPI GetSystemDirectoryW (LPWSTR lpBuffer, UINT uSize);
    125   WINBASEAPI WINBOOL WINAPI GetLogicalProcessorInformation (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnedLength);
    126   WINBASEAPI UINT WINAPI EnumSystemFirmwareTables (DWORD FirmwareTableProviderSignature, PVOID pFirmwareTableEnumBuffer, DWORD BufferSize);
    127   WINBASEAPI UINT WINAPI GetSystemFirmwareTable (DWORD FirmwareTableProviderSignature, DWORD FirmwareTableID, PVOID pFirmwareTableBuffer, DWORD BufferSize);
    128 #if _WIN32_WINNT >= 0x0600
    129   WINBASEAPI WINBOOL WINAPI GetProductInfo (DWORD dwOSMajorVersion, DWORD dwOSMinorVersion, DWORD dwSpMajorVersion, DWORD dwSpMinorVersion, PDWORD pdwReturnedProductType);
    130 #endif
    131 #if _WIN32_WINNT >= 0x0601
    132   WINBASEAPI WINBOOL WINAPI GetLogicalProcessorInformationEx (LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer, PDWORD ReturnedLength);
    133 #endif
    134 #endif
    135 
    136 #ifdef __cplusplus
    137 }
    138 #endif
    139 #endif