1 // Copyright © 2015, skdltmxn
2 // Licensed under the MIT License <LICENSE.md>
3 //! ApiSet Contract for api-ms-win-core-sysinfo-l1.
4 STRUCT!{struct SYSTEM_INFO {
5     wProcessorArchitecture: ::WORD,
6     wReserved: ::WORD,
7     dwPageSize: ::DWORD,
8     lpMinimumApplicationAddress: ::LPVOID,
9     lpMaximumApplicationAddress: ::LPVOID,
10     dwActiveProcessorMask: ::DWORD_PTR,
11     dwNumberOfProcessors: ::DWORD,
12     dwProcessorType: ::DWORD,
13     dwAllocationGranularity: ::DWORD,
14     wProcessorLevel: ::WORD,
15     wProcessorRevision: ::WORD,
16 }}
17 UNION!(SYSTEM_INFO, wProcessorArchitecture, dwOemId, dwOemId_mut, ::DWORD);
18 pub type LPSYSTEM_INFO = *mut SYSTEM_INFO;
19 STRUCT!{struct MEMORYSTATUSEX {
20     dwLength: ::DWORD,
21     dwMemoryLoad: ::DWORD,
22     ullTotalPhys: ::DWORDLONG,
23     ullAvailPhys: ::DWORDLONG,
24     ullTotalPageFile: ::DWORDLONG,
25     ullAvailPageFile: ::DWORDLONG,
26     ullTotalVirtual: ::DWORDLONG,
27     ullAvailVirtual: ::DWORDLONG,
28     ullAvailExtendedVirtual: ::DWORDLONG,
29 }}
30 pub type LPMEMORYSTATUSEX = *mut MEMORYSTATUSEX;
31 ENUM!{enum COMPUTER_NAME_FORMAT {
32     ComputerNameNetBIOS,
33     ComputerNameDnsHostname,
34     ComputerNameDnsDomain,
35     ComputerNameDnsFullyQualified,
36     ComputerNamePhysicalNetBIOS,
37     ComputerNamePhysicalDnsHostname,
38     ComputerNamePhysicalDnsDomain,
39     ComputerNamePhysicalDnsFullyQualified,
40     ComputerNameMax,
41 }}
42 pub type INIT_ONCE = ::RTL_RUN_ONCE;
43 pub type PINIT_ONCE = ::PRTL_RUN_ONCE;
44 pub type LPINIT_ONCE = ::PRTL_RUN_ONCE;
45 pub type CONDITION_VARIABLE = ::RTL_CONDITION_VARIABLE;
46 pub type PCONDITION_VARIABLE = *mut CONDITION_VARIABLE;
47