1340 lines
55 KiB
Zig
1340 lines
55 KiB
Zig
//! NOTE: this file is autogenerated, DO NOT MODIFY
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Constants (113)
|
|
//--------------------------------------------------------------------------------
|
|
pub const NTDDI_WIN2K = @as(u32, 83886080);
|
|
pub const NTDDI_WINXP = @as(u32, 83951616);
|
|
pub const NTDDI_WINXPSP2 = @as(u32, 83952128);
|
|
pub const NTDDI_WS03SP1 = @as(u32, 84017408);
|
|
pub const NTDDI_VISTA = @as(u32, 100663296);
|
|
pub const NTDDI_VISTASP1 = @as(u32, 100663552);
|
|
pub const NTDDI_WIN7 = @as(u32, 100728832);
|
|
pub const NTDDI_WIN8 = @as(u32, 100794368);
|
|
pub const NTDDI_WINBLUE = @as(u32, 100859904);
|
|
pub const NTDDI_WINTHRESHOLD = @as(u32, 167772160);
|
|
pub const SYSTEM_CPU_SET_INFORMATION_PARKED = @as(u32, 1);
|
|
pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED = @as(u32, 2);
|
|
pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS = @as(u32, 4);
|
|
pub const SYSTEM_CPU_SET_INFORMATION_REALTIME = @as(u32, 8);
|
|
pub const _WIN32_WINNT_NT4 = @as(u32, 1024);
|
|
pub const _WIN32_WINNT_WIN2K = @as(u32, 1280);
|
|
pub const _WIN32_WINNT_WINXP = @as(u32, 1281);
|
|
pub const _WIN32_WINNT_WS03 = @as(u32, 1282);
|
|
pub const _WIN32_WINNT_WIN6 = @as(u32, 1536);
|
|
pub const _WIN32_WINNT_VISTA = @as(u32, 1536);
|
|
pub const _WIN32_WINNT_WS08 = @as(u32, 1536);
|
|
pub const _WIN32_WINNT_LONGHORN = @as(u32, 1536);
|
|
pub const _WIN32_WINNT_WIN7 = @as(u32, 1537);
|
|
pub const _WIN32_WINNT_WIN8 = @as(u32, 1538);
|
|
pub const _WIN32_WINNT_WINBLUE = @as(u32, 1539);
|
|
pub const _WIN32_WINNT_WINTHRESHOLD = @as(u32, 2560);
|
|
pub const _WIN32_WINNT_WIN10 = @as(u32, 2560);
|
|
pub const _WIN32_IE_IE20 = @as(u32, 512);
|
|
pub const _WIN32_IE_IE30 = @as(u32, 768);
|
|
pub const _WIN32_IE_IE302 = @as(u32, 770);
|
|
pub const _WIN32_IE_IE40 = @as(u32, 1024);
|
|
pub const _WIN32_IE_IE401 = @as(u32, 1025);
|
|
pub const _WIN32_IE_IE50 = @as(u32, 1280);
|
|
pub const _WIN32_IE_IE501 = @as(u32, 1281);
|
|
pub const _WIN32_IE_IE55 = @as(u32, 1360);
|
|
pub const _WIN32_IE_IE60 = @as(u32, 1536);
|
|
pub const _WIN32_IE_IE60SP1 = @as(u32, 1537);
|
|
pub const _WIN32_IE_IE60SP2 = @as(u32, 1539);
|
|
pub const _WIN32_IE_IE70 = @as(u32, 1792);
|
|
pub const _WIN32_IE_IE80 = @as(u32, 2048);
|
|
pub const _WIN32_IE_IE90 = @as(u32, 2304);
|
|
pub const _WIN32_IE_IE100 = @as(u32, 2560);
|
|
pub const _WIN32_IE_IE110 = @as(u32, 2560);
|
|
pub const _WIN32_IE_NT4 = @as(u32, 512);
|
|
pub const _WIN32_IE_NT4SP1 = @as(u32, 512);
|
|
pub const _WIN32_IE_NT4SP2 = @as(u32, 512);
|
|
pub const _WIN32_IE_NT4SP3 = @as(u32, 770);
|
|
pub const _WIN32_IE_NT4SP4 = @as(u32, 1025);
|
|
pub const _WIN32_IE_NT4SP5 = @as(u32, 1025);
|
|
pub const _WIN32_IE_NT4SP6 = @as(u32, 1280);
|
|
pub const _WIN32_IE_WIN98 = @as(u32, 1025);
|
|
pub const _WIN32_IE_WIN98SE = @as(u32, 1280);
|
|
pub const _WIN32_IE_WINME = @as(u32, 1360);
|
|
pub const _WIN32_IE_WIN2K = @as(u32, 1281);
|
|
pub const _WIN32_IE_WIN2KSP1 = @as(u32, 1281);
|
|
pub const _WIN32_IE_WIN2KSP2 = @as(u32, 1281);
|
|
pub const _WIN32_IE_WIN2KSP3 = @as(u32, 1281);
|
|
pub const _WIN32_IE_WIN2KSP4 = @as(u32, 1281);
|
|
pub const _WIN32_IE_XP = @as(u32, 1536);
|
|
pub const _WIN32_IE_XPSP1 = @as(u32, 1537);
|
|
pub const _WIN32_IE_XPSP2 = @as(u32, 1539);
|
|
pub const _WIN32_IE_WS03 = @as(u32, 1538);
|
|
pub const _WIN32_IE_WS03SP1 = @as(u32, 1539);
|
|
pub const _WIN32_IE_WIN6 = @as(u32, 1792);
|
|
pub const _WIN32_IE_LONGHORN = @as(u32, 1792);
|
|
pub const _WIN32_IE_WIN7 = @as(u32, 2048);
|
|
pub const _WIN32_IE_WIN8 = @as(u32, 2560);
|
|
pub const _WIN32_IE_WINBLUE = @as(u32, 2560);
|
|
pub const _WIN32_IE_WINTHRESHOLD = @as(u32, 2560);
|
|
pub const _WIN32_IE_WIN10 = @as(u32, 2560);
|
|
pub const NTDDI_WIN4 = @as(u32, 67108864);
|
|
pub const NTDDI_WIN2KSP1 = @as(u32, 83886336);
|
|
pub const NTDDI_WIN2KSP2 = @as(u32, 83886592);
|
|
pub const NTDDI_WIN2KSP3 = @as(u32, 83886848);
|
|
pub const NTDDI_WIN2KSP4 = @as(u32, 83887104);
|
|
pub const NTDDI_WINXPSP1 = @as(u32, 83951872);
|
|
pub const NTDDI_WINXPSP3 = @as(u32, 83952384);
|
|
pub const NTDDI_WINXPSP4 = @as(u32, 83952640);
|
|
pub const NTDDI_WS03 = @as(u32, 84017152);
|
|
pub const NTDDI_WS03SP2 = @as(u32, 84017664);
|
|
pub const NTDDI_WS03SP3 = @as(u32, 84017920);
|
|
pub const NTDDI_WS03SP4 = @as(u32, 84018176);
|
|
pub const NTDDI_WIN6 = @as(u32, 100663296);
|
|
pub const NTDDI_WIN6SP1 = @as(u32, 100663552);
|
|
pub const NTDDI_WIN6SP2 = @as(u32, 100663808);
|
|
pub const NTDDI_WIN6SP3 = @as(u32, 100664064);
|
|
pub const NTDDI_WIN6SP4 = @as(u32, 100664320);
|
|
pub const NTDDI_VISTASP2 = @as(u32, 100663808);
|
|
pub const NTDDI_VISTASP3 = @as(u32, 100664064);
|
|
pub const NTDDI_VISTASP4 = @as(u32, 100664320);
|
|
pub const NTDDI_LONGHORN = @as(u32, 100663296);
|
|
pub const NTDDI_WS08 = @as(u32, 100663552);
|
|
pub const NTDDI_WS08SP2 = @as(u32, 100663808);
|
|
pub const NTDDI_WS08SP3 = @as(u32, 100664064);
|
|
pub const NTDDI_WS08SP4 = @as(u32, 100664320);
|
|
pub const NTDDI_WIN10 = @as(u32, 167772160);
|
|
pub const NTDDI_WIN10_TH2 = @as(u32, 167772161);
|
|
pub const NTDDI_WIN10_RS1 = @as(u32, 167772162);
|
|
pub const NTDDI_WIN10_RS2 = @as(u32, 167772163);
|
|
pub const NTDDI_WIN10_RS3 = @as(u32, 167772164);
|
|
pub const NTDDI_WIN10_RS4 = @as(u32, 167772165);
|
|
pub const NTDDI_WIN10_RS5 = @as(u32, 167772166);
|
|
pub const NTDDI_WIN10_19H1 = @as(u32, 167772167);
|
|
pub const NTDDI_WIN10_VB = @as(u32, 167772168);
|
|
pub const NTDDI_WIN10_MN = @as(u32, 167772169);
|
|
pub const NTDDI_WIN10_FE = @as(u32, 167772170);
|
|
pub const NTDDI_WIN10_CO = @as(u32, 167772171);
|
|
pub const WDK_NTDDI_VERSION = @as(u32, 167772171);
|
|
pub const OSVERSION_MASK = @as(u32, 4294901760);
|
|
pub const SPVERSION_MASK = @as(u32, 65280);
|
|
pub const SUBVERSION_MASK = @as(u32, 255);
|
|
pub const NTDDI_VERSION = @as(u32, 167772171);
|
|
pub const SCEX2_ALT_NETBIOS_NAME = @as(u32, 1);
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Types (37)
|
|
//--------------------------------------------------------------------------------
|
|
pub const VER_FLAGS = enum(u32) {
|
|
MINORVERSION = 1,
|
|
MAJORVERSION = 2,
|
|
BUILDNUMBER = 4,
|
|
PLATFORMID = 8,
|
|
SERVICEPACKMINOR = 16,
|
|
SERVICEPACKMAJOR = 32,
|
|
SUITENAME = 64,
|
|
PRODUCT_TYPE = 128,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
MINORVERSION: u1 = 0,
|
|
MAJORVERSION: u1 = 0,
|
|
BUILDNUMBER: u1 = 0,
|
|
PLATFORMID: u1 = 0,
|
|
SERVICEPACKMINOR: u1 = 0,
|
|
SERVICEPACKMAJOR: u1 = 0,
|
|
SUITENAME: u1 = 0,
|
|
PRODUCT_TYPE: u1 = 0,
|
|
}) VER_FLAGS {
|
|
return @as(VER_FLAGS, @enumFromInt(
|
|
(if (o.MINORVERSION == 1) @intFromEnum(VER_FLAGS.MINORVERSION) else 0)
|
|
| (if (o.MAJORVERSION == 1) @intFromEnum(VER_FLAGS.MAJORVERSION) else 0)
|
|
| (if (o.BUILDNUMBER == 1) @intFromEnum(VER_FLAGS.BUILDNUMBER) else 0)
|
|
| (if (o.PLATFORMID == 1) @intFromEnum(VER_FLAGS.PLATFORMID) else 0)
|
|
| (if (o.SERVICEPACKMINOR == 1) @intFromEnum(VER_FLAGS.SERVICEPACKMINOR) else 0)
|
|
| (if (o.SERVICEPACKMAJOR == 1) @intFromEnum(VER_FLAGS.SERVICEPACKMAJOR) else 0)
|
|
| (if (o.SUITENAME == 1) @intFromEnum(VER_FLAGS.SUITENAME) else 0)
|
|
| (if (o.PRODUCT_TYPE == 1) @intFromEnum(VER_FLAGS.PRODUCT_TYPE) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const VER_MINORVERSION = VER_FLAGS.MINORVERSION;
|
|
pub const VER_MAJORVERSION = VER_FLAGS.MAJORVERSION;
|
|
pub const VER_BUILDNUMBER = VER_FLAGS.BUILDNUMBER;
|
|
pub const VER_PLATFORMID = VER_FLAGS.PLATFORMID;
|
|
pub const VER_SERVICEPACKMINOR = VER_FLAGS.SERVICEPACKMINOR;
|
|
pub const VER_SERVICEPACKMAJOR = VER_FLAGS.SERVICEPACKMAJOR;
|
|
pub const VER_SUITENAME = VER_FLAGS.SUITENAME;
|
|
pub const VER_PRODUCT_TYPE = VER_FLAGS.PRODUCT_TYPE;
|
|
|
|
pub const FIRMWARE_TABLE_PROVIDER = enum(u32) {
|
|
ACPI = 1094930505,
|
|
FIRM = 1179210317,
|
|
RSMB = 1381190978,
|
|
};
|
|
pub const ACPI = FIRMWARE_TABLE_PROVIDER.ACPI;
|
|
pub const FIRM = FIRMWARE_TABLE_PROVIDER.FIRM;
|
|
pub const RSMB = FIRMWARE_TABLE_PROVIDER.RSMB;
|
|
|
|
pub const USER_CET_ENVIRONMENT = enum(u32) {
|
|
WIN32_PROCESS = 0,
|
|
SGX2_ENCLAVE = 2,
|
|
VBS_ENCLAVE = 16,
|
|
VBS_BASIC_ENCLAVE = 17,
|
|
};
|
|
pub const USER_CET_ENVIRONMENT_WIN32_PROCESS = USER_CET_ENVIRONMENT.WIN32_PROCESS;
|
|
pub const USER_CET_ENVIRONMENT_SGX2_ENCLAVE = USER_CET_ENVIRONMENT.SGX2_ENCLAVE;
|
|
pub const USER_CET_ENVIRONMENT_VBS_ENCLAVE = USER_CET_ENVIRONMENT.VBS_ENCLAVE;
|
|
pub const USER_CET_ENVIRONMENT_VBS_BASIC_ENCLAVE = USER_CET_ENVIRONMENT.VBS_BASIC_ENCLAVE;
|
|
|
|
pub const OS_PRODUCT_TYPE = enum(u32) {
|
|
BUSINESS = 6,
|
|
BUSINESS_N = 16,
|
|
CLUSTER_SERVER = 18,
|
|
CLUSTER_SERVER_V = 64,
|
|
CORE = 101,
|
|
CORE_COUNTRYSPECIFIC = 99,
|
|
CORE_N = 98,
|
|
CORE_SINGLELANGUAGE = 100,
|
|
DATACENTER_EVALUATION_SERVER = 80,
|
|
DATACENTER_A_SERVER_CORE = 145,
|
|
STANDARD_A_SERVER_CORE = 146,
|
|
DATACENTER_SERVER = 8,
|
|
DATACENTER_SERVER_CORE = 12,
|
|
DATACENTER_SERVER_CORE_V = 39,
|
|
DATACENTER_SERVER_V = 37,
|
|
EDUCATION = 121,
|
|
EDUCATION_N = 122,
|
|
ENTERPRISE = 4,
|
|
ENTERPRISE_E = 70,
|
|
ENTERPRISE_EVALUATION = 72,
|
|
ENTERPRISE_N = 27,
|
|
ENTERPRISE_N_EVALUATION = 84,
|
|
ENTERPRISE_S = 125,
|
|
ENTERPRISE_S_EVALUATION = 129,
|
|
ENTERPRISE_S_N = 126,
|
|
ENTERPRISE_S_N_EVALUATION = 130,
|
|
ENTERPRISE_SERVER = 10,
|
|
ENTERPRISE_SERVER_CORE = 14,
|
|
ENTERPRISE_SERVER_CORE_V = 41,
|
|
ENTERPRISE_SERVER_IA64 = 15,
|
|
ENTERPRISE_SERVER_V = 38,
|
|
ESSENTIALBUSINESS_SERVER_ADDL = 60,
|
|
ESSENTIALBUSINESS_SERVER_ADDLSVC = 62,
|
|
ESSENTIALBUSINESS_SERVER_MGMT = 59,
|
|
ESSENTIALBUSINESS_SERVER_MGMTSVC = 61,
|
|
HOME_BASIC = 2,
|
|
HOME_BASIC_E = 67,
|
|
HOME_BASIC_N = 5,
|
|
HOME_PREMIUM = 3,
|
|
HOME_PREMIUM_E = 68,
|
|
HOME_PREMIUM_N = 26,
|
|
HOME_PREMIUM_SERVER = 34,
|
|
HOME_SERVER = 19,
|
|
HYPERV = 42,
|
|
IOTUAP = 123,
|
|
IOTUAPCOMMERCIAL = 131,
|
|
MEDIUMBUSINESS_SERVER_MANAGEMENT = 30,
|
|
MEDIUMBUSINESS_SERVER_MESSAGING = 32,
|
|
MEDIUMBUSINESS_SERVER_SECURITY = 31,
|
|
MOBILE_CORE = 104,
|
|
MOBILE_ENTERPRISE = 133,
|
|
MULTIPOINT_PREMIUM_SERVER = 77,
|
|
MULTIPOINT_STANDARD_SERVER = 76,
|
|
PRO_WORKSTATION = 161,
|
|
PRO_WORKSTATION_N = 162,
|
|
PROFESSIONAL = 48,
|
|
PROFESSIONAL_E = 69,
|
|
PROFESSIONAL_N = 49,
|
|
PROFESSIONAL_WMC = 103,
|
|
SB_SOLUTION_SERVER = 50,
|
|
SB_SOLUTION_SERVER_EM = 54,
|
|
SERVER_FOR_SB_SOLUTIONS = 51,
|
|
SERVER_FOR_SB_SOLUTIONS_EM = 55,
|
|
SERVER_FOR_SMALLBUSINESS = 24,
|
|
SERVER_FOR_SMALLBUSINESS_V = 35,
|
|
SERVER_FOUNDATION = 33,
|
|
SMALLBUSINESS_SERVER = 9,
|
|
SMALLBUSINESS_SERVER_PREMIUM = 25,
|
|
SMALLBUSINESS_SERVER_PREMIUM_CORE = 63,
|
|
SOLUTION_EMBEDDEDSERVER = 56,
|
|
STANDARD_EVALUATION_SERVER = 79,
|
|
STANDARD_SERVER = 7,
|
|
STANDARD_SERVER_CORE_ = 13,
|
|
STANDARD_SERVER_CORE_V = 40,
|
|
STANDARD_SERVER_V = 36,
|
|
STANDARD_SERVER_SOLUTIONS = 52,
|
|
STANDARD_SERVER_SOLUTIONS_CORE = 53,
|
|
STARTER = 11,
|
|
STARTER_E = 66,
|
|
STARTER_N = 47,
|
|
STORAGE_ENTERPRISE_SERVER = 23,
|
|
STORAGE_ENTERPRISE_SERVER_CORE = 46,
|
|
STORAGE_EXPRESS_SERVER = 20,
|
|
STORAGE_EXPRESS_SERVER_CORE = 43,
|
|
STORAGE_STANDARD_EVALUATION_SERVER = 96,
|
|
STORAGE_STANDARD_SERVER = 21,
|
|
STORAGE_STANDARD_SERVER_CORE = 44,
|
|
STORAGE_WORKGROUP_EVALUATION_SERVER = 95,
|
|
STORAGE_WORKGROUP_SERVER = 22,
|
|
STORAGE_WORKGROUP_SERVER_CORE = 45,
|
|
ULTIMATE = 1,
|
|
ULTIMATE_E = 71,
|
|
ULTIMATE_N = 28,
|
|
UNDEFINED = 0,
|
|
WEB_SERVER = 17,
|
|
WEB_SERVER_CORE = 29,
|
|
};
|
|
pub const PRODUCT_BUSINESS = OS_PRODUCT_TYPE.BUSINESS;
|
|
pub const PRODUCT_BUSINESS_N = OS_PRODUCT_TYPE.BUSINESS_N;
|
|
pub const PRODUCT_CLUSTER_SERVER = OS_PRODUCT_TYPE.CLUSTER_SERVER;
|
|
pub const PRODUCT_CLUSTER_SERVER_V = OS_PRODUCT_TYPE.CLUSTER_SERVER_V;
|
|
pub const PRODUCT_CORE = OS_PRODUCT_TYPE.CORE;
|
|
pub const PRODUCT_CORE_COUNTRYSPECIFIC = OS_PRODUCT_TYPE.CORE_COUNTRYSPECIFIC;
|
|
pub const PRODUCT_CORE_N = OS_PRODUCT_TYPE.CORE_N;
|
|
pub const PRODUCT_CORE_SINGLELANGUAGE = OS_PRODUCT_TYPE.CORE_SINGLELANGUAGE;
|
|
pub const PRODUCT_DATACENTER_EVALUATION_SERVER = OS_PRODUCT_TYPE.DATACENTER_EVALUATION_SERVER;
|
|
pub const PRODUCT_DATACENTER_A_SERVER_CORE = OS_PRODUCT_TYPE.DATACENTER_A_SERVER_CORE;
|
|
pub const PRODUCT_STANDARD_A_SERVER_CORE = OS_PRODUCT_TYPE.STANDARD_A_SERVER_CORE;
|
|
pub const PRODUCT_DATACENTER_SERVER = OS_PRODUCT_TYPE.DATACENTER_SERVER;
|
|
pub const PRODUCT_DATACENTER_SERVER_CORE = OS_PRODUCT_TYPE.DATACENTER_SERVER_CORE;
|
|
pub const PRODUCT_DATACENTER_SERVER_CORE_V = OS_PRODUCT_TYPE.DATACENTER_SERVER_CORE_V;
|
|
pub const PRODUCT_DATACENTER_SERVER_V = OS_PRODUCT_TYPE.DATACENTER_SERVER_V;
|
|
pub const PRODUCT_EDUCATION = OS_PRODUCT_TYPE.EDUCATION;
|
|
pub const PRODUCT_EDUCATION_N = OS_PRODUCT_TYPE.EDUCATION_N;
|
|
pub const PRODUCT_ENTERPRISE = OS_PRODUCT_TYPE.ENTERPRISE;
|
|
pub const PRODUCT_ENTERPRISE_E = OS_PRODUCT_TYPE.ENTERPRISE_E;
|
|
pub const PRODUCT_ENTERPRISE_EVALUATION = OS_PRODUCT_TYPE.ENTERPRISE_EVALUATION;
|
|
pub const PRODUCT_ENTERPRISE_N = OS_PRODUCT_TYPE.ENTERPRISE_N;
|
|
pub const PRODUCT_ENTERPRISE_N_EVALUATION = OS_PRODUCT_TYPE.ENTERPRISE_N_EVALUATION;
|
|
pub const PRODUCT_ENTERPRISE_S = OS_PRODUCT_TYPE.ENTERPRISE_S;
|
|
pub const PRODUCT_ENTERPRISE_S_EVALUATION = OS_PRODUCT_TYPE.ENTERPRISE_S_EVALUATION;
|
|
pub const PRODUCT_ENTERPRISE_S_N = OS_PRODUCT_TYPE.ENTERPRISE_S_N;
|
|
pub const PRODUCT_ENTERPRISE_S_N_EVALUATION = OS_PRODUCT_TYPE.ENTERPRISE_S_N_EVALUATION;
|
|
pub const PRODUCT_ENTERPRISE_SERVER = OS_PRODUCT_TYPE.ENTERPRISE_SERVER;
|
|
pub const PRODUCT_ENTERPRISE_SERVER_CORE = OS_PRODUCT_TYPE.ENTERPRISE_SERVER_CORE;
|
|
pub const PRODUCT_ENTERPRISE_SERVER_CORE_V = OS_PRODUCT_TYPE.ENTERPRISE_SERVER_CORE_V;
|
|
pub const PRODUCT_ENTERPRISE_SERVER_IA64 = OS_PRODUCT_TYPE.ENTERPRISE_SERVER_IA64;
|
|
pub const PRODUCT_ENTERPRISE_SERVER_V = OS_PRODUCT_TYPE.ENTERPRISE_SERVER_V;
|
|
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL = OS_PRODUCT_TYPE.ESSENTIALBUSINESS_SERVER_ADDL;
|
|
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC = OS_PRODUCT_TYPE.ESSENTIALBUSINESS_SERVER_ADDLSVC;
|
|
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT = OS_PRODUCT_TYPE.ESSENTIALBUSINESS_SERVER_MGMT;
|
|
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC = OS_PRODUCT_TYPE.ESSENTIALBUSINESS_SERVER_MGMTSVC;
|
|
pub const PRODUCT_HOME_BASIC = OS_PRODUCT_TYPE.HOME_BASIC;
|
|
pub const PRODUCT_HOME_BASIC_E = OS_PRODUCT_TYPE.HOME_BASIC_E;
|
|
pub const PRODUCT_HOME_BASIC_N = OS_PRODUCT_TYPE.HOME_BASIC_N;
|
|
pub const PRODUCT_HOME_PREMIUM = OS_PRODUCT_TYPE.HOME_PREMIUM;
|
|
pub const PRODUCT_HOME_PREMIUM_E = OS_PRODUCT_TYPE.HOME_PREMIUM_E;
|
|
pub const PRODUCT_HOME_PREMIUM_N = OS_PRODUCT_TYPE.HOME_PREMIUM_N;
|
|
pub const PRODUCT_HOME_PREMIUM_SERVER = OS_PRODUCT_TYPE.HOME_PREMIUM_SERVER;
|
|
pub const PRODUCT_HOME_SERVER = OS_PRODUCT_TYPE.HOME_SERVER;
|
|
pub const PRODUCT_HYPERV = OS_PRODUCT_TYPE.HYPERV;
|
|
pub const PRODUCT_IOTUAP = OS_PRODUCT_TYPE.IOTUAP;
|
|
pub const PRODUCT_IOTUAPCOMMERCIAL = OS_PRODUCT_TYPE.IOTUAPCOMMERCIAL;
|
|
pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT = OS_PRODUCT_TYPE.MEDIUMBUSINESS_SERVER_MANAGEMENT;
|
|
pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING = OS_PRODUCT_TYPE.MEDIUMBUSINESS_SERVER_MESSAGING;
|
|
pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY = OS_PRODUCT_TYPE.MEDIUMBUSINESS_SERVER_SECURITY;
|
|
pub const PRODUCT_MOBILE_CORE = OS_PRODUCT_TYPE.MOBILE_CORE;
|
|
pub const PRODUCT_MOBILE_ENTERPRISE = OS_PRODUCT_TYPE.MOBILE_ENTERPRISE;
|
|
pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER = OS_PRODUCT_TYPE.MULTIPOINT_PREMIUM_SERVER;
|
|
pub const PRODUCT_MULTIPOINT_STANDARD_SERVER = OS_PRODUCT_TYPE.MULTIPOINT_STANDARD_SERVER;
|
|
pub const PRODUCT_PRO_WORKSTATION = OS_PRODUCT_TYPE.PRO_WORKSTATION;
|
|
pub const PRODUCT_PRO_WORKSTATION_N = OS_PRODUCT_TYPE.PRO_WORKSTATION_N;
|
|
pub const PRODUCT_PROFESSIONAL = OS_PRODUCT_TYPE.PROFESSIONAL;
|
|
pub const PRODUCT_PROFESSIONAL_E = OS_PRODUCT_TYPE.PROFESSIONAL_E;
|
|
pub const PRODUCT_PROFESSIONAL_N = OS_PRODUCT_TYPE.PROFESSIONAL_N;
|
|
pub const PRODUCT_PROFESSIONAL_WMC = OS_PRODUCT_TYPE.PROFESSIONAL_WMC;
|
|
pub const PRODUCT_SB_SOLUTION_SERVER = OS_PRODUCT_TYPE.SB_SOLUTION_SERVER;
|
|
pub const PRODUCT_SB_SOLUTION_SERVER_EM = OS_PRODUCT_TYPE.SB_SOLUTION_SERVER_EM;
|
|
pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS = OS_PRODUCT_TYPE.SERVER_FOR_SB_SOLUTIONS;
|
|
pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM = OS_PRODUCT_TYPE.SERVER_FOR_SB_SOLUTIONS_EM;
|
|
pub const PRODUCT_SERVER_FOR_SMALLBUSINESS = OS_PRODUCT_TYPE.SERVER_FOR_SMALLBUSINESS;
|
|
pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V = OS_PRODUCT_TYPE.SERVER_FOR_SMALLBUSINESS_V;
|
|
pub const PRODUCT_SERVER_FOUNDATION = OS_PRODUCT_TYPE.SERVER_FOUNDATION;
|
|
pub const PRODUCT_SMALLBUSINESS_SERVER = OS_PRODUCT_TYPE.SMALLBUSINESS_SERVER;
|
|
pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = OS_PRODUCT_TYPE.SMALLBUSINESS_SERVER_PREMIUM;
|
|
pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE = OS_PRODUCT_TYPE.SMALLBUSINESS_SERVER_PREMIUM_CORE;
|
|
pub const PRODUCT_SOLUTION_EMBEDDEDSERVER = OS_PRODUCT_TYPE.SOLUTION_EMBEDDEDSERVER;
|
|
pub const PRODUCT_STANDARD_EVALUATION_SERVER = OS_PRODUCT_TYPE.STANDARD_EVALUATION_SERVER;
|
|
pub const PRODUCT_STANDARD_SERVER = OS_PRODUCT_TYPE.STANDARD_SERVER;
|
|
pub const PRODUCT_STANDARD_SERVER_CORE_ = OS_PRODUCT_TYPE.STANDARD_SERVER_CORE_;
|
|
pub const PRODUCT_STANDARD_SERVER_CORE_V = OS_PRODUCT_TYPE.STANDARD_SERVER_CORE_V;
|
|
pub const PRODUCT_STANDARD_SERVER_V = OS_PRODUCT_TYPE.STANDARD_SERVER_V;
|
|
pub const PRODUCT_STANDARD_SERVER_SOLUTIONS = OS_PRODUCT_TYPE.STANDARD_SERVER_SOLUTIONS;
|
|
pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE = OS_PRODUCT_TYPE.STANDARD_SERVER_SOLUTIONS_CORE;
|
|
pub const PRODUCT_STARTER = OS_PRODUCT_TYPE.STARTER;
|
|
pub const PRODUCT_STARTER_E = OS_PRODUCT_TYPE.STARTER_E;
|
|
pub const PRODUCT_STARTER_N = OS_PRODUCT_TYPE.STARTER_N;
|
|
pub const PRODUCT_STORAGE_ENTERPRISE_SERVER = OS_PRODUCT_TYPE.STORAGE_ENTERPRISE_SERVER;
|
|
pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE = OS_PRODUCT_TYPE.STORAGE_ENTERPRISE_SERVER_CORE;
|
|
pub const PRODUCT_STORAGE_EXPRESS_SERVER = OS_PRODUCT_TYPE.STORAGE_EXPRESS_SERVER;
|
|
pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE = OS_PRODUCT_TYPE.STORAGE_EXPRESS_SERVER_CORE;
|
|
pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER = OS_PRODUCT_TYPE.STORAGE_STANDARD_EVALUATION_SERVER;
|
|
pub const PRODUCT_STORAGE_STANDARD_SERVER = OS_PRODUCT_TYPE.STORAGE_STANDARD_SERVER;
|
|
pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE = OS_PRODUCT_TYPE.STORAGE_STANDARD_SERVER_CORE;
|
|
pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER = OS_PRODUCT_TYPE.STORAGE_WORKGROUP_EVALUATION_SERVER;
|
|
pub const PRODUCT_STORAGE_WORKGROUP_SERVER = OS_PRODUCT_TYPE.STORAGE_WORKGROUP_SERVER;
|
|
pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE = OS_PRODUCT_TYPE.STORAGE_WORKGROUP_SERVER_CORE;
|
|
pub const PRODUCT_ULTIMATE = OS_PRODUCT_TYPE.ULTIMATE;
|
|
pub const PRODUCT_ULTIMATE_E = OS_PRODUCT_TYPE.ULTIMATE_E;
|
|
pub const PRODUCT_ULTIMATE_N = OS_PRODUCT_TYPE.ULTIMATE_N;
|
|
pub const PRODUCT_UNDEFINED = OS_PRODUCT_TYPE.UNDEFINED;
|
|
pub const PRODUCT_WEB_SERVER = OS_PRODUCT_TYPE.WEB_SERVER;
|
|
pub const PRODUCT_WEB_SERVER_CORE = OS_PRODUCT_TYPE.WEB_SERVER_CORE;
|
|
|
|
pub const DEVICEFAMILYINFOENUM = enum(u32) {
|
|
UAP = 0,
|
|
WINDOWS_8X = 1,
|
|
WINDOWS_PHONE_8X = 2,
|
|
DESKTOP = 3,
|
|
MOBILE = 4,
|
|
XBOX = 5,
|
|
TEAM = 6,
|
|
IOT = 7,
|
|
IOT_HEADLESS = 8,
|
|
SERVER = 9,
|
|
HOLOGRAPHIC = 10,
|
|
XBOXSRA = 11,
|
|
XBOXERA = 12,
|
|
SERVER_NANO = 13,
|
|
@"8828080" = 14,
|
|
@"7067329" = 15,
|
|
WINDOWS_CORE = 16,
|
|
WINDOWS_CORE_HEADLESS = 17,
|
|
// MAX = 17, this enum value conflicts with WINDOWS_CORE_HEADLESS
|
|
};
|
|
pub const DEVICEFAMILYINFOENUM_UAP = DEVICEFAMILYINFOENUM.UAP;
|
|
pub const DEVICEFAMILYINFOENUM_WINDOWS_8X = DEVICEFAMILYINFOENUM.WINDOWS_8X;
|
|
pub const DEVICEFAMILYINFOENUM_WINDOWS_PHONE_8X = DEVICEFAMILYINFOENUM.WINDOWS_PHONE_8X;
|
|
pub const DEVICEFAMILYINFOENUM_DESKTOP = DEVICEFAMILYINFOENUM.DESKTOP;
|
|
pub const DEVICEFAMILYINFOENUM_MOBILE = DEVICEFAMILYINFOENUM.MOBILE;
|
|
pub const DEVICEFAMILYINFOENUM_XBOX = DEVICEFAMILYINFOENUM.XBOX;
|
|
pub const DEVICEFAMILYINFOENUM_TEAM = DEVICEFAMILYINFOENUM.TEAM;
|
|
pub const DEVICEFAMILYINFOENUM_IOT = DEVICEFAMILYINFOENUM.IOT;
|
|
pub const DEVICEFAMILYINFOENUM_IOT_HEADLESS = DEVICEFAMILYINFOENUM.IOT_HEADLESS;
|
|
pub const DEVICEFAMILYINFOENUM_SERVER = DEVICEFAMILYINFOENUM.SERVER;
|
|
pub const DEVICEFAMILYINFOENUM_HOLOGRAPHIC = DEVICEFAMILYINFOENUM.HOLOGRAPHIC;
|
|
pub const DEVICEFAMILYINFOENUM_XBOXSRA = DEVICEFAMILYINFOENUM.XBOXSRA;
|
|
pub const DEVICEFAMILYINFOENUM_XBOXERA = DEVICEFAMILYINFOENUM.XBOXERA;
|
|
pub const DEVICEFAMILYINFOENUM_SERVER_NANO = DEVICEFAMILYINFOENUM.SERVER_NANO;
|
|
pub const DEVICEFAMILYINFOENUM_8828080 = DEVICEFAMILYINFOENUM.@"8828080";
|
|
pub const DEVICEFAMILYINFOENUM_7067329 = DEVICEFAMILYINFOENUM.@"7067329";
|
|
pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE = DEVICEFAMILYINFOENUM.WINDOWS_CORE;
|
|
pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE_HEADLESS = DEVICEFAMILYINFOENUM.WINDOWS_CORE_HEADLESS;
|
|
pub const DEVICEFAMILYINFOENUM_MAX = DEVICEFAMILYINFOENUM.WINDOWS_CORE_HEADLESS;
|
|
|
|
pub const DEVICEFAMILYDEVICEFORM = enum(u32) {
|
|
UNKNOWN = 0,
|
|
PHONE = 1,
|
|
TABLET = 2,
|
|
DESKTOP = 3,
|
|
NOTEBOOK = 4,
|
|
CONVERTIBLE = 5,
|
|
DETACHABLE = 6,
|
|
ALLINONE = 7,
|
|
STICKPC = 8,
|
|
PUCK = 9,
|
|
LARGESCREEN = 10,
|
|
HMD = 11,
|
|
INDUSTRY_HANDHELD = 12,
|
|
INDUSTRY_TABLET = 13,
|
|
BANKING = 14,
|
|
BUILDING_AUTOMATION = 15,
|
|
DIGITAL_SIGNAGE = 16,
|
|
GAMING = 17,
|
|
HOME_AUTOMATION = 18,
|
|
INDUSTRIAL_AUTOMATION = 19,
|
|
KIOSK = 20,
|
|
MAKER_BOARD = 21,
|
|
MEDICAL = 22,
|
|
NETWORKING = 23,
|
|
POINT_OF_SERVICE = 24,
|
|
PRINTING = 25,
|
|
THIN_CLIENT = 26,
|
|
TOY = 27,
|
|
VENDING = 28,
|
|
INDUSTRY_OTHER = 29,
|
|
XBOX_ONE = 30,
|
|
XBOX_ONE_S = 31,
|
|
XBOX_ONE_X = 32,
|
|
XBOX_ONE_X_DEVKIT = 33,
|
|
XBOX_SERIES_X = 34,
|
|
XBOX_SERIES_X_DEVKIT = 35,
|
|
XBOX_RESERVED_00 = 36,
|
|
XBOX_RESERVED_01 = 37,
|
|
XBOX_RESERVED_02 = 38,
|
|
XBOX_RESERVED_03 = 39,
|
|
XBOX_RESERVED_04 = 40,
|
|
XBOX_RESERVED_05 = 41,
|
|
XBOX_RESERVED_06 = 42,
|
|
XBOX_RESERVED_07 = 43,
|
|
XBOX_RESERVED_08 = 44,
|
|
XBOX_RESERVED_09 = 45,
|
|
// MAX = 45, this enum value conflicts with XBOX_RESERVED_09
|
|
};
|
|
pub const DEVICEFAMILYDEVICEFORM_UNKNOWN = DEVICEFAMILYDEVICEFORM.UNKNOWN;
|
|
pub const DEVICEFAMILYDEVICEFORM_PHONE = DEVICEFAMILYDEVICEFORM.PHONE;
|
|
pub const DEVICEFAMILYDEVICEFORM_TABLET = DEVICEFAMILYDEVICEFORM.TABLET;
|
|
pub const DEVICEFAMILYDEVICEFORM_DESKTOP = DEVICEFAMILYDEVICEFORM.DESKTOP;
|
|
pub const DEVICEFAMILYDEVICEFORM_NOTEBOOK = DEVICEFAMILYDEVICEFORM.NOTEBOOK;
|
|
pub const DEVICEFAMILYDEVICEFORM_CONVERTIBLE = DEVICEFAMILYDEVICEFORM.CONVERTIBLE;
|
|
pub const DEVICEFAMILYDEVICEFORM_DETACHABLE = DEVICEFAMILYDEVICEFORM.DETACHABLE;
|
|
pub const DEVICEFAMILYDEVICEFORM_ALLINONE = DEVICEFAMILYDEVICEFORM.ALLINONE;
|
|
pub const DEVICEFAMILYDEVICEFORM_STICKPC = DEVICEFAMILYDEVICEFORM.STICKPC;
|
|
pub const DEVICEFAMILYDEVICEFORM_PUCK = DEVICEFAMILYDEVICEFORM.PUCK;
|
|
pub const DEVICEFAMILYDEVICEFORM_LARGESCREEN = DEVICEFAMILYDEVICEFORM.LARGESCREEN;
|
|
pub const DEVICEFAMILYDEVICEFORM_HMD = DEVICEFAMILYDEVICEFORM.HMD;
|
|
pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_HANDHELD = DEVICEFAMILYDEVICEFORM.INDUSTRY_HANDHELD;
|
|
pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_TABLET = DEVICEFAMILYDEVICEFORM.INDUSTRY_TABLET;
|
|
pub const DEVICEFAMILYDEVICEFORM_BANKING = DEVICEFAMILYDEVICEFORM.BANKING;
|
|
pub const DEVICEFAMILYDEVICEFORM_BUILDING_AUTOMATION = DEVICEFAMILYDEVICEFORM.BUILDING_AUTOMATION;
|
|
pub const DEVICEFAMILYDEVICEFORM_DIGITAL_SIGNAGE = DEVICEFAMILYDEVICEFORM.DIGITAL_SIGNAGE;
|
|
pub const DEVICEFAMILYDEVICEFORM_GAMING = DEVICEFAMILYDEVICEFORM.GAMING;
|
|
pub const DEVICEFAMILYDEVICEFORM_HOME_AUTOMATION = DEVICEFAMILYDEVICEFORM.HOME_AUTOMATION;
|
|
pub const DEVICEFAMILYDEVICEFORM_INDUSTRIAL_AUTOMATION = DEVICEFAMILYDEVICEFORM.INDUSTRIAL_AUTOMATION;
|
|
pub const DEVICEFAMILYDEVICEFORM_KIOSK = DEVICEFAMILYDEVICEFORM.KIOSK;
|
|
pub const DEVICEFAMILYDEVICEFORM_MAKER_BOARD = DEVICEFAMILYDEVICEFORM.MAKER_BOARD;
|
|
pub const DEVICEFAMILYDEVICEFORM_MEDICAL = DEVICEFAMILYDEVICEFORM.MEDICAL;
|
|
pub const DEVICEFAMILYDEVICEFORM_NETWORKING = DEVICEFAMILYDEVICEFORM.NETWORKING;
|
|
pub const DEVICEFAMILYDEVICEFORM_POINT_OF_SERVICE = DEVICEFAMILYDEVICEFORM.POINT_OF_SERVICE;
|
|
pub const DEVICEFAMILYDEVICEFORM_PRINTING = DEVICEFAMILYDEVICEFORM.PRINTING;
|
|
pub const DEVICEFAMILYDEVICEFORM_THIN_CLIENT = DEVICEFAMILYDEVICEFORM.THIN_CLIENT;
|
|
pub const DEVICEFAMILYDEVICEFORM_TOY = DEVICEFAMILYDEVICEFORM.TOY;
|
|
pub const DEVICEFAMILYDEVICEFORM_VENDING = DEVICEFAMILYDEVICEFORM.VENDING;
|
|
pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_OTHER = DEVICEFAMILYDEVICEFORM.INDUSTRY_OTHER;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE = DEVICEFAMILYDEVICEFORM.XBOX_ONE;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_S = DEVICEFAMILYDEVICEFORM.XBOX_ONE_S;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X = DEVICEFAMILYDEVICEFORM.XBOX_ONE_X;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X_DEVKIT = DEVICEFAMILYDEVICEFORM.XBOX_ONE_X_DEVKIT;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_SERIES_X = DEVICEFAMILYDEVICEFORM.XBOX_SERIES_X;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_SERIES_X_DEVKIT = DEVICEFAMILYDEVICEFORM.XBOX_SERIES_X_DEVKIT;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_00 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_00;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_01 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_01;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_02 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_02;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_03 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_03;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_04 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_04;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_05 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_05;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_06 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_06;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_07 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_07;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_08 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_08;
|
|
pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_09 = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_09;
|
|
pub const DEVICEFAMILYDEVICEFORM_MAX = DEVICEFAMILYDEVICEFORM.XBOX_RESERVED_09;
|
|
|
|
pub const FIRMWARE_TABLE_ID = u32;
|
|
|
|
pub const GROUP_AFFINITY = extern struct {
|
|
Mask: usize,
|
|
Group: u16,
|
|
Reserved: [3]u16,
|
|
};
|
|
|
|
pub const SYSTEM_INFO = extern struct {
|
|
Anonymous: extern union {
|
|
dwOemId: u32,
|
|
Anonymous: extern struct {
|
|
wProcessorArchitecture: PROCESSOR_ARCHITECTURE,
|
|
wReserved: u16,
|
|
},
|
|
},
|
|
dwPageSize: u32,
|
|
lpMinimumApplicationAddress: ?*anyopaque,
|
|
lpMaximumApplicationAddress: ?*anyopaque,
|
|
dwActiveProcessorMask: usize,
|
|
dwNumberOfProcessors: u32,
|
|
dwProcessorType: u32,
|
|
dwAllocationGranularity: u32,
|
|
wProcessorLevel: u16,
|
|
wProcessorRevision: u16,
|
|
};
|
|
|
|
pub const MEMORYSTATUSEX = extern struct {
|
|
dwLength: u32,
|
|
dwMemoryLoad: u32,
|
|
ullTotalPhys: u64,
|
|
ullAvailPhys: u64,
|
|
ullTotalPageFile: u64,
|
|
ullAvailPageFile: u64,
|
|
ullTotalVirtual: u64,
|
|
ullAvailVirtual: u64,
|
|
ullAvailExtendedVirtual: u64,
|
|
};
|
|
|
|
pub const COMPUTER_NAME_FORMAT = enum(i32) {
|
|
NetBIOS = 0,
|
|
DnsHostname = 1,
|
|
DnsDomain = 2,
|
|
DnsFullyQualified = 3,
|
|
PhysicalNetBIOS = 4,
|
|
PhysicalDnsHostname = 5,
|
|
PhysicalDnsDomain = 6,
|
|
PhysicalDnsFullyQualified = 7,
|
|
Max = 8,
|
|
};
|
|
pub const ComputerNameNetBIOS = COMPUTER_NAME_FORMAT.NetBIOS;
|
|
pub const ComputerNameDnsHostname = COMPUTER_NAME_FORMAT.DnsHostname;
|
|
pub const ComputerNameDnsDomain = COMPUTER_NAME_FORMAT.DnsDomain;
|
|
pub const ComputerNameDnsFullyQualified = COMPUTER_NAME_FORMAT.DnsFullyQualified;
|
|
pub const ComputerNamePhysicalNetBIOS = COMPUTER_NAME_FORMAT.PhysicalNetBIOS;
|
|
pub const ComputerNamePhysicalDnsHostname = COMPUTER_NAME_FORMAT.PhysicalDnsHostname;
|
|
pub const ComputerNamePhysicalDnsDomain = COMPUTER_NAME_FORMAT.PhysicalDnsDomain;
|
|
pub const ComputerNamePhysicalDnsFullyQualified = COMPUTER_NAME_FORMAT.PhysicalDnsFullyQualified;
|
|
pub const ComputerNameMax = COMPUTER_NAME_FORMAT.Max;
|
|
|
|
pub const FIRMWARE_TYPE = enum(i32) {
|
|
Unknown = 0,
|
|
Bios = 1,
|
|
Uefi = 2,
|
|
Max = 3,
|
|
};
|
|
pub const FirmwareTypeUnknown = FIRMWARE_TYPE.Unknown;
|
|
pub const FirmwareTypeBios = FIRMWARE_TYPE.Bios;
|
|
pub const FirmwareTypeUefi = FIRMWARE_TYPE.Uefi;
|
|
pub const FirmwareTypeMax = FIRMWARE_TYPE.Max;
|
|
|
|
pub const LOGICAL_PROCESSOR_RELATIONSHIP = enum(i32) {
|
|
ProcessorCore = 0,
|
|
NumaNode = 1,
|
|
Cache = 2,
|
|
ProcessorPackage = 3,
|
|
Group = 4,
|
|
ProcessorDie = 5,
|
|
NumaNodeEx = 6,
|
|
ProcessorModule = 7,
|
|
All = 65535,
|
|
};
|
|
pub const RelationProcessorCore = LOGICAL_PROCESSOR_RELATIONSHIP.ProcessorCore;
|
|
pub const RelationNumaNode = LOGICAL_PROCESSOR_RELATIONSHIP.NumaNode;
|
|
pub const RelationCache = LOGICAL_PROCESSOR_RELATIONSHIP.Cache;
|
|
pub const RelationProcessorPackage = LOGICAL_PROCESSOR_RELATIONSHIP.ProcessorPackage;
|
|
pub const RelationGroup = LOGICAL_PROCESSOR_RELATIONSHIP.Group;
|
|
pub const RelationProcessorDie = LOGICAL_PROCESSOR_RELATIONSHIP.ProcessorDie;
|
|
pub const RelationNumaNodeEx = LOGICAL_PROCESSOR_RELATIONSHIP.NumaNodeEx;
|
|
pub const RelationProcessorModule = LOGICAL_PROCESSOR_RELATIONSHIP.ProcessorModule;
|
|
pub const RelationAll = LOGICAL_PROCESSOR_RELATIONSHIP.All;
|
|
|
|
pub const PROCESSOR_CACHE_TYPE = enum(i32) {
|
|
Unified = 0,
|
|
Instruction = 1,
|
|
Data = 2,
|
|
Trace = 3,
|
|
};
|
|
pub const CacheUnified = PROCESSOR_CACHE_TYPE.Unified;
|
|
pub const CacheInstruction = PROCESSOR_CACHE_TYPE.Instruction;
|
|
pub const CacheData = PROCESSOR_CACHE_TYPE.Data;
|
|
pub const CacheTrace = PROCESSOR_CACHE_TYPE.Trace;
|
|
|
|
pub const CACHE_DESCRIPTOR = extern struct {
|
|
Level: u8,
|
|
Associativity: u8,
|
|
LineSize: u16,
|
|
Size: u32,
|
|
Type: PROCESSOR_CACHE_TYPE,
|
|
};
|
|
|
|
pub const SYSTEM_LOGICAL_PROCESSOR_INFORMATION = extern struct {
|
|
ProcessorMask: usize,
|
|
Relationship: LOGICAL_PROCESSOR_RELATIONSHIP,
|
|
Anonymous: extern union {
|
|
ProcessorCore: extern struct {
|
|
Flags: u8,
|
|
},
|
|
NumaNode: extern struct {
|
|
NodeNumber: u32,
|
|
},
|
|
Cache: CACHE_DESCRIPTOR,
|
|
Reserved: [2]u64,
|
|
},
|
|
};
|
|
|
|
pub const PROCESSOR_RELATIONSHIP = extern struct {
|
|
Flags: u8,
|
|
EfficiencyClass: u8,
|
|
Reserved: [20]u8,
|
|
GroupCount: u16,
|
|
GroupMask: [1]GROUP_AFFINITY,
|
|
};
|
|
|
|
pub const NUMA_NODE_RELATIONSHIP = extern struct {
|
|
NodeNumber: u32,
|
|
Reserved: [18]u8,
|
|
GroupCount: u16,
|
|
Anonymous: extern union {
|
|
GroupMask: GROUP_AFFINITY,
|
|
GroupMasks: [1]GROUP_AFFINITY,
|
|
},
|
|
};
|
|
|
|
pub const CACHE_RELATIONSHIP = extern struct {
|
|
Level: u8,
|
|
Associativity: u8,
|
|
LineSize: u16,
|
|
CacheSize: u32,
|
|
Type: PROCESSOR_CACHE_TYPE,
|
|
Reserved: [18]u8,
|
|
GroupCount: u16,
|
|
Anonymous: extern union {
|
|
GroupMask: GROUP_AFFINITY,
|
|
GroupMasks: [1]GROUP_AFFINITY,
|
|
},
|
|
};
|
|
|
|
pub const PROCESSOR_GROUP_INFO = extern struct {
|
|
MaximumProcessorCount: u8,
|
|
ActiveProcessorCount: u8,
|
|
Reserved: [38]u8,
|
|
ActiveProcessorMask: usize,
|
|
};
|
|
|
|
pub const GROUP_RELATIONSHIP = extern struct {
|
|
MaximumGroupCount: u16,
|
|
ActiveGroupCount: u16,
|
|
Reserved: [20]u8,
|
|
GroupInfo: [1]PROCESSOR_GROUP_INFO,
|
|
};
|
|
|
|
pub const SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = extern struct {
|
|
Relationship: LOGICAL_PROCESSOR_RELATIONSHIP,
|
|
Size: u32,
|
|
Anonymous: extern union {
|
|
Processor: PROCESSOR_RELATIONSHIP,
|
|
NumaNode: NUMA_NODE_RELATIONSHIP,
|
|
Cache: CACHE_RELATIONSHIP,
|
|
Group: GROUP_RELATIONSHIP,
|
|
},
|
|
};
|
|
|
|
pub const CPU_SET_INFORMATION_TYPE = enum(i32) {
|
|
n = 0,
|
|
};
|
|
pub const CpuSetInformation = CPU_SET_INFORMATION_TYPE.n;
|
|
|
|
pub const SYSTEM_CPU_SET_INFORMATION = extern struct {
|
|
Size: u32,
|
|
Type: CPU_SET_INFORMATION_TYPE,
|
|
Anonymous: extern union {
|
|
CpuSet: extern struct {
|
|
Id: u32,
|
|
Group: u16,
|
|
LogicalProcessorIndex: u8,
|
|
CoreIndex: u8,
|
|
LastLevelCacheIndex: u8,
|
|
NumaNodeIndex: u8,
|
|
EfficiencyClass: u8,
|
|
Anonymous1: extern union {
|
|
AllFlags: u8,
|
|
Anonymous: extern struct {
|
|
_bitfield: u8,
|
|
},
|
|
},
|
|
Anonymous2: extern union {
|
|
Reserved: u32,
|
|
SchedulingClass: u8,
|
|
},
|
|
AllocationTag: u64,
|
|
},
|
|
},
|
|
};
|
|
|
|
pub const SYSTEM_POOL_ZEROING_INFORMATION = extern struct {
|
|
PoolZeroingSupportPresent: BOOLEAN,
|
|
};
|
|
|
|
pub const SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = extern struct {
|
|
CycleTime: u64,
|
|
};
|
|
|
|
pub const SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION = extern struct {
|
|
_bitfield: u32,
|
|
};
|
|
|
|
pub const OSVERSIONINFOA = extern struct {
|
|
dwOSVersionInfoSize: u32,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
dwBuildNumber: u32,
|
|
dwPlatformId: u32,
|
|
szCSDVersion: [128]CHAR,
|
|
};
|
|
|
|
pub const OSVERSIONINFOW = extern struct {
|
|
dwOSVersionInfoSize: u32,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
dwBuildNumber: u32,
|
|
dwPlatformId: u32,
|
|
szCSDVersion: [128]u16,
|
|
};
|
|
|
|
pub const OSVERSIONINFOEXA = extern struct {
|
|
dwOSVersionInfoSize: u32,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
dwBuildNumber: u32,
|
|
dwPlatformId: u32,
|
|
szCSDVersion: [128]CHAR,
|
|
wServicePackMajor: u16,
|
|
wServicePackMinor: u16,
|
|
wSuiteMask: u16,
|
|
wProductType: u8,
|
|
wReserved: u8,
|
|
};
|
|
|
|
pub const OSVERSIONINFOEXW = extern struct {
|
|
dwOSVersionInfoSize: u32,
|
|
dwMajorVersion: u32,
|
|
dwMinorVersion: u32,
|
|
dwBuildNumber: u32,
|
|
dwPlatformId: u32,
|
|
szCSDVersion: [128]u16,
|
|
wServicePackMajor: u16,
|
|
wServicePackMinor: u16,
|
|
wSuiteMask: u16,
|
|
wProductType: u8,
|
|
wReserved: u8,
|
|
};
|
|
|
|
pub const OS_DEPLOYEMENT_STATE_VALUES = enum(i32) {
|
|
STANDARD = 1,
|
|
COMPACT = 2,
|
|
};
|
|
pub const OS_DEPLOYMENT_STANDARD = OS_DEPLOYEMENT_STATE_VALUES.STANDARD;
|
|
pub const OS_DEPLOYMENT_COMPACT = OS_DEPLOYEMENT_STATE_VALUES.COMPACT;
|
|
|
|
pub const RTL_SYSTEM_GLOBAL_DATA_ID = enum(i32) {
|
|
Unknown = 0,
|
|
RngSeedVersion = 1,
|
|
InterruptTime = 2,
|
|
TimeZoneBias = 3,
|
|
ImageNumberLow = 4,
|
|
ImageNumberHigh = 5,
|
|
TimeZoneId = 6,
|
|
NtMajorVersion = 7,
|
|
NtMinorVersion = 8,
|
|
SystemExpirationDate = 9,
|
|
KdDebuggerEnabled = 10,
|
|
CyclesPerYield = 11,
|
|
SafeBootMode = 12,
|
|
LastSystemRITEventTickCount = 13,
|
|
};
|
|
pub const GlobalDataIdUnknown = RTL_SYSTEM_GLOBAL_DATA_ID.Unknown;
|
|
pub const GlobalDataIdRngSeedVersion = RTL_SYSTEM_GLOBAL_DATA_ID.RngSeedVersion;
|
|
pub const GlobalDataIdInterruptTime = RTL_SYSTEM_GLOBAL_DATA_ID.InterruptTime;
|
|
pub const GlobalDataIdTimeZoneBias = RTL_SYSTEM_GLOBAL_DATA_ID.TimeZoneBias;
|
|
pub const GlobalDataIdImageNumberLow = RTL_SYSTEM_GLOBAL_DATA_ID.ImageNumberLow;
|
|
pub const GlobalDataIdImageNumberHigh = RTL_SYSTEM_GLOBAL_DATA_ID.ImageNumberHigh;
|
|
pub const GlobalDataIdTimeZoneId = RTL_SYSTEM_GLOBAL_DATA_ID.TimeZoneId;
|
|
pub const GlobalDataIdNtMajorVersion = RTL_SYSTEM_GLOBAL_DATA_ID.NtMajorVersion;
|
|
pub const GlobalDataIdNtMinorVersion = RTL_SYSTEM_GLOBAL_DATA_ID.NtMinorVersion;
|
|
pub const GlobalDataIdSystemExpirationDate = RTL_SYSTEM_GLOBAL_DATA_ID.SystemExpirationDate;
|
|
pub const GlobalDataIdKdDebuggerEnabled = RTL_SYSTEM_GLOBAL_DATA_ID.KdDebuggerEnabled;
|
|
pub const GlobalDataIdCyclesPerYield = RTL_SYSTEM_GLOBAL_DATA_ID.CyclesPerYield;
|
|
pub const GlobalDataIdSafeBootMode = RTL_SYSTEM_GLOBAL_DATA_ID.SafeBootMode;
|
|
pub const GlobalDataIdLastSystemRITEventTickCount = RTL_SYSTEM_GLOBAL_DATA_ID.LastSystemRITEventTickCount;
|
|
|
|
pub const MEMORYSTATUS = extern struct {
|
|
dwLength: u32,
|
|
dwMemoryLoad: u32,
|
|
dwTotalPhys: usize,
|
|
dwAvailPhys: usize,
|
|
dwTotalPageFile: usize,
|
|
dwAvailPageFile: usize,
|
|
dwTotalVirtual: usize,
|
|
dwAvailVirtual: usize,
|
|
};
|
|
|
|
pub const DEP_SYSTEM_POLICY_TYPE = enum(i32) {
|
|
PolicyAlwaysOff = 0,
|
|
PolicyAlwaysOn = 1,
|
|
PolicyOptIn = 2,
|
|
PolicyOptOut = 3,
|
|
TotalPolicyCount = 4,
|
|
};
|
|
pub const DEPPolicyAlwaysOff = DEP_SYSTEM_POLICY_TYPE.PolicyAlwaysOff;
|
|
pub const DEPPolicyAlwaysOn = DEP_SYSTEM_POLICY_TYPE.PolicyAlwaysOn;
|
|
pub const DEPPolicyOptIn = DEP_SYSTEM_POLICY_TYPE.PolicyOptIn;
|
|
pub const DEPPolicyOptOut = DEP_SYSTEM_POLICY_TYPE.PolicyOptOut;
|
|
pub const DEPTotalPolicyCount = DEP_SYSTEM_POLICY_TYPE.TotalPolicyCount;
|
|
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_A = switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
else => *const fn(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
} ;
|
|
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_W = switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
else => *const fn(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
} ;
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Functions (62)
|
|
//--------------------------------------------------------------------------------
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "kernel32" fn GlobalMemoryStatusEx(
|
|
lpBuffer: ?*MEMORYSTATUSEX,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemInfo(
|
|
lpSystemInfo: ?*SYSTEM_INFO,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemTime(
|
|
lpSystemTime: ?*SYSTEMTIME,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemTimeAsFileTime(
|
|
lpSystemTimeAsFileTime: ?*FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetLocalTime(
|
|
lpSystemTime: ?*SYSTEMTIME,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
pub extern "kernel32" fn IsUserCetAvailableInEnvironment(
|
|
UserCetEnvironment: USER_CET_ENVIRONMENT,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn GetSystemLeapSecondInformation(
|
|
Enabled: ?*BOOL,
|
|
Flags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetVersion(
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetLocalTime(
|
|
lpSystemTime: ?*const SYSTEMTIME,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetTickCount(
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetTickCount64(
|
|
) callconv(@import("std").os.windows.WINAPI) u64;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemTimeAdjustment(
|
|
lpTimeAdjustment: ?*u32,
|
|
lpTimeIncrement: ?*u32,
|
|
lpTimeAdjustmentDisabled: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.10240'
|
|
pub extern "api-ms-win-core-sysinfo-l1-2-4" fn GetSystemTimeAdjustmentPrecise(
|
|
lpTimeAdjustment: ?*u64,
|
|
lpTimeIncrement: ?*u64,
|
|
lpTimeAdjustmentDisabled: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemDirectoryA(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemDirectoryW(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetWindowsDirectoryA(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetWindowsDirectoryW(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemWindowsDirectoryA(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetSystemWindowsDirectoryW(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetComputerNameExA(
|
|
NameType: COMPUTER_NAME_FORMAT,
|
|
lpBuffer: ?[*:0]u8,
|
|
nSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetComputerNameExW(
|
|
NameType: COMPUTER_NAME_FORMAT,
|
|
lpBuffer: ?[*:0]u16,
|
|
nSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetComputerNameExW(
|
|
NameType: COMPUTER_NAME_FORMAT,
|
|
lpBuffer: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetSystemTime(
|
|
lpSystemTime: ?*const SYSTEMTIME,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetVersionExA(
|
|
lpVersionInformation: ?*OSVERSIONINFOA,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn GetVersionExW(
|
|
lpVersionInformation: ?*OSVERSIONINFOW,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetLogicalProcessorInformation(
|
|
// TODO: what to do with BytesParamIndex 1?
|
|
Buffer: ?*SYSTEM_LOGICAL_PROCESSOR_INFORMATION,
|
|
ReturnedLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.1'
|
|
pub extern "kernel32" fn GetLogicalProcessorInformationEx(
|
|
RelationshipType: LOGICAL_PROCESSOR_RELATIONSHIP,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
Buffer: ?*SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX,
|
|
ReturnedLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "kernel32" fn GetNativeSystemInfo(
|
|
lpSystemInfo: ?*SYSTEM_INFO,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn GetSystemTimePreciseAsFileTime(
|
|
lpSystemTimeAsFileTime: ?*FILETIME,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetProductInfo(
|
|
dwOSMajorVersion: u32,
|
|
dwOSMinorVersion: u32,
|
|
dwSpMajorVersion: u32,
|
|
dwSpMinorVersion: u32,
|
|
pdwReturnedProductType: ?*OS_PRODUCT_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn VerSetConditionMask(
|
|
ConditionMask: u64,
|
|
TypeMask: VER_FLAGS,
|
|
Condition: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) u64;
|
|
|
|
pub extern "api-ms-win-core-sysinfo-l1-2-0" fn GetOsSafeBootMode(
|
|
Flags: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn EnumSystemFirmwareTables(
|
|
FirmwareTableProviderSignature: FIRMWARE_TABLE_PROVIDER,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pFirmwareTableEnumBuffer: ?*FIRMWARE_TABLE_ID,
|
|
BufferSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetSystemFirmwareTable(
|
|
FirmwareTableProviderSignature: FIRMWARE_TABLE_PROVIDER,
|
|
FirmwareTableID: FIRMWARE_TABLE_ID,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pFirmwareTableBuffer: ?*anyopaque,
|
|
BufferSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
pub extern "kernel32" fn DnsHostnameToComputerNameExW(
|
|
Hostname: ?[*:0]const u16,
|
|
ComputerName: ?[*:0]u16,
|
|
nSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetPhysicallyInstalledSystemMemory(
|
|
TotalMemoryInKilobytes: ?*u64,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn SetComputerNameEx2W(
|
|
NameType: COMPUTER_NAME_FORMAT,
|
|
Flags: u32,
|
|
lpBuffer: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetSystemTimeAdjustment(
|
|
dwTimeAdjustment: u32,
|
|
bTimeAdjustmentDisabled: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.10240'
|
|
pub extern "api-ms-win-core-sysinfo-l1-2-4" fn SetSystemTimeAdjustmentPrecise(
|
|
dwTimeAdjustment: u64,
|
|
bTimeAdjustmentDisabled: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.1'
|
|
pub extern "kernel32" fn GetProcessorSystemCycleTime(
|
|
Group: u16,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
Buffer: ?*SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION,
|
|
ReturnedLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "api-ms-win-core-sysinfo-l1-2-3" fn GetOsManufacturingMode(
|
|
pbEnabled: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.10240'
|
|
pub extern "api-ms-win-core-sysinfo-l1-2-3" fn GetIntegratedDisplaySize(
|
|
sizeInInches: ?*f64,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetComputerNameA(
|
|
lpComputerName: ?[*:0]const u8,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetComputerNameW(
|
|
lpComputerName: ?[*:0]const u16,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn SetComputerNameExA(
|
|
NameType: COMPUTER_NAME_FORMAT,
|
|
lpBuffer: ?[*:0]const u8,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn GetSystemCpuSetInformation(
|
|
// TODO: what to do with BytesParamIndex 1?
|
|
Information: ?*SYSTEM_CPU_SET_INFORMATION,
|
|
BufferLength: u32,
|
|
ReturnedLength: ?*u32,
|
|
Process: ?HANDLE,
|
|
Flags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "kernel32" fn GetSystemWow64DirectoryA(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "kernel32" fn GetSystemWow64DirectoryW(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.10586'
|
|
pub extern "api-ms-win-core-wow64-l1-1-1" fn GetSystemWow64Directory2A(
|
|
lpBuffer: ?[*:0]u8,
|
|
uSize: u32,
|
|
ImageFileMachineType: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.10586'
|
|
pub extern "api-ms-win-core-wow64-l1-1-1" fn GetSystemWow64Directory2W(
|
|
lpBuffer: ?[*:0]u16,
|
|
uSize: u32,
|
|
ImageFileMachineType: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows10.0.16299'
|
|
pub extern "kernel32" fn IsWow64GuestMachineSupported(
|
|
WowGuestMachine: u16,
|
|
MachineIsSupported: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) HRESULT;
|
|
|
|
pub extern "ntdll" fn RtlGetProductInfo(
|
|
OSMajorVersion: u32,
|
|
OSMinorVersion: u32,
|
|
SpMajorVersion: u32,
|
|
SpMinorVersion: u32,
|
|
ReturnedProductType: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
|
|
|
|
pub extern "ntdll" fn RtlOsDeploymentState(
|
|
Flags: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) OS_DEPLOYEMENT_STATE_VALUES;
|
|
|
|
pub extern "ntdllk" fn RtlGetSystemGlobalData(
|
|
DataId: RTL_SYSTEM_GLOBAL_DATA_ID,
|
|
Buffer: ?*anyopaque,
|
|
Size: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
pub extern "ntdll" fn RtlGetDeviceFamilyInfoEnum(
|
|
pullUAPInfo: ?*u64,
|
|
pulDeviceFamily: ?*DEVICEFAMILYINFOENUM,
|
|
pulDeviceForm: ?*DEVICEFAMILYDEVICEFORM,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
pub extern "ntdll" fn RtlConvertDeviceFamilyInfoToString(
|
|
pulDeviceFamilyBufferSize: ?*u32,
|
|
pulDeviceFormBufferSize: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 0?
|
|
DeviceFamily: ?PWSTR,
|
|
// TODO: what to do with BytesParamIndex 1?
|
|
DeviceForm: ?PWSTR,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
pub extern "ntdll" fn RtlSwitchedVVI(
|
|
VersionInfo: ?*OSVERSIONINFOEXW,
|
|
TypeMask: u32,
|
|
ConditionMask: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "kernel32" fn GlobalMemoryStatus(
|
|
lpBuffer: ?*MEMORYSTATUS,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "kernel32" fn GetSystemDEPPolicy(
|
|
) callconv(@import("std").os.windows.WINAPI) DEP_SYSTEM_POLICY_TYPE;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn GetFirmwareType(
|
|
FirmwareType: ?*FIRMWARE_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn VerifyVersionInfoA(
|
|
lpVersionInformation: ?*OSVERSIONINFOEXA,
|
|
dwTypeMask: VER_FLAGS,
|
|
dwlConditionMask: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.0'
|
|
pub extern "kernel32" fn VerifyVersionInfoW(
|
|
lpVersionInformation: ?*OSVERSIONINFOEXW,
|
|
dwTypeMask: VER_FLAGS,
|
|
dwlConditionMask: u64,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Unicode Aliases (13)
|
|
//--------------------------------------------------------------------------------
|
|
const thismodule = @This();
|
|
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
|
|
.ansi => struct {
|
|
pub const OSVERSIONINFO = thismodule.OSVERSIONINFOA;
|
|
pub const OSVERSIONINFOEX = thismodule.OSVERSIONINFOEXA;
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_ = thismodule.PGET_SYSTEM_WOW64_DIRECTORY_A;
|
|
pub const GetSystemDirectory = thismodule.GetSystemDirectoryA;
|
|
pub const GetWindowsDirectory = thismodule.GetWindowsDirectoryA;
|
|
pub const GetSystemWindowsDirectory = thismodule.GetSystemWindowsDirectoryA;
|
|
pub const GetComputerNameEx = thismodule.GetComputerNameExA;
|
|
pub const SetComputerNameEx = thismodule.SetComputerNameExA;
|
|
pub const GetVersionEx = thismodule.GetVersionExA;
|
|
pub const SetComputerName = thismodule.SetComputerNameA;
|
|
pub const GetSystemWow64Directory = thismodule.GetSystemWow64DirectoryA;
|
|
pub const GetSystemWow64Directory2 = thismodule.GetSystemWow64Directory2A;
|
|
pub const VerifyVersionInfo = thismodule.VerifyVersionInfoA;
|
|
},
|
|
.wide => struct {
|
|
pub const OSVERSIONINFO = thismodule.OSVERSIONINFOW;
|
|
pub const OSVERSIONINFOEX = thismodule.OSVERSIONINFOEXW;
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_ = thismodule.PGET_SYSTEM_WOW64_DIRECTORY_W;
|
|
pub const GetSystemDirectory = thismodule.GetSystemDirectoryW;
|
|
pub const GetWindowsDirectory = thismodule.GetWindowsDirectoryW;
|
|
pub const GetSystemWindowsDirectory = thismodule.GetSystemWindowsDirectoryW;
|
|
pub const GetComputerNameEx = thismodule.GetComputerNameExW;
|
|
pub const SetComputerNameEx = thismodule.SetComputerNameExW;
|
|
pub const GetVersionEx = thismodule.GetVersionExW;
|
|
pub const SetComputerName = thismodule.SetComputerNameW;
|
|
pub const GetSystemWow64Directory = thismodule.GetSystemWow64DirectoryW;
|
|
pub const GetSystemWow64Directory2 = thismodule.GetSystemWow64Directory2W;
|
|
pub const VerifyVersionInfo = thismodule.VerifyVersionInfoW;
|
|
},
|
|
.unspecified => if (@import("builtin").is_test) struct {
|
|
pub const OSVERSIONINFO = *opaque{};
|
|
pub const OSVERSIONINFOEX = *opaque{};
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_ = *opaque{};
|
|
pub const GetSystemDirectory = *opaque{};
|
|
pub const GetWindowsDirectory = *opaque{};
|
|
pub const GetSystemWindowsDirectory = *opaque{};
|
|
pub const GetComputerNameEx = *opaque{};
|
|
pub const SetComputerNameEx = *opaque{};
|
|
pub const GetVersionEx = *opaque{};
|
|
pub const SetComputerName = *opaque{};
|
|
pub const GetSystemWow64Directory = *opaque{};
|
|
pub const GetSystemWow64Directory2 = *opaque{};
|
|
pub const VerifyVersionInfo = *opaque{};
|
|
} else struct {
|
|
pub const OSVERSIONINFO = @compileError("'OSVERSIONINFO' requires that UNICODE be set to true or false in the root module");
|
|
pub const OSVERSIONINFOEX = @compileError("'OSVERSIONINFOEX' requires that UNICODE be set to true or false in the root module");
|
|
pub const PGET_SYSTEM_WOW64_DIRECTORY_ = @compileError("'PGET_SYSTEM_WOW64_DIRECTORY_' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetSystemDirectory = @compileError("'GetSystemDirectory' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetWindowsDirectory = @compileError("'GetWindowsDirectory' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetSystemWindowsDirectory = @compileError("'GetSystemWindowsDirectory' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetComputerNameEx = @compileError("'GetComputerNameEx' requires that UNICODE be set to true or false in the root module");
|
|
pub const SetComputerNameEx = @compileError("'SetComputerNameEx' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetVersionEx = @compileError("'GetVersionEx' requires that UNICODE be set to true or false in the root module");
|
|
pub const SetComputerName = @compileError("'SetComputerName' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetSystemWow64Directory = @compileError("'GetSystemWow64Directory' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetSystemWow64Directory2 = @compileError("'GetSystemWow64Directory2' requires that UNICODE be set to true or false in the root module");
|
|
pub const VerifyVersionInfo = @compileError("'VerifyVersionInfo' requires that UNICODE be set to true or false in the root module");
|
|
},
|
|
};
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Imports (10)
|
|
//--------------------------------------------------------------------------------
|
|
const BOOL = @import("../foundation.zig").BOOL;
|
|
const BOOLEAN = @import("../foundation.zig").BOOLEAN;
|
|
const CHAR = @import("../foundation.zig").CHAR;
|
|
const FILETIME = @import("../foundation.zig").FILETIME;
|
|
const HANDLE = @import("../foundation.zig").HANDLE;
|
|
const HRESULT = @import("../foundation.zig").HRESULT;
|
|
const PROCESSOR_ARCHITECTURE = @import("../system/diagnostics/debug.zig").PROCESSOR_ARCHITECTURE;
|
|
const PSTR = @import("../foundation.zig").PSTR;
|
|
const PWSTR = @import("../foundation.zig").PWSTR;
|
|
const SYSTEMTIME = @import("../foundation.zig").SYSTEMTIME;
|
|
|
|
test {
|
|
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
|
|
if (@hasDecl(@This(), "PGET_SYSTEM_WOW64_DIRECTORY_A")) { _ = PGET_SYSTEM_WOW64_DIRECTORY_A; }
|
|
if (@hasDecl(@This(), "PGET_SYSTEM_WOW64_DIRECTORY_W")) { _ = PGET_SYSTEM_WOW64_DIRECTORY_W; }
|
|
|
|
@setEvalBranchQuota(
|
|
comptime @import("std").meta.declarations(@This()).len * 3
|
|
);
|
|
|
|
// reference all the pub declarations
|
|
if (!@import("builtin").is_test) return;
|
|
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
|
|
_ = @field(@This(), decl.name);
|
|
}
|
|
}
|