Crate smbioslib[−][src]
SMBIOS Library
Implements the DMTF System Management BIOS (SMBIOS) Reference Specification 3.4.0.
This library focuses on the tasks involved with reading and interpreting BIOS data.
Modules
fmt | Utilities for formatting and printing |
fs | Filesystem manipulation operations. |
io | Traits, helpers, and type definitions for core I/O functionality. |
Structs
AccessMethodData | System Event Log - Access Method Data |
AdditionalInformationEntry | Additional Information Entry contained within SMBiosAdditionalInformation |
AdditionalInformationEntryIterator | Iterates over the AdditionalInformationEntry entries contained within SMBiosAdditionalInformation |
BaseAddressModifier | Electrical Current Probe Location and Status |
BaseboardFeatures | Baseboard Features |
BiosCharacteristics | BIOS Characteristics |
BiosCharacteristicsExtension0 | BIOS Characteristics Extension Byte 0 |
BiosCharacteristicsExtension1 | BIOS Characteristics Extension Byte 1 |
BiosLanguageFlags | BIOS Language Flags |
BoardTypeData | Board Type Data |
CacheAssociativityData | Cache Associativity Data |
CacheConfiguaration | System Cache Configuration |
ChassisElement | Contained Chassis Element |
ChassisSecurityStatusData | Chassis Security Status Data |
ChassisStateData | Chassis State Data |
ChassisTypeData | Chassis Type Data |
Connections | Connections |
ContainedElements | Contained Elements |
ContainedElementsIterator | Iterates over the ChassisElement entries within ContainedElements |
CoolingDeviceTypeAndStatus | Cooling Device Type and Status |
CurrentProbeLocationAndStatus | Electrical Current Probe Location and Status |
DefinedStructTable | Defined Struct Table |
ErrorCapabilitiesIterator | Memory Module Error Correcting Capabilities Iterator |
ErrorCorrectingCapabilities | Memory Controller Error Correcting Capability |
ErrorCorrectionTypeData | System Cache Error Correction Type Data |
ErrorDetectingMethodData | Memory Controller Error Detecting Method Data |
EventLogTypeDescriptor | System Event Log Type Descriptor |
GroupAssociationItem | Group Association Item contained within SMBiosGroupAssociations |
GroupAssociationItemIterator | Iterates over the GroupAssociationItem entries contained within SMBiosGroupAssociations |
Handle | Structure Handle |
HardwareSecuritySettings | Hardware Security Settings |
Header | SMBIOS Header |
HeaderFormatData | System Event Log - Header Format Data |
HostInterfaceTypeData | Management Controller Host Interface Type Data |
HostProtocolTypeData | Management Controller Host Interface - Protocol Types Data |
InterleaveSupportData | Memory Controller Information — Interleave Support Data |
IpmiInterfaceTypeData | Baseboard Management Controller (BMC) interface type data |
LoadHandlePair | Load/Handle Pair contained within SMBiosMemoryChannel |
LoadHandlePairIterator | Iterates over the LoadHandlePair entries contained within SMBiosMemoryChannel |
LogStatus | System Event Log - Log Status |
LogTypeData | System Event Log - Log Type Data |
ManagementDeviceAddressTypeData | Management Device — Address Type Data |
ManagementDeviceTypeData | Management Device - Type Data |
MemoryArrayErrorCorrectionData | Memory Array - Error Correction Types Data |
MemoryArrayLocationData | Memory Array - Location Data |
MemoryArrayUseData | Memory Array - Use Data |
MemoryChannelTypeData | Memory Channel — Channel Type Data |
MemoryDeviceTechnologyData | Memory Device — Memory Technology Data |
MemoryDeviceTypeData | Memory Device - Type Data |
MemoryErrorGranularityData | Memory Error - Error Granularity Data |
MemoryErrorOperationData | Memory Error - Error Operation Data |
MemoryErrorTypeData | Memory Error - Error Type Data |
MemoryFormFactorData | Memory Device — Form Factor Data |
MemoryOperatingModeCapabilities | Memory Device — Memory Operating Mode Capability |
MemorySpeeds | Memory Controller Information — Memory Speeds |
MemoryTypeDetails | Memory Device — Type Detail |
MemoryTypes | Memory Module Information: Memory Types |
ModuleHandleIterator | Memory Module Handle Iterator |
ModuleVoltage | Memory Module Voltage |
ObjectHandleIterator | Object Handle Iterator |
OnBoardDevice | On Board Device entry within SMBiosOnBoardDeviceInformation |
OnBoardDeviceIterator | On-board Device Itereator for OnBoardDevices contained within SMBiosOnBoardDeviceInformation |
OnBoardDeviceType | On Board Device Type |
PointingDeviceInterfaceData | Built-in Pointing Device Interface Data |
PointingDeviceTypeData | Built-in Pointing Device Type Data |
PortInformationConnectorTypeData | Port Information - Connector Types Data |
PortInformationPortTypeData | Port Types Data |
PortableBatteryDeviceChemistryData | Portable Battery - Device Chemistry Data |
PowerSupplyCharacteristics | Power Supply Characteristics |
ProcessorArchitectureTypeData | Processor Architecture Types Data |
ProcessorCharacteristics | Processor Characteristics |
ProcessorFamilyData | Processor Family Data |
ProcessorFamilyData2 | Processor Family Data #2 |
ProcessorSpecificBlock | Processor Specific Block contained within SMBiosProcessorAdditionalInformation |
ProcessorStatus | Processor Socket and CPU Status |
ProcessorSupportedVoltages | Processor Supported Voltages |
ProcessorTypeData | Processor Type Data |
ProcessorUpgradeData | |
ProtocolRecord | Protocol Record Data contained within SMBiosManagementControllerHostInterface |
ProtocolRecordIterator | Iterates over the ProtocolRecord entries contained within SMBiosManagementControllerHostInterface |
SMBiosAdditionalInformation | Additional Information (Type 40) |
SMBiosBaseboardInformation | Baseboard (or Module) Information (Type 2) |
SMBiosBiosLanguageInformation | BIOS Language Information (Type 13) |
SMBiosBisEntryPoint | Boot Integrity Services (BIS) (Type 31) |
SMBiosBuiltInPointingDevice | Built-in Pointing Device (Type 21) |
SMBiosCacheInformation | Cache Information (Type 7) |
SMBiosCoolingDevice | Cooling Device (Type 27) |
SMBiosData | SMBIOS Data |
SMBiosElectricalCurrentProbe | Electrical Current Probe (Type 29) |
SMBiosEndOfTable | End-of-Table (Type 127) |
SMBiosEntryPoint32 | SMBIOS 2.1 (32 bit) Entry Point structure |
SMBiosEntryPoint64 | SMBIOS 3.0 (64 bit) Entry Point structure |
SMBiosGroupAssociations | Group Associations (Type 14) |
SMBiosHardwareSecurity | Hardware Security (Type 24) |
SMBiosInactive | Inactive (Type 126) |
SMBiosInformation | BIOS Information (Type 0) |
SMBiosIpmiDeviceInformation | IPMI Device Information (Type 38) |
SMBiosManagementControllerHostInterface | Management Controller Host Interface (Type 42) |
SMBiosManagementDevice | Management Device (Type 34) |
SMBiosManagementDeviceComponent | Management Device Component (Type 35) |
SMBiosManagementDeviceThresholdData | Management Device Threshold Data (Type 36) |
SMBiosMemoryArrayMappedAddress | Memory Array Mapped Address (Type 19) |
SMBiosMemoryChannel | Memory Channel (Type 37) |
SMBiosMemoryControllerInformation | Memory Controller Information (Type 5, Obsolete) |
SMBiosMemoryDevice | Memory Device (Type 17) |
SMBiosMemoryDeviceMappedAddress | Memory Device Mapped Address (Type 20) |
SMBiosMemoryErrorInformation32 | 32-Bit Memory Error Information (Type 18) |
SMBiosMemoryErrorInformation64 | 64-Bit Memory Error Information (Type 33) |
SMBiosMemoryModuleInformation | Memory Module Information (Type 6, Obsolete) |
SMBiosOemStrings | OEM Strings (Type 11) |
SMBiosOnBoardDeviceInformation | On Board Devices Information (Type 10, Obsolete) |
SMBiosOnboardDevicesExtendedInformation | Onboard Devices Extended Information (Type 41) |
SMBiosOutOfBandRemoteAccess | Out-of-Band Remote Access (Type 30) |
SMBiosPhysicalMemoryArray | Physical Memory Array (Type 16) |
SMBiosPortConnectorInformation | Port Connector Information (Type 8) |
SMBiosPortableBattery | Portable Battery (Type 22) |
SMBiosProcessorAdditionalInformation | Processor Additional Information (Type 44) |
SMBiosProcessorInformation | Processor Information (Type 4) |
SMBiosSystemBootInformation | System Boot Information (Type 32) |
SMBiosSystemChassisInformation | System Enclosure or Chassis (Type 3) |
SMBiosSystemConfigurationOptions | System Configuration Options (Type 12) |
SMBiosSystemEventLog | System Event Log (Type 15) |
SMBiosSystemInformation | System Information (Type 1) |
SMBiosSystemPowerControls | System Power Controls (Type 25) |
SMBiosSystemPowerSupply | System Power Supply (Type 39) |
SMBiosSystemReset | System Reset (Type 23) |
SMBiosSystemSlot | System Slots (Type 9) |
SMBiosTemperatureProbe | Temperature Probe (Type 28) |
SMBiosTpmDevice | TPM Device (Type 43) |
SMBiosType | SMBIOS Structure Type |
SMBiosUnknown | OEM or Unknown Structure |
SMBiosVersion | Version of SMBIOS Structure |
SMBiosVoltageProbe | Voltage Probe (Type 26) |
SlotCurrentUsageData | System Slot Current Usage Data |
SlotLengthData | System Slot Current Usage Data |
SlotPeerGroup | Slot Peer Group entry within SMBiosSystemSlot |
SlotPeerGroupIterator | On-board Device Itereator for SlotPeerGroups contained within SMBiosSystemSlot |
SlotWidthData | Data Bus Width Data |
SramTypes | System Cache SRAM Types |
Strings | SMBIOS Strings |
SystemBootStatusData | Boot Status data of SMBiosSystemBootInformation |
SystemCacheTypeData | System Cache Type Data |
SystemResetCapabilities | System Reset Capabilities |
SystemSlotCharacteristics1 | System Slot Characteristics 1 |
SystemSlotCharacteristics2 | System Slot Characteristics 2 |
SystemSlotTypeData | System Slot Type Data |
SystemUuid | System - UUID |
SystemWakeUpTypeData | System - Wake-up Type Data |
TemperatureProbeLocationAndStatus | Temperature Probe Location and Status |
TpmDeviceCharacteristics | TPM Device Characteristics |
TypeDescriptors | System Event Log Type Descriptors within SMBiosSystemEventLog |
TypeDescriptorsIterator | Iterates over the EventLogTypeDescriptor entries within TypeDescriptors |
UndefinedStruct | Embodies the three basic parts of an SMBIOS structure |
UndefinedStructTable | Undefined Struct Table |
VariableDataFormatTypeData | System Event Log - Variable Data Format Type Data |
VendorId | Vendor Id |
VoltageProbeLocationAndStatus | Voltage Probe Location and Status |
WinSMBiosData | Raw SMBIOS Data |
Enums
AccessMethod | System Event Log - Access Method |
AddressBit | LS-Bit for Addresses |
BoardType | Board Type |
BootOption | Boot Option |
BootOptionOnLimit | Boot Option on Limit |
BusNumber | Bus Number |
CacheAssociativity | Cache Associativity |
CacheLocation | System Cache Location (relative to the CPU module) |
CacheOperationalMode | System Cache Operational Mode |
ChassisHeight | Chassis Height |
ChassisSecurityStatus | Chassis Security Status |
ChassisState | Chassis Statue |
ChassisType | Chassis Type |
CoolingDeviceStatus | Cooling Device Status |
CoolingDeviceType | Cooling Device Type |
CoreCount | Processor Core Count |
CoreCount2 | Processor Core Count #2 |
CoresEnabled | Processor Cores Enabled |
CoresEnabled2 | Processor Cores Enabled #2 |
CpuStatus | CPU Status |
CurrentProbeLocation | Electrical Current Probe Location |
CurrentProbeStatus | Electrical Current Probe Status |
DefinedStruct | SMBIOS Standard Defined Structure |
DeviceFunctionNumber | Device/Function Number |
DeviceStatus | Enabled/Disabled Device Status |
ElementMaximum | Contained Element Maximum |
ElementMinimum | Contained Element Minimum |
ElementType | Contained Element Type |
ErrorCorrectionType | System Cache Error Correction Type |
ErrorDetectingMethod | Memory Controller Error Detecting Method |
ExtendedRomSize | Extended BIOS ROM size |
HardwareSecurityStatus | Hardware Security Status |
HeaderFormat | System Event Log - Header Format |
HostInterfaceType | Management Controller Host Interface Types |
HostProtocolType | Management Controller Host Interface - Protocol Types |
InputVoltageRangeSwitching | DMTF Input Voltage Range Switching |
InterleaveSupport | Memory Controller Information — Interleave Support |
InterruptInfo | Interrupt Info |
InterruptPolarity | Interrupt Polarity |
InterruptTriggerMode | Interrupt Trigger Mode |
IpmiInterfaceType | Baseboard Management Controller (BMC) interface type |
LanguageFormat | Language Format |
LogType | System Event Log - Log Type |
ManagementDeviceAddressType | Management Device — Address Type |
ManagementDeviceType | Management Device - Type |
MaxPowerCapacity | Max Power Capacity |
MaximumMemoryCapacity | Maximum memory capacity, in kilobytes, for this array |
MemoryArrayErrorCorrection | Memory Array - Error Correction Types |
MemoryArrayLocation | Memory Array - Location |
MemoryArrayUse | Memory Array - Use |
MemoryChannelType | Memory Channel — Channel Type |
MemoryDeviceTechnology | Memory Device — Memory Technology |
MemoryDeviceType | Memory Device -Type |
MemoryErrorGranularity | Memory Error - Error Granularity |
MemoryErrorOperation | Memory Error - Error Operation |
MemoryErrorType | Memory Error - Error Type |
MemoryFormFactor | Memory Device — Form Factor |
MemoryIndicatedSize | Size of Memory in Bytes |
MemorySize | Size of Memory |
MemorySpeed | Speed of Memory |
PointingDeviceInterface | Built-in Pointing Device Interface |
PointingDeviceType | Built-in Pointing Device Type |
PortInformationConnectorType | Port Information - Connector Types |
PortInformationPortType | Port Types |
PortableBatteryDesignCapacity | Portable Battery - Design Capacity |
PortableBatteryDesignVoltage | Portable Battery - Design Voltage |
PortableBatteryDeviceChemistry | Portable Battery - Device Chemistry |
PowerCords | Number of Power Cords |
PowerSupplyStatus | Power Supply Status |
PowerSupplyType | DMTF Power Supply Type |
ProbeTemperature | Probe Temperature |
ProbeVoltage | Probe Voltage |
ProcessorArchitectureType | Processor Architecture Types |
ProcessorExternalClock | External Clock Frequency in MHz |
ProcessorFamily | Processor Family |
ProcessorSpeed | Processor Speed in MHz |
ProcessorType | Processor Type |
ProcessorUpgrade | |
ProcessorVoltage | Processor Voltage |
RegisterSpacing | Register Spacing |
ResetCount | Reset Count |
ResetLimit | Reset Limit |
SegmentGroupNumber | Segment Group Number |
SlotCurrentUsage | System Slot Current Usage |
SlotLength | System Slot Length |
SlotWidth | Slot Width |
SystemBootStatus | System Boot Status |
SystemCacheType | System Cache Type |
SystemSlotType | System Slot Type |
SystemUuidData | System - UUID Data |
SystemWakeUpType | System - Wake-up Type |
TemperatureProbeAccuracy | Temperature Probe Accuracy |
TemperatureProbeLocation | Temperature Probe Location |
TemperatureProbeResolution | Temperature Probe Resolution |
TemperatureProbeStatus | Temperature Probe Status |
ThreadCount | Processor Thread Count |
ThreadCount2 | Processor Thread Count #2 |
Timeout | Timeout |
TimerInterval | Timer Interval |
TypeOfDevice | Onboard Device Types |
VariableDataFormatType | System Event Log - Variable Data Format Type |
VoltageProbeAccuracy | Voltage Probe Accuracy |
VoltageProbeLocation | Voltage Probe Location |
VoltageProbeResolution | Voltage Probe Resolution |
VoltageProbeStatus | Voltage Probe Status |
Constants
DEV_MEM_FILE | Full path to the memory device (contains BIOS entry point and table data on *nix platforms) |
SYS_ENTRY_FILE | Full path to smbios_entry_point file on Linux (contains entry point data) |
SYS_TABLE_FILE | Full path to the DMI file on Linux (contains BIOS table data) |
Traits
SMBiosStruct | SMBIOS Structure |
TryInto | An attempted conversion that consumes |
Functions
dump_raw | dumps raw data into a file |
load_raw_files | Loads raw smbios data files from a given folder and returns Vec |
load_smbios_data_from_file | Loads raw smbios data from a file and returns SMBiosData or std::io::Error on error. |
raw_smbios_from_device | Returns smbios raw data via /sys/firmware/dmi/tables (on Linux) |
table_load_from_device | Loads SMBiosData from the device via /sys/firmware/dmi/tables (on Linux) |