Pyrogenesis  trunk
Classes | Typedefs | Enumerations | Functions | Variables
SMBIOS Namespace Reference

Classes

class  FieldInitializer
 
class  FieldStringizer
 
struct  Handle
 
struct  Header
 
struct  Size
 
struct  Structures
 

Typedefs

typedef std::vector< const char * > Strings
 

Enumerations

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

Functions

static Strings ExtractStrings (const Header *header, const char *end, const Header *&next)
 
static void Cleanup ()
 
template<class Structure >
void Fixup (Structure &structure)
 
template<>
void Fixup< Bios > (Bios &p)
 
template<>
void Fixup< Processor > (Processor &p)
 
template<>
void Fixup< Cache > (Cache &p)
 
template<>
void Fixup< SystemSlot > (SystemSlot &p)
 
template<>
void Fixup< OnBoardDevices > (OnBoardDevices &p)
 
template<>
void Fixup< MemoryArray > (MemoryArray &p)
 
template<>
void Fixup< MemoryDevice > (MemoryDevice &p)
 
template<>
void Fixup< MemoryArrayMappedAddress > (MemoryArrayMappedAddress &p)
 
template<>
void Fixup< MemoryDeviceMappedAddress > (MemoryDeviceMappedAddress &p)
 
template<>
void Fixup< VoltageProbe > (VoltageProbe &p)
 
template<>
void Fixup< CoolingDevice > (CoolingDevice &p)
 
template<>
void Fixup< TemperatureProbe > (TemperatureProbe &p)
 
template<>
void Fixup< SystemPowerSupply > (SystemPowerSupply &p)
 
template<>
void Fixup< OnboardDevices2 > (OnboardDevices2 &p)
 
template<class Structure >
void AddStructure (const Header *header, const Strings &strings, Structure *&listHead)
 
static Status InitStructures ()
 
template<class Enum >
std::string StringFromEnum (Enum field)
 
const StructuresGetStructures ()
 
template<class Structure >
void StringizeStructure (const char *name, Structure *p, std::stringstream &ss)
 
std::string StringizeStructures (const Structures *)
 

Variables

static char * stringStorage
 
static char * stringStoragePos
 
static Structures g_Structures
 

Typedef Documentation

◆ Strings

typedef std::vector<const char*> SMBIOS::Strings

Enumeration Type Documentation

◆ FieldFlags

Enumerator
F_DERIVED 
F_INTERNAL 
F_HEX 

Function Documentation

◆ AddStructure()

template<class Structure >
void SMBIOS::AddStructure ( const Header header,
const Strings strings,
Structure *&  listHead 
)

◆ Cleanup()

static void SMBIOS::Cleanup ( )
static

◆ ExtractStrings()

static Strings SMBIOS::ExtractStrings ( const Header header,
const char *  end,
const Header *&  next 
)
static

◆ Fixup()

template<class Structure >
void SMBIOS::Fixup ( Structure &  structure)

◆ Fixup< Bios >()

template<>
void SMBIOS::Fixup< Bios > ( Bios &  p)

◆ Fixup< Cache >()

template<>
void SMBIOS::Fixup< Cache > ( Cache p)

◆ Fixup< CoolingDevice >()

template<>
void SMBIOS::Fixup< CoolingDevice > ( CoolingDevice &  p)

◆ Fixup< MemoryArray >()

template<>
void SMBIOS::Fixup< MemoryArray > ( MemoryArray &  p)

◆ Fixup< MemoryArrayMappedAddress >()

template<>
void SMBIOS::Fixup< MemoryArrayMappedAddress > ( MemoryArrayMappedAddress &  p)

◆ Fixup< MemoryDevice >()

template<>
void SMBIOS::Fixup< MemoryDevice > ( MemoryDevice &  p)

◆ Fixup< MemoryDeviceMappedAddress >()

template<>
void SMBIOS::Fixup< MemoryDeviceMappedAddress > ( MemoryDeviceMappedAddress &  p)

◆ Fixup< OnBoardDevices >()

template<>
void SMBIOS::Fixup< OnBoardDevices > ( OnBoardDevices &  p)

◆ Fixup< OnboardDevices2 >()

template<>
void SMBIOS::Fixup< OnboardDevices2 > ( OnboardDevices2 &  p)

◆ Fixup< Processor >()

template<>
void SMBIOS::Fixup< Processor > ( Processor &  p)

◆ Fixup< SystemPowerSupply >()

template<>
void SMBIOS::Fixup< SystemPowerSupply > ( SystemPowerSupply &  p)

◆ Fixup< SystemSlot >()

template<>
void SMBIOS::Fixup< SystemSlot > ( SystemSlot &  p)

◆ Fixup< TemperatureProbe >()

template<>
void SMBIOS::Fixup< TemperatureProbe > ( TemperatureProbe &  p)

◆ Fixup< VoltageProbe >()

template<>
void SMBIOS::Fixup< VoltageProbe > ( VoltageProbe &  p)

◆ GetStructures()

const Structures * SMBIOS::GetStructures ( )
Returns
a pointer to a static Structures (i.e. always valid), with its member pointers non-zero iff SMBIOS information is available and includes the corresponding structure.

thread-safe; return value should be cached (if possible) to avoid an atomic comparison.

◆ InitStructures()

static Status SMBIOS::InitStructures ( )
static

◆ StringFromEnum()

template<class Enum >
std::string SMBIOS::StringFromEnum ( Enum  field)

◆ StringizeStructure()

template<class Structure >
void SMBIOS::StringizeStructure ( const char *  name,
Structure *  p,
std::stringstream &  ss 
)

◆ StringizeStructures()

std::string SMBIOS::StringizeStructures ( const Structures )
Returns
a string describing all structures (omitting fields with meaningless or dummy values).

Variable Documentation

◆ g_Structures

Structures SMBIOS::g_Structures
static

◆ stringStorage

char* SMBIOS::stringStorage
static

◆ stringStoragePos

char* SMBIOS::stringStoragePos
static