Pyrogenesis  trunk
Classes | Namespaces | Macros | Enumerations | Functions
smbios.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SMBIOS::Size< T >
 
struct  SMBIOS::Handle
 
struct  SMBIOS::Header
 
struct  SMBIOS::Structures
 

Namespaces

 SMBIOS
 

Macros

#define ENUMERATIONS
 
#define STRUCTURES
 
#define State_ENUMERATORS
 
#define ECC_ENUMERATORS
 
#define BiosFlags_ENUMERATORS
 
#define BiosFlags1_ENUMERATORS
 
#define BiosFlags2_ENUMERATORS
 
#define Bios_FIELDS
 
#define SystemWakeUpType_ENUMERATORS
 
#define System_FIELDS
 
#define BaseboardFlags_ENUMERATORS
 
#define BaseboardType_ENUMERATORS
 
#define Baseboard_FIELDS
 
#define ChassisType_ENUMERATORS
 
#define ChassisSecurityStatus_ENUMERATORS
 
#define Chassis_FIELDS
 
#define ProcessorType_ENUMERATORS
 
#define ProcessorStatus_ENUMERATORS
 
#define ProcessorUpgrade_ENUMERATORS
 
#define ProcessorFlags_ENUMERATORS
 
#define Processor_FIELDS
 
#define CacheMode_ENUMERATORS
 
#define CacheLocation_ENUMERATORS
 
#define CacheConfigurationFlags_ENUMERATORS
 
#define CacheFlags_ENUMERATORS
 
#define CacheType_ENUMERATORS
 
#define CacheAssociativity_ENUMERATORS
 
#define Cache_FIELDS
 
#define PortConnectorType_ENUMERATORS
 
#define PortType_ENUMERATORS
 
#define PortConnector_FIELDS
 
#define SystemSlotType_ENUMERATORS
 
#define SystemSlotBusWidth_ENUMERATORS
 
#define SystemSlotUsage_ENUMERATORS
 
#define SystemSlotLength_ENUMERATORS
 
#define SystemSlotFlags1_ENUMERATORS
 
#define SystemSlotFlags2_ENUMERATORS
 
#define SystemSlot_FIELDS
 
#define OnBoardDeviceType_ENUMERATORS
 
#define OnBoardDevices_FIELDS
 
#define MemoryArrayLocation_ENUMERATORS
 
#define MemoryArrayUse_ENUMERATORS
 
#define MemoryArray_FIELDS
 
#define MemoryDeviceFormFactor_ENUMERATORS
 
#define MemoryDeviceType_ENUMERATORS
 
#define MemoryDeviceTypeFlags_ENUMERATORS
 
#define MemoryDevice_FIELDS
 
#define MemoryArrayMappedAddress_FIELDS
 
#define MemoryDeviceMappedAddress_FIELDS
 
#define PortableBatteryChemistry_ENUMERATORS
 
#define PortableBattery_FIELDS
 
#define VoltageProbeLocation_ENUMERATORS
 
#define VoltageProbe_FIELDS
 
#define CoolingDeviceType_ENUMERATORS
 
#define CoolingDevice_FIELDS
 
#define TemperatureProbeLocation_ENUMERATORS
 
#define TemperatureProbe_FIELDS
 
#define SystemBootStatus_ENUMERATORS
 
#define SystemBoot_FIELDS
 
#define ManagementDeviceType_ENUMERATORS
 
#define ManagementDeviceAddressType_ENUMERATORS
 
#define ManagementDevice_FIELDS
 
#define ManagementDeviceComponent_FIELDS
 
#define ManagementDeviceThreshold_FIELDS
 
#define SystemPowerSupplyCharacteristics_ENUMERATORS
 
#define SystemPowerSupplyType_ENUMERATORS
 
#define SystemPowerSupplyInputSwitching_ENUMERATORS
 
#define SystemPowerSupply_FIELDS
 
#define OnboardDevices2_FIELDS
 
#define ENUM(enumerator, value)   enumerator = value,
 
#define ENUMERATION(name, type)
 
#define FIELD(flags, type, name, units)   type name;
 
#define STRUCTURE(name, id)
 
#define STRUCTURE(name, id)   name* name##_;
 

Enumerations

enum  SMBIOS::FieldFlags { SMBIOS::F_DERIVED = 1, SMBIOS::F_INTERNAL = 2, SMBIOS::F_HEX = 4 }
 

Functions

const Structures * SMBIOS::GetStructures ()
 
std::string SMBIOS::StringizeStructures (const Structures *)
 

Macro Definition Documentation

