Crate smbioslib

Source
Expand description

SMBIOS Library

Implements the DMTF System Management BIOS (SMBIOS) Reference Specification 3.5.0.

This library focuses on the tasks involved with reading and interpreting BIOS data.

Modules§

fmt
Utilities for formatting and printing Strings.
fs
Filesystem manipulation operations.
io
Traits, helpers, and type definitions for core I/O functionality.
strings
SMBIOS String module

Structs§

AccessMethodData
System Event Log - Access Method Data
AdditionalInformationEntry
Additional Information Entry contained within SMBiosAdditionalInformation
AdditionalInformationEntryIterator
Iterates over the AdditionalInformationEntry entries contained within SMBiosAdditionalInformation
AssociatedComponentHandleIterator
Associated Component Handle Iterator
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
FirmwareIdFormatData
Firmware Id Format Data of SMBiosFirmwareInventoryInformation.
FirmwareInventoryCharacteristics
Firmware Inventory Characteristics of SMBiosFirmwareInventoryInformation
FirmwareInventoryStateInformationData
Firmware Inventory State Information Data of SMBiosFirmwareInventoryInformation.
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
SMBiosFirmwareInventoryInformation
Firmware Inventory Information (Type 45)
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)
SMBiosString
SMBiosString
SMBiosStringProperty
String Property (Type 46)
SMBiosStringSet
SMBIOS String-Set
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
SlotHeightData
Slot Height 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
StringPropertyIdData
String Property Id Data of SMBiosStringProperty.
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
SystemSlotId
System Slots - Slot Id
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
VersionFormatData
Version Format Data of SMBiosFirmwareInventoryInformation.
VoltageProbeLocationAndStatus
Voltage Probe Location and Status
WinSMBiosData
Raw SMBIOS Data

Enums§

AccessMethod
System Event Log - Access Method
AddressBit
LS-Bit for Addresses
AgpSlotWidth
The slot width of an AGP slot specified in the SystemSlotType
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)
CacheMemorySize
Maximum memory capacity, in kilobytes, for this cache item
CacheOperationalMode
System Cache Operational Mode
ChassisHeight
Chassis Height
ChassisLockPresence
Chassis Lock Presence
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
CurrentProbeAccuracy
Current Probe Accuracy
CurrentProbeLocation
Electrical Current Probe Location
CurrentProbeResolution
Current Probe Resolution
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
FirmwareIdFormat
Firmware Id Format of SMBiosFirmwareInventoryInformation
FirmwareImageSize
Size of Image in Bytes
FirmwareInventoryStateInformation
Firmware Inventory State Information of SMBiosFirmwareInventoryInformation
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
M2SlotType
An M.2 SlotType
MXMSlotType
An MXM SlotType
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
MemorySizeExtended
Extended Size of Memory
MemorySpeed
Speed of Memory
MemorySpeedExtended
Extended Speed of Memory
PciExpressGeneration
The generation of PciExpress used by the slot.
PciExpressSlotWidth
The slot width of a PCI Express slot specified in the SystemSlotType
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
ProbeAmperage
Probe Amperage
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
RomSize
BIOS ROM size
RotationalSpeed
Rotational Speed
SMBiosStringError
SMBiosStringError
SegmentGroupNumber
Segment Group Number
SlotCurrentUsage
System Slot Current Usage
SlotHeight
Slot Height
SlotLength
System Slot Length
SlotWidth
Slot Width
StringPropertyId
String Property Id of SMBiosStringProperty
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
ThreadEnabled
Thread Enabled
Timeout
Timeout
TimerInterval
Timer Interval
TypeOfDevice
Onboard Device Types
VariableDataFormatType
System Event Log - Variable Data Format Type
VersionFormat
Version Format of SMBiosFirmwareInventoryInformation
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 self, which may or may not be expensive.

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)