#define Baseboard_FIELDS
Value:
FIELD(0, const char*, manufacturer, "")\
FIELD(0, const char*, product, "")\
FIELD(0, const char*, version, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, assetTag, "")\
FIELD(0, BaseboardFlags, flags, "")\
FIELD(0, const char*, location, "")\
FIELD(0, Handle, hChassis, "")\
FIELD(0, BaseboardType, type, "")\
/* omit subsequent fields because we can't handle the variable-length contained objects */
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
#define BaseboardFlags_ENUMERATORS
Value:
ENUM(motherboard, 0x01)\
ENUM(requires_add_in, 0x02)\
ENUM(removeable, 0x04)\
ENUM(replaceable, 0x08)\
ENUM(hot_swappable, 0x10)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define BaseboardType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(blade, 3)\
ENUM(connectivity_switch, 4)\
ENUM(system_management, 5)\
ENUM(processor, 6)\
ENUM(memory, 8)\
ENUM(daughter, 9)\
ENUM(motherboard, 10)\
ENUM(processor_memory, 11)\
ENUM(processor_io, 12)\
ENUM(interconnect, 13)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
Definition: io.cpp:33
#define Bios_FIELDS
Value:
FIELD(0, const char*, vendor, "")\
FIELD(0, const char*, version, "")\
FIELD(F_HEX, u16, startSegment, "")\
FIELD(0, const char*, releaseDate, "")\
FIELD(F_INTERNAL, u8, encodedSize, "")\
FIELD(0, BiosFlags, flags, "")\
FIELD(F_HEX, u32, vendorFlags, "")\
FIELD(0, BiosFlags1, flags1, "")\
FIELD(0, BiosFlags2, flags2, "")\
FIELD(F_DERIVED, Size<size_t>, size, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
Definition: smbios.h:131
Definition: smbios.h:134
static Vendors vendor
Definition: x86_x64.cpp:180
Definition: smbios.h:127
#define BiosFlags1_ENUMERATORS
Value:
ENUM(acpi, 0x01)\
ENUM(usb_legacy, 0x02)\
ENUM(agp, 0x04)\
ENUM(boot_i2o, 0x08)\
ENUM(boot_ls_120, 0x10)\
ENUM(boot_zip_drive, 0x20)\
ENUM(boot_1394, 0x40)\
ENUM(smart_battery, 0x80)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define BiosFlags2_ENUMERATORS
Value:
ENUM(bios_boot, 0x01)\
ENUM(function_key_boot, 0x02)\
ENUM(targeted_content_distribution, 0x04)\
ENUM(uefi, 0x08)\
ENUM(virtual_machine, 0x10)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define BiosFlags_ENUMERATORS
Value:
ENUM(isa, 0x10)\
ENUM(mca, 0x20)\
ENUM(eisa, 0x40)\
ENUM(pci, 0x80)\
ENUM(pcmcia, 0x100)\
ENUM(plug_and_play, 0x200)\
ENUM(apm, 0x400)\
ENUM(upgradable, 0x800)\
ENUM(shadowing, 0x1000)\
ENUM(vl_vesa, 0x2000)\
ENUM(escd, 0x4000)\
ENUM(boot_cd, 0x8000)\
ENUM(selectable_boot, 0x10000)\
ENUM(socketed_rom, 0x20000)\
ENUM(boot_pcmcia, 0x40000)\
ENUM(edd, 0x80000)\
ENUM(int13a, 0x100000)\
ENUM(int13b, 0x200000)\
ENUM(int13c, 0x400000)\
ENUM(int13d, 0x800000)\
ENUM(int13e, 0x1000000)\
ENUM(int13f, 0x2000000)\
ENUM(int5, 0x4000000)\
ENUM(int9, 0x8000000)\
ENUM(int14, 0x10000000)\
ENUM(int17, 0x20000000)\
ENUM(int10, 0x40000000)\
ENUM(pc_98, 0x80000000)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define Cache_FIELDS
Value:
FIELD(0, const char*, designation, "")\
FIELD(0, CacheConfigurationFlags, configuration, "")\
FIELD(F_INTERNAL, u16, maxSize16, "")\
FIELD(F_INTERNAL, u16, installedSize16, "")\
FIELD(0, CacheFlags, supportedFlags, "")\
FIELD(0, CacheFlags, currentFlags, "")\
FIELD(0, u8, speed, " ns")\
FIELD(0, ECC, ecc, "")\
FIELD(0, CacheType, type, "")\
FIELD(0, CacheAssociativity, associativity, "")\
FIELD(F_DERIVED, size_t, level, "") /* 1..8 */\
FIELD(F_DERIVED, CacheLocation, location, "")\
FIELD(F_DERIVED, CacheMode, mode, "")\
FIELD(F_DERIVED, Size<u64>, maxSize, "")\
FIELD(F_DERIVED, Size<u64>, installedSize, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
Definition: smbios.h:131
Definition: smbios.h:127
#define CacheAssociativity_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(direct_mapped, 3)\
ENUM(A2, 4)\
ENUM(A4, 5)\
ENUM(full, 6)\
ENUM(A8, 7)\
ENUM(A16, 8)\
ENUM(A12, 9)\
ENUM(A24, 10)\
ENUM(A32, 11)\
ENUM(A48, 12)\
ENUM(A64, 13)\
ENUM(A20, 14)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CacheConfigurationFlags_ENUMERATORS
Value:
ENUM(socketed, 0x08)\
ENUM(enabled, 0x80)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CacheFlags_ENUMERATORS
Value:
ENUM(other, 0x01)\
ENUM(unknown, 0x02)\
ENUM(non_burst, 0x04)\
ENUM(burst, 0x08)\
ENUM(pipeline_burst, 0x10)\
ENUM(synchronous, 0x20)\
ENUM(asynchronous, 0x40)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CacheLocation_ENUMERATORS
Value:
ENUM(internal, 0)\
ENUM(external, 1)\
ENUM(reserved, 2)\
ENUM(unknown, 3)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CacheMode_ENUMERATORS
Value:
ENUM(write_through, 0)\
ENUM(write_back, 1)\
ENUM(varies, 2)\
ENUM(unknown, 3)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CacheType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(instruction, 3)\
ENUM(data, 4)\
static bool unified[UNIFIED_LAST-UNIFIED_SHIFT]
Definition: Hotkey.cpp:31
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define Chassis_FIELDS
Value:
FIELD(0, const char*, manufacturer, "")\
FIELD(0, ChassisType, type, "")\
FIELD(0, const char*, version, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, assetTag, "")\
FIELD(0, State, state, "")\
FIELD(0, State, powerState, "")\
FIELD(0, State, thermalState, "")\
FIELD(0, ChassisSecurityStatus, securityStatus, "")\
FIELD(0, u32, oemDefined, "")\
FIELD(0, u8, height, "U")\
FIELD(0, u8, numPowerCords, "")\
/* omit subsequent fields because we can't handle the variable-length contained objects */
static enum @39 state
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
#define ChassisSecurityStatus_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(none, 3)\
ENUM(external_interface_locked, 4)\
ENUM(external_interface_enabled, 5)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ChassisType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(desktop, 3)\
ENUM(low_profile_desktop, 4)\
ENUM(pizza_box, 5)\
ENUM(mini_tower, 6)\
ENUM(tower, 7)\
ENUM(portable, 8)\
ENUM(laptop, 9)\
ENUM(notebook, 10)\
ENUM(handheld, 11)\
ENUM(docking_station, 12)\
ENUM(all_in_one, 13)\
ENUM(subnotebook, 14)\
ENUM(space_saving, 15)\
ENUM(lunchbox, 16)\
ENUM(main_server, 17)\
ENUM(expansion, 18)\
ENUM(sub, 19)\
ENUM(bus_expansion, 20)\
ENUM(peripheral, 21)\
ENUM(raid, 22)\
ENUM(rack_mount, 23)\
ENUM(sealed_case, 24)\
ENUM(multi_system, 25)\
ENUM(compact_pci, 26)\
ENUM(advanced_tca, 27)\
ENUM(blade, 28)\
ENUM(blade_enclosure, 29)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define CoolingDevice_FIELDS
Value:
FIELD(0, Handle, hTemperatureProbe, "")\
FIELD(F_INTERNAL, u8, typeAndStatus, "")\
FIELD(0, u8, group, "")\
FIELD(0, u32, oemDefined, "")\
FIELD(0, u16, nominalSpeed, " rpm")\
FIELD(0, const char*, description, "")\
FIELD(F_DERIVED, CoolingDeviceType, type, "")\
FIELD(F_DERIVED, State, status, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:131
Definition: smbios.h:127
#define CoolingDeviceType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(fan, 3)\
ENUM(centrifugal_blower, 4)\
ENUM(chip_fan, 5)\
ENUM(cabinet_fan, 6)\
ENUM(power_supply_fan, 7)\
ENUM(heat_pipe, 8)\
ENUM(integrated_refrigeration, 9)\
ENUM(active_cooling, 16)\
ENUM(passive_cooling, 17)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ECC_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(none, 3)\
ENUM(parity, 4)\
ENUM(single_bit, 5)\
ENUM(multiple_bit, 6)\
ENUM(crc, 7)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ENUM (   enumerator,
  value 
)    enumerator = value,
#define ENUMERATION (   name,
  type 
)
Value:
struct name\
{\
/* (determines how much data to read from SMBIOS) */\
typedef type T;\
name(): value((Enum)0) {}\
name(size_t num): value((Enum)num) {}\
/* (the existence of this member type indicates the field is an enum) */\
enum Enum { name##_ENUMERATORS sentinel } value;\
/* (allows generic Field comparison against numeric_limits) */\
operator size_t() const { return value; }\
};
#define T(string_literal)
Definition: secure_crt.cpp:76
#define ENUMERATIONS
#define FIELD (   flags,
  type,
  name,
  units 
)    type name;
#define ManagementDevice_FIELDS
Value:
FIELD(0, const char*, description, "")\
FIELD(0, ManagementDeviceType, type, "")\
FIELD(0, u32, address, "")\
FIELD(0, ManagementDeviceAddressType, addressType, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint32_t u32
Definition: types.h:39
#define ManagementDeviceAddressType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(port, 3)\
ENUM(memory, 4)\
ENUM(smbus, 5)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ManagementDeviceComponent_FIELDS
Value:
FIELD(0, const char*, description, "")\
FIELD(0, Handle, hDevice, "")\
FIELD(0, Handle, hComponent, "")\
FIELD(0, Handle, hThreshold, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
#define ManagementDeviceThreshold_FIELDS
Value:
FIELD(0, i16, nonCriticalLo, "")\
FIELD(0, i16, nonCriticalHi, "")\
FIELD(0, i16, criticalLo, "")\
FIELD(0, i16, criticalHi, "")\
FIELD(0, i16, nonrecoverableLo, "")\
FIELD(0, i16, nonrecoverableHi, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
int16_t i16
Definition: types.h:33
#define ManagementDeviceType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(LM75, 3)\
ENUM(LM78, 4)\
ENUM(LM79, 5)\
ENUM(LM80, 6)\
ENUM(LM81, 7)\
ENUM(ADM9240, 8)\
ENUM(DS1780, 9)\
ENUM(M1617, 0xA)\
ENUM(GL518SM, 0xB)\
ENUM(W83781D, 0xC)\
ENUM(HT82H791, 0xD)\
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define MemoryArray_FIELDS
Value:
FIELD(0, MemoryArrayLocation, location, "")\
FIELD(0, MemoryArrayUse, use, "")\
FIELD(0, ECC, ecc, "")\
FIELD(F_INTERNAL, u32, maxCapacity32, "")\
FIELD(0, Handle, hError, "")\
FIELD(0, u16, numDevices, "")\
FIELD(0, Size<u64>, maxCapacity, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint32_t u32
Definition: types.h:39
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:131
The MIT License free of to any person obtaining a copy of this software and associated documentation to deal in the Software without including without limitation the rights to use
Definition: LICENSE.txt:8
#define MemoryArrayLocation_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(motherboard, 3)\
ENUM(isa_addon, 4)\
ENUM(eisa_addon, 5)\
ENUM(pci_addon, 6)\
ENUM(mca_addon, 7)\
ENUM(pcmcia_addon, 8)\
ENUM(proprietary_addon, 9)\
ENUM(nubus, 10)\
ENUM(pc_98_c20, 160)\
ENUM(pc_98_c24, 161)\
ENUM(pc_98_e, 162)\
ENUM(pc_98_local_bus, 163)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define MemoryArrayMappedAddress_FIELDS
Value:
FIELD(F_INTERNAL, u32, startAddress32, "")\
FIELD(F_INTERNAL, u32, endAddress32, "")\
FIELD(0, Handle, hMemoryArray, "")\
FIELD(0, u8, partitionWidth, "")\
FIELD(F_HEX, u64, startAddress, "")\
FIELD(F_HEX, u64, endAddress, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
uint64_t u64
Definition: types.h:40
uint32_t u32
Definition: types.h:39
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:131
Definition: smbios.h:134
#define MemoryArrayUse_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(system, 3)\
ENUM(video, 4)\
ENUM(flash, 5)\
ENUM(nvram, 6)\
ENUM(cache, 7)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define MemoryDevice_FIELDS
Value:
FIELD(0, Handle, hMemoryArray, "")\
FIELD(0, Handle, hError, "")\
FIELD(0, u16, totalWidth, " bits")\
FIELD(0, u16, dataWidth, " bits")\
FIELD(F_INTERNAL, u16, size16, "")\
FIELD(0, MemoryDeviceFormFactor, formFactor, "")\
FIELD(0, u8, deviceSet, "")\
FIELD(0, const char*, locator, "")\
FIELD(0, const char*, bank, "")\
FIELD(0, MemoryDeviceType, type, "")\
FIELD(0, MemoryDeviceTypeFlags, typeFlags, "")\
FIELD(0, u16, speed, " MHz")\
FIELD(0, const char*, manufacturer, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, assetTag, "")\
FIELD(0, const char*, partNumber, "")\
FIELD(F_INTERNAL, u8, attributes, "")\
FIELD(F_INTERNAL, u32, size32, "")\
FIELD(0, u16, configuredSpeed, " MHz")\
FIELD(F_DERIVED, Size<u64>, size, "")\
FIELD(F_DERIVED, u8, rank, "")\
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:131
Definition: smbios.h:127
#define MemoryDeviceFormFactor_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(SIMM, 3)\
ENUM(SIP, 4)\
ENUM(chip, 5)\
ENUM(DIP, 6)\
ENUM(ZIP, 7)\
ENUM(proprietary_card, 8)\
ENUM(DIMM, 9)\
ENUM(TSOP, 10)\
ENUM(row_of_chips, 11)\
ENUM(RIMM, 12)\
ENUM(SODIMM, 13)\
ENUM(SRIMM, 14)\
ENUM(FBDIMM, 15)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define MemoryDeviceMappedAddress_FIELDS
Value:
FIELD(F_INTERNAL, u32, startAddress32, "")\
FIELD(F_INTERNAL, u32, endAddress32, "")\
FIELD(0, Handle, hMemoryDevice, "")\
FIELD(0, Handle, hMemoryArrayMappedAddress, "")\
FIELD(0, u8, partitionRowPosition, "")\
FIELD(0, u8, interleavePosition, "")\
FIELD(0, u8, interleavedDataDepth, "")\
FIELD(F_HEX, u64, startAddress, "")\
FIELD(F_HEX, u64, endAddress, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
uint64_t u64
Definition: types.h:40
uint32_t u32
Definition: types.h:39
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:131
Definition: smbios.h:134
#define MemoryDeviceType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(DRAM, 3)\
ENUM(EDRAM, 4)\
ENUM(VRAM, 5)\
ENUM(SRAM, 6)\
ENUM(RAM, 7)\
ENUM(ROM, 8)\
ENUM(FLASH, 9)\
ENUM(EEPROM, 10)\
ENUM(FEPROM, 11)\
ENUM(EPROM, 12)\
ENUM(CRRAM, 13)\
ENUM(_3DRAM, 14)\
ENUM(SDRAM, 15)\
ENUM(SGRAM, 16)\
ENUM(RDRAM, 17)\
ENUM(DDR, 18)\
ENUM(DDR2, 19)\
ENUM(DDR2_FBDIMM, 20)\
ENUM(DDR3, 24)\
ENUM(FBD2, 25)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define MemoryDeviceTypeFlags_ENUMERATORS
Value:
ENUM(other, 0x0002)\
ENUM(unknown, 0x0004)\
ENUM(fast_paged, 0x0008)\
ENUM(static_column, 0x0010)\
ENUM(pseudo_static, 0x0020)\
ENUM(rambus, 0x0040)\
ENUM(synchronous, 0x0080)\
ENUM(cmos, 0x0100)\
ENUM(edo, 0x0200)\
ENUM(window_dram, 0x0400)\
ENUM(cache_dram, 0x0800)\
ENUM(non_volatile, 0x1000)\
ENUM(buffered, 0x2000)\
ENUM(unbuffered, 0x4000)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define OnboardDevices2_FIELDS
Value:
FIELD(0, const char*, referenceDesignation, "")\
FIELD(0, OnBoardDeviceType, type, "")\
FIELD(0, u8, instance, "")\
FIELD(0, u16, groupNumber, "")\
FIELD(0, u8, busNumber, "")\
FIELD(F_INTERNAL, u8, functionAndDeviceNumber, "")\
FIELD(F_DERIVED, bool, enabled, "")\
FIELD(F_DERIVED, u8, deviceNumber, "")\
FIELD(F_DERIVED, u8, functionNumber, "")\
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
Definition: smbios.h:131
Definition: smbios.h:127
#define OnBoardDevices_FIELDS
Value:
FIELD(0, OnBoardDeviceType, type, "")\
FIELD(0, const char*, description, "")\
FIELD(F_DERIVED, bool, enabled, "")\
/* NB: this structure could contain any number of type/description pairs, but Dell BIOS only provides 1 */
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
Definition: smbios.h:127
#define OnBoardDeviceType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(video, 3)\
ENUM(scsi_controller, 4)\
ENUM(ethernet, 5)\
ENUM(token_ring, 6)\
ENUM(sound, 7)\
ENUM(pata_controller, 8)\
ENUM(sata_controller, 9)\
ENUM(sas_controller, 10)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define PortableBattery_FIELDS
Value:
FIELD(0, const char*, location, "")\
FIELD(0, const char*, manufacturer, "")\
FIELD(0, const char*, date, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, deviceName, "")\
FIELD(0, PortableBatteryChemistry, chemistry, "")\
FIELD(0, u16, capacity, " mWh")\
FIELD(0, u16, voltage, " mV")\
FIELD(0, const char*, sbdsVersion, "")\
FIELD(0, u8, maxError, "%")\
FIELD(0, u16, sbdsSerialNumber, "")\
FIELD(0, u16, sbdsDate, "")\
FIELD(0, const char*, sbdsChemistry, "")\
FIELD(0, u8, capacityMultiplier, "")\
FIELD(0, u32, oemSpecific, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
#define PortableBatteryChemistry_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(lead_acid, 3)\
ENUM(nickel_cadmium, 4)\
ENUM(nickel_metal_hydride, 5)\
ENUM(lithium_ion, 6)\
ENUM(zinc_air, 7)\
ENUM(lithium_polymer, 8)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define PortConnector_FIELDS
Value:
FIELD(0, const char*, internalDesignator, "")\
FIELD(0, PortConnectorType, internalConnectorType, "")\
FIELD(0, const char*, externalDesignator, "")\
FIELD(0, PortConnectorType, externalConnectorType, "")\
FIELD(0, PortType, portType, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
#define PortConnectorType_ENUMERATORS
#define PortType_ENUMERATORS
#define Processor_FIELDS
Value:
FIELD(0, const char*, socket, "")\
FIELD(0, ProcessorType, type, "")\
FIELD(0, u8, family, "") /* we don't bother providing enumerators for > 200 families */\
FIELD(0, const char*, manufacturer, "")\
FIELD(F_HEX, u64, id, "")\
FIELD(0, const char*, version, "")\
FIELD(0, u8, voltage, " dV")\
FIELD(0, u16, externalClockFrequency, " MHz")\
FIELD(0, u16, maxFrequency, " MHz")\
FIELD(0, u16, bootFrequency, " MHz")\
FIELD(0, ProcessorStatus, status, "")\
FIELD(0, ProcessorUpgrade, upgrade, "")\
FIELD(0, Handle, hL1, "")\
FIELD(0, Handle, hL2, "")\
FIELD(0, Handle, hL3, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, assetTag, "")\
FIELD(0, const char*, partNumber, "")\
FIELD(0, u8, coresPerPackage, "")\
FIELD(0, u8, enabledCores, "")\
FIELD(0, u8, logicalPerPackage, "")\
FIELD(0, ProcessorFlags, flags, "")\
FIELD(0, u16, family2, "")\
FIELD(F_DERIVED, bool, populated, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
Definition: mongoose.cpp:434
static size_t family
Definition: x86_x64.cpp:222
uint8_t u8
Definition: types.h:37
uint64_t u64
Definition: types.h:40
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
Definition: smbios.h:134
Definition: smbios.h:127
#define ProcessorFlags_ENUMERATORS
Value:
ENUM(unknown, 0x2)\
ENUM(x64, 0x4)\
ENUM(multi_core, 0x8)/* indicates cores are present, but they might be disabled*/\
ENUM(ht, 0x10)\
ENUM(execute_protection, 0x20)\
ENUM(enhanced_virtualization, 0x40)\
ENUM(power_control, 0x80)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ProcessorStatus_ENUMERATORS
Value:
ENUM(unknown, 0)\
ENUM(other, 7)\
ENUM(enabled, 1)\
ENUM(user_disabled, 2)\
ENUM(post_disabled, 3)\
ENUM(idle, 4)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ProcessorType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(CPU, 3)\
ENUM(FPU, 4)\
ENUM(DSP, 5)\
ENUM(GPU, 6)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define ProcessorUpgrade_ENUMERATORS
#define State_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(ok, 3)\
ENUM(noncritical, 4)\
ENUM(critical, 5)\
ENUM(nonrecoverable, 6)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define STRUCTURE (   name,
  id 
)
Value:
struct name\
{\
/* (allows searching for a structure with a given handle) */\
Header header;\
/* (defines a linked list of instances of this structure type) */\
name* next;\
name##_FIELDS\
};
#define STRUCTURE (   name,
  id 
)    name* name##_;
#define STRUCTURES
Value:
STRUCTURE(Bios, 0)\
STRUCTURE(System, 1)\
STRUCTURE(Baseboard, 2)\
STRUCTURE(Chassis, 3)\
STRUCTURE(Processor, 4)\
/* MemoryController (5) and MemoryModule (6) are obsolete */\
STRUCTURE(PortConnector, 8)\
STRUCTURE(SystemSlot, 9)\
STRUCTURE(OnBoardDevices, 10)\
/* OemStrings (11), SystemConfiguration (12), BiosLanguage (13), GroupAssociations (14), SystemEventLog (15) are optional */\
STRUCTURE(MemoryArray, 16)\
STRUCTURE(MemoryDevice, 17)\
/* MemoryError32 (18) is optional */\
STRUCTURE(MemoryArrayMappedAddress, 19)\
STRUCTURE(MemoryDeviceMappedAddress, 20)\
/* PointingDevice (21) is optional */\
STRUCTURE(PortableBattery, 22)\
/* SystemReset (23), HardwareSecurity (24), SystemPowerControls (25) are optional */\
STRUCTURE(VoltageProbe, 26)\
STRUCTURE(CoolingDevice, 27)\
STRUCTURE(TemperatureProbe, 28)\
/* ElectricalCurrentProbe (29), OutOfBandRemoteAccess (30), BootIntegrityServices (31) are optional */\
STRUCTURE(SystemBoot, 32)\
STRUCTURE(ManagementDevice, 34)\
STRUCTURE(ManagementDeviceComponent, 35)\
STRUCTURE(ManagementDeviceThreshold, 36)\
STRUCTURE(SystemPowerSupply, 39)\
STRUCTURE(OnboardDevices2, 41)\
/* MemoryError64 (33), MemoryChannel (37), IpmiDevice (38) are optional */
Definition: cache_adt.h:657
#define STRUCTURE(name, id)
Definition: smbios.h:1204
#define System_FIELDS
Value:
FIELD(0, const char*, manufacturer, "")\
FIELD(0, const char*, productName, "")\
FIELD(0, const char*, version, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(F_HEX, u64, uuid0, "")\
FIELD(F_HEX, u64, uuid1, "")\
FIELD(0, SystemWakeUpType, wakeUpType, "")\
FIELD(0, const char*, skuNumber, "")\
FIELD(0, const char*, family, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
static size_t family
Definition: x86_x64.cpp:222
uint64_t u64
Definition: types.h:40
Definition: smbios.h:134
#define SystemBoot_FIELDS
Value:
FIELD(F_INTERNAL, u32, reserved32, "")\
FIELD(F_INTERNAL, u16, reserved16, "")\
FIELD(0, SystemBootStatus, status, "")\
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint32_t u32
Definition: types.h:39
Definition: smbios.h:131
#define SystemBootStatus_ENUMERATORS
Value:
ENUM(no_error, 0)\
ENUM(no_bootable_media, 1)\
ENUM(os_load_failed, 2)\
ENUM(hardware_failure_firmware, 3)\
ENUM(hardware_failure_os, 4)\
ENUM(user_requested_boot, 5)\
ENUM(security_violation, 6)\
ENUM(previously_requested_image, 7)\
ENUM(watchdog_expired, 8)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemPowerSupply_FIELDS
Value:
FIELD(0, u8, group, "")\
FIELD(0, const char*, location, "")\
FIELD(0, const char*, deviceName, "")\
FIELD(0, const char*, manufacturer, "")\
FIELD(0, const char*, serialNumber, "")\
FIELD(0, const char*, assetTag, "")\
FIELD(0, const char*, partNumber, "")\
FIELD(0, const char*, revisionLevel, "")\
FIELD(0, i16, maxPower, " mW")\
FIELD(0, SystemPowerSupplyCharacteristics, characteristics, "")\
FIELD(0, Handle, hVoltageProbe, "")\
FIELD(0, Handle, hCoolingDevice, "")\
FIELD(0, Handle, hCurrentProbe, "")\
FIELD(F_DERIVED, SystemPowerSupplyType, type, "")\
FIELD(F_DERIVED, State, status, "")\
FIELD(F_DERIVED, SystemPowerSupplyInputSwitching, inputSwitching, "")\
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
i64 Handle
`handle&#39; representing a reference to a resource (sound, texture, etc.)
Definition: handle.h:41
int16_t i16
Definition: types.h:33
Definition: smbios.h:127
#define SystemPowerSupplyCharacteristics_ENUMERATORS
Value:
ENUM(hot_replaceable, 1)\
ENUM(present, 2)\
ENUM(unplugged, 4)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemPowerSupplyInputSwitching_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(manual, 3)\
ENUM(auto_switch, 4)\
ENUM(wide_range, 5)\
ENUM(none, 6)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemPowerSupplyType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(linear, 3)\
ENUM(switching, 4)\
ENUM(battery, 5)\
ENUM(ups, 6)\
ENUM(converter, 7)\
ENUM(regulator, 8)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemSlot_FIELDS
Value:
FIELD(0, const char*, designation, "")\
FIELD(0, SystemSlotType, type, "")\
FIELD(0, SystemSlotBusWidth, busWidth, "")\
FIELD(0, SystemSlotUsage, usage, "")\
FIELD(0, SystemSlotLength, length, "")\
FIELD(0, u16, id, "")\
FIELD(0, SystemSlotFlags1, flags1, "")\
FIELD(0, SystemSlotFlags2, flags2, "")\
FIELD(0, u16, segmentGroupNumber, "")\
FIELD(0, u8, busNumber, "")\
FIELD(F_INTERNAL, u8, functionAndDeviceNumber, "")\
FIELD(F_DERIVED, u8, deviceNumber, "")\
FIELD(F_DERIVED, u8, functionNumber, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint16_t u16
Definition: types.h:38
uint8_t u8
Definition: types.h:37
Definition: smbios.h:131
Definition: smbios.h:127
#define SystemSlotBusWidth_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(_32, 5)\
ENUM(_64, 6)\
ENUM(_128, 7)\
ENUM(x1, 8)\
ENUM(x2, 9)\
ENUM(x4, 10)\
ENUM(x8, 11)\
ENUM(x12, 12)\
ENUM(x16, 13)\
ENUM(x32, 14)
const Status _16
Definition: status.h:455
#define ENUM(enumerator, value)
Definition: smbios.h:1168
const Status _8
Definition: status.h:448
#define SystemSlotFlags1_ENUMERATORS
Value:
ENUM(unknown, 0x1)\
ENUM(v5, 0x2)\
ENUM(v3_3, 0x4)\
ENUM(shared, 0x8)\
ENUM(pc_card_16, 0x10)\
ENUM(pc_cardbus, 0x20)\
ENUM(pc_zoom_video, 0x40)\
ENUM(pc_modem_ring_resume, 0x80)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemSlotFlags2_ENUMERATORS
Value:
ENUM(pme, 0x1)\
ENUM(hot_plug, 0x2)\
ENUM(smbus, 0x4)\
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemSlotLength_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(_short, 3)\
ENUM(_long, 4)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemSlotType_ENUMERATORS
#define SystemSlotUsage_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(available, 3)\
ENUM(in_use, 4)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define SystemWakeUpType_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(apm_timer, 3)\
ENUM(modem_ring, 4)\
ENUM(lan_remote, 5)\
ENUM(power_switch, 6)\
ENUM(pci_pme, 7)\
ENUM(ac_power_restored, 8)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define TemperatureProbe_FIELDS
Value:
FIELD(0, const char*, description, "")\
FIELD(F_INTERNAL, u8, locationAndStatus, "")\
FIELD(0, i16, maxValue, " dDegC")\
FIELD(0, i16, minValue, " dDegC")\
FIELD(0, i16, resolution, " mDegC")\
FIELD(0, i16, tolerance, " dDegC")\
FIELD(0, i16, accuracy, " x 0.01%")\
FIELD(0, u32, oemDefined, "")\
FIELD(0, i16, nominalValue, " dDegC")\
FIELD(F_DERIVED, TemperatureProbeLocation, location, "")\
FIELD(F_DERIVED, State, status, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
Definition: smbios.h:131
static double resolution
Definition: whrt.cpp:99
int16_t i16
Definition: types.h:33
Definition: smbios.h:127
#define TemperatureProbeLocation_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(processor, 3)\
ENUM(disk, 4)\
ENUM(peripheral_bay, 5)\
ENUM(system_management_module, 6)\
ENUM(motherboard, 7)\
ENUM(memory_module, 8)\
ENUM(processor_module, 9)\
ENUM(power_unit, 10)\
ENUM(add_in_card, 11)\
ENUM(front_panel_board, 12)\
ENUM(back_panel_board, 13)\
ENUM(power_system_board, 14)\
ENUM(drive_backplane, 15)
#define ENUM(enumerator, value)
Definition: smbios.h:1168
#define VoltageProbe_FIELDS
Value:
FIELD(0, const char*, description, "")\
FIELD(F_INTERNAL, u8, locationAndStatus, "")\
FIELD(0, i16, maxValue, " mV")\
FIELD(0, i16, minValue, " mV")\
FIELD(0, i16, resolution, " x 0.1 mV")\
FIELD(0, i16, tolerance, " mV")\
FIELD(0, i16, accuracy, " x 0.01%")\
FIELD(0, u32, oemDefined, "")\
FIELD(0, i16, nominalValue, " mv")\
FIELD(F_DERIVED, VoltageProbeLocation, location, "")\
FIELD(F_DERIVED, State, status, "")
#define FIELD(flags, type, name, units)
Definition: smbios.h:1187
uint8_t u8
Definition: types.h:37
uint32_t u32
Definition: types.h:39
Definition: smbios.h:131
static double resolution
Definition: whrt.cpp:99
int16_t i16
Definition: types.h:33
Definition: smbios.h:127
#define VoltageProbeLocation_ENUMERATORS
Value:
ENUM(other, 1)\
ENUM(unknown, 2)\
ENUM(processor, 3)\
ENUM(disk, 4)\
ENUM(peripheral_bay, 5)\
ENUM(system_management_module, 6)\
ENUM(motherboard, 7)\
ENUM(memory_module, 8)\
ENUM(processor_module, 9)\
ENUM(power_unit, 10)\
ENUM(add_in_card, 11)
#define ENUM(enumerator, value)
Definition: smbios.h:1168