smbios Namespace Reference


Classes

class  IException
 Base class for all Abstract Exceptions. More...
class  SmbiosFactory
 AbstractFactory that produces ISmbiosTable objects. More...
class  ISmbiosTable
 Interface definition for Smbios Table operations. More...
class  ISmbiosItem
 Interface definition for Smbios Item operations. More...
class  SmbiosTableIteratorBase
 Iterator base class for ISmbiosTable objects. More...
class  SmbiosTableIterator
 Iterator for ISmbiosTable objects. More...
class  ConstSmbiosTableIterator
 Iterator for const ISmbiosTable objects. More...
class  SmbiosXmlFactory
class  TokenTableFactory
class  ITokenTable
 Table interface to obtain individual Tokens. More...
class  IToken
 Interface to inspect or manipulate individual tokens. More...
class  IProtectedToken
class  ICmosToken
class  ISmiToken
class  TokenTableIteratorBase
 Base class for the TokenTableIterator subclassess. More...
class  TokenTableIterator
 Iterator for TokenTable objects. More...
class  ConstTokenTableIterator
 Iterator for const TokenTable objects. More...
class  Exception
class  SmbiosFactoryImpl
class  SmbiosStrategy
class  SmbiosMemoryStrategy
class  SmbiosLinuxEFIStrategy
class  SmbiosWinWMIStrategy
class  SmbiosWinGetFirmwareTableStrategy
class  SmbiosTable
class  SmbiosItem
class  SmbiosWorkaroundFactory
class  SmbiosWorkaroundTable
struct  SystemAffected
union  datatron
struct  WorkaroundSmbiosItem
struct  Workaround
struct  SystemWorkaround
class  TokenTable
class  CmosTokenD4
class  CmosTokenD5
class  CmosTokenD6
class  SmiTokenDA
class  CmosRWChecksumObserver
struct  indexed_io_token
struct  indexed_io_access_structure
struct  dell_protected_value_1_structure
struct  dell_protected_value_2_structure
struct  calling_interface_token
struct  calling_interface_structure
struct  up_info
struct  one_byte_structure
struct  two_byte_structure
class  TokenTableFactoryImpl
class  SmbiosTableXml
class  SmbiosXmlFactoryImpl

Enumerations

enum  {
  BIOS_Information = 0, System_Information = 1, Base_Board_Information = 2, System_Enclosure_or_Chassis = 3,
  Processor_Information = 4, Memory_Controller_Information = 5, Memory_Module_Information = 6, Cache_Information = 7,
  Port_Connector_Information = 8, System_Slots = 9, On_Board_Devices_Information = 10, OEM_Strings = 11,
  System_Configuration_Options = 12, BIOS_Language_Information = 13, Group_Associations = 14, System_Event_Log = 15,
  Physical_Memory_Array = 16, Memory_Device = 17, Memory_Error_Information_32_bit = 18, Memory_Array_Mapped_Address = 19,
  Memory_Device_Mapped_Address = 20, Built_in_Pointing_Device = 21, Portable_Battery = 22, System_Reset = 23,
  Hardware_Security = 24, System_Power_Controls = 25, Voltage_Probe = 26, Cooling_Device = 27,
  Temperature_Probe = 28, Electrical__Current_Probe = 29, Out_of_Band_Remote_Access = 30, Boot_Integrity_Services_Entry_Point = 31,
  System_Boot_Information = 32, Memory_Error_Information_64_bit = 33, Management_Device = 34, Management_Device_Component = 35,
  Management_Device_Threshold = 36, Memory_Channel = 37, IPMI_Device_Information = 38, System_Power_Supply = 39,
  Inactive = 126, Revisions_and_IDs = 208, Parallel_Port = 209, Serial_Port = 210,
  IR_Port = 211, End_of_Table = 127, Dell_Revisions_and_IDs = 0xD0, Dell_Indexed_Io = 0xD4
}
enum  { TYPE_U8 = 1, TYPE_U16 = 2, TYPE_U32 = 4, TYPE_U64 = 8 }
enum  { CHECK_TYPE_WORD_CHECKSUM = 0x00, CHECK_TYPE_BYTE_CHECKSUM = 0x01, CHECK_TYPE_WORD_CRC = 0x02, CHECK_TYPE_WORD_CHECKSUM_N = 0x03 }
enum  { DellIndexedIoTokenType = 0xD4, DellProtectedAreaType1 = 0xD5, DellProtectedAreaType2 = 0xD6, DellCallingInterface = 0xDA }
enum  { TokenTypeEOT = 0xffff }
enum  { pvFmtAlphaNumericScanCode = 0, pvFmtAlphaNumericAscii = 1, pvFmtAlphaNumericScanCodeNS = 2, pvFmtAlphaNumericAsciiNS = 3 }

Functions

 DECLARE_EXCEPTION (NotImplemented)
 DECLARE_EXCEPTION (InternalError)
 DECLARE_EXCEPTION (PermissionException)
 DECLARE_EXCEPTION (SmbiosException)
 DECLARE_EXCEPTION_EX (ParameterException, smbios, SmbiosException)
 DECLARE_EXCEPTION_EX (ParseException, smbios, SmbiosException)
 DECLARE_EXCEPTION_EX (StringUnavailable, smbios, SmbiosException)
 DECLARE_EXCEPTION_EX (DataOutOfBounds, smbios, SmbiosException)
u8 getItemType (const ISmbiosItem &item)
u8 getItemLength (const ISmbiosItem &item)
u16 getItemHandle (const ISmbiosItem &item)
u8 getU8_FromItem (const ISmbiosItem &item, unsigned int offset)
u16 getU16_FromItem (const ISmbiosItem &item, unsigned int offset)
u32 getU32_FromItem (const ISmbiosItem &item, unsigned int offset)
u64 getU64_FromItem (const ISmbiosItem &item, unsigned int offset)
const char * getString_FromItem (const ISmbiosItem &item, unsigned int offset)
void * getBits_FromItem (const ISmbiosItem &item, unsigned int offset, void *out, unsigned int lsb=0, unsigned int msb=0)
bool isBitSet (const ISmbiosItem *itemPtr, unsigned int offset, unsigned int bitToTest)
template<class R>
R & getData (const ISmbiosItem &item, unsigned int offset, R &out)
std::ostream & operator<< (std::ostream &cout, const ISmbiosTable &item)
std::ostream & operator<< (std::ostream &cout, const ISmbiosItem &item)
template<class R>
R & getData (const ISmbiosItem &item, const std::string field, R &out)
u8 getU8_FromItem (const ISmbiosItem &item, std::string field)
u16 getU16_FromItem (const ISmbiosItem &item, std::string field)
u32 getU32_FromItem (const ISmbiosItem &item, std::string field)
u64 getU64_FromItem (const ISmbiosItem &item, std::string field)
const char * getString_FromItem (const ISmbiosItem &item, std::string field)
void * getBits_FromItem (const ISmbiosItem &item, std::string field, std::string bitField, void *out)
void getData_FromItem (std::string field, void *out, size_t sz)
std::ostream & toXmlString (const ISmbiosTable &, std::ostream &)
 DECLARE_EXCEPTION (TokenException)
 DECLARE_EXCEPTION_EX (InvalidTokenTableMode, smbios, TokenException)
 DECLARE_EXCEPTION_EX (InvalidAccessMode, smbios, TokenException)
 DECLARE_EXCEPTION_EX (DerefNullPointer, smbios, TokenException)
 DECLARE_EXCEPTION_EX (ParameterError, smbios, TokenException)
 DECLARE_EXCEPTION_EX (InvalidChecksum, smbios, TokenException)
 DECLARE_EXCEPTION_EX (NeedAuthentication, smbios, TokenException)
std::ostream & operator<< (std::ostream &cout, const ITokenTable &item)
std::ostream & operator<< (std::ostream &cout, const IToken &item)
bool isTokenActive (int tokenNum)
void activateToken (int tokenNum, std::string password="")
 DEFINE_EXCEPTION_EX (NotImplementedImpl, smbios, NotImplemented)
 DEFINE_EXCEPTION_EX (InternalErrorImpl, smbios, InternalError)
 DEFINE_EXCEPTION_EX (PermissionExceptionImpl, smbios, PermissionException)
 DEFINE_EXCEPTION_EX (ParameterExceptionImpl, smbios, ParameterException)
 DEFINE_EXCEPTION_EX (ParseExceptionImpl, smbios, ParseException)
 DEFINE_EXCEPTION_EX (StringUnavailableImpl, smbios, StringUnavailable)
 DEFINE_EXCEPTION_EX (DataOutOfBoundsImpl, smbios, DataOutOfBounds)
 DEFINE_EXCEPTION_EX (InvalidTokenTableModeImpl, smbios, InvalidTokenTableMode)
 DEFINE_EXCEPTION_EX (InvalidAccessModeImpl, smbios, InvalidAccessMode)
 DEFINE_EXCEPTION_EX (DerefNullPointerImpl, smbios, DerefNullPointer)
 DEFINE_EXCEPTION_EX (ParameterErrorImpl, smbios, ParameterError)
 DEFINE_EXCEPTION_EX (InvalidChecksumImpl, smbios, InvalidChecksum)
 DEFINE_EXCEPTION_EX (NeedAuthenticationImpl, smbios, NeedAuthentication)
static u32 force_u64_to_u32 (u64 orig)
void checkItemBounds (size_t total_size, size_t length, size_t offset, size_t size)
ostream & operator<< (ostream &cout, const ISmbiosItem &item)
bool validateDMITableEntryPoint (const smbiosLowlevel::dmi_table_entry_point *tempTEP, bool strict, ParseExceptionImpl &parseException)
bool validateSmbiosTableEntryPoint (const smbiosLowlevel::smbios_table_entry_point *tempTEP, bool strict, ParseExceptionImpl &parseException)
int LoadNtdllFuncs (void)
ostream & operator<< (ostream &cout, const ISmbiosTable &table)
static bool compare (int size, const ISmbiosItem *item, int offset, datatron data)
static void fixupData (u8 *buf, size_t size, unsigned int offset, unsigned int len, datatron data)
static void doFixupItem (const Workaround *wa, const ISmbiosItem *item, u8 *buf, size_t bufSize)
static u8 byteChecksum (const ICmosRW *cmos, u32 start, u32 end, u32 indexPort, u32 dataPort)
static u16 wordChecksum (const ICmosRW *cmos, u32 start, u32 end, u32 indexPort, u32 dataPort, bool complement)
static u16 wordCrc (const ICmosRW *cmos, u32 start, u32 end, u32 indexPort, u32 dataPort)
void activateToken (int tokenNum, string password)
static void executeWithPassword (smi::IDellCallingInterfaceSmi *ci, u8 arg, string password)
DOMDocument * getSmbiosXmlDoc (DOMBuilder *parser, std::string &xmlFile)
void validateSmbiosXmlDoc (DOMDocument *doc)
unsigned int parseLengthStr (string size)
void verifyElementAttr (const DOMElement *element, const string elementName, const string value)
void verifyElementAttr (const DOMElement *element, const string elementName, unsigned int size)
int getTypeForString (DOMDocument *doc, const string searchForDesc)
const string getStringForType (const DOMDocument *doc, const int searchForType)
static void getData_UsingXml (const ISmbiosItem &item, const string fieldName, void *out, size_t size)
void * getBits_FromItem (const ISmbiosItem &item, const string field, const string bitField, void *out)
void printStructureField (std::ostream &cout, const DOMNode *node, const ISmbiosItem &item)
std::ostream & toXmlString (const ISmbiosTable &table, ostream &cout)

Variables

smbios::indexed_io_token LIBSMBIOS_PACKED_ATTR
smbios::indexed_io_access_structure LIBSMBIOS_PACKED_ATTR
smbios::dell_protected_value_1_structure LIBSMBIOS_PACKED_ATTR
smbios::dell_protected_value_2_structure LIBSMBIOS_PACKED_ATTR
smbios::calling_interface_token LIBSMBIOS_PACKED_ATTR
smbios::calling_interface_structure LIBSMBIOS_PACKED_ATTR
GetSystemFirmwareTablePtr GetSystemFirmwareTable = 0
const WorkaroundSmbiosItem InvalidCheckTypeSymptoms []
const WorkaroundSmbiosItem InvalidCheckTypeFixup []
const WorkaroundSmbiosItem PE1300_InvalidCheckTypeFixup []
const Workaround InvalidCheckType
const Workaround PE1300_InvalidCheckType
const SystemAffected PE0600 = { 0x0134, "A00", "A05" }
const SystemAffected PE0650 = { 0x0141, "A00", "A00" }
const SystemAffected PE1300 = { 0x8E, "A00", "A--" }
const SystemAffected PE1600 = { 0x0135, "A00", "A00" }
const SystemAffected PE1650 = { 0x011B, "A00", "A09" }
const SystemAffected IDS4235 = { 0x8012, "A--", "A--" }
const SystemAffected PE1655 = { 0x0124, "A00", "A00" }
const SystemAffected PE1750 = { 0x014a, "A00", "A00" }
const SystemAffected PE2600 = { 0x0123, "A00", "A03" }
const SystemAffected PE2650 = { 0x0121, "A00", "A10" }
const SystemAffected PE4600 = { 0x0106, "A00", "A08" }
const SystemAffected PE6600 = { 0x0109, "A00", "A08" }
const WorkaroundPE0600_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE0650_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE1300_Workarounds [] = { &PE1300_InvalidCheckType, 0 }
const WorkaroundPE1600_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE1650_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundIDS4235_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE1655_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE1750_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE2600_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE2650_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE4600_Workarounds [] = { &InvalidCheckType, 0 }
const WorkaroundPE6600_Workarounds [] = { &InvalidCheckType, 0 }
const SystemWorkaround workaroundMasterList []
const int numSystemWorkarounds = (sizeof(workaroundMasterList) / sizeof(workaroundMasterList[0]))
smbios::up_info LIBSMBIOS_PACKED_ATTR
smbios::one_byte_structure LIBSMBIOS_PACKED_ATTR
smbios::two_byte_structure LIBSMBIOS_PACKED_ATTR


Enumeration Type Documentation

anonymous enum

Enumerator:
CHECK_TYPE_WORD_CHECKSUM 
CHECK_TYPE_BYTE_CHECKSUM 
CHECK_TYPE_WORD_CRC 
CHECK_TYPE_WORD_CHECKSUM_N 

Definition at line 244 of file TokenImpl.h.

anonymous enum

Enumerator:
DellIndexedIoTokenType 
DellProtectedAreaType1 
DellProtectedAreaType2 
DellCallingInterface 

Definition at line 35 of file TokenLowLevel.h.

anonymous enum

Enumerator:
TokenTypeEOT 

Definition at line 43 of file TokenLowLevel.h.

anonymous enum

Enumerator:
pvFmtAlphaNumericScanCode 
pvFmtAlphaNumericAscii 
pvFmtAlphaNumericScanCodeNS 
pvFmtAlphaNumericAsciiNS 

Definition at line 145 of file TokenLowLevel.h.

anonymous enum

Enumerator:
BIOS_Information 
System_Information 
Base_Board_Information 
System_Enclosure_or_Chassis 
Processor_Information 
Memory_Controller_Information 
Memory_Module_Information 
Cache_Information 
Port_Connector_Information 
System_Slots 
On_Board_Devices_Information 
OEM_Strings 
System_Configuration_Options 
BIOS_Language_Information 
Group_Associations 
System_Event_Log 
Physical_Memory_Array 
Memory_Device 
Memory_Error_Information_32_bit 
Memory_Array_Mapped_Address 
Memory_Device_Mapped_Address 
Built_in_Pointing_Device 
Portable_Battery 
System_Reset 
Hardware_Security 
System_Power_Controls 
Voltage_Probe 
Cooling_Device 
Temperature_Probe 
Electrical__Current_Probe 
Out_of_Band_Remote_Access 
Boot_Integrity_Services_Entry_Point 
System_Boot_Information 
Memory_Error_Information_64_bit 
Management_Device 
Management_Device_Component 
Management_Device_Threshold 
Memory_Channel 
IPMI_Device_Information 
System_Power_Supply 
Inactive 
Revisions_and_IDs 
Parallel_Port 
Serial_Port 
IR_Port 
End_of_Table 
Dell_Revisions_and_IDs 
Dell_Indexed_Io 

Definition at line 32 of file SmbiosDefs.h.

anonymous enum

Enumerator:
TYPE_U8 
TYPE_U16 
TYPE_U32 
TYPE_U64 

Definition at line 98 of file SmbiosWorkaroundImpl.h.


Function Documentation

void smbios::activateToken ( int  tokenNum,
string  password 
)

Definition at line 52 of file Token.cpp.

References TokenTableFactory::getFactory(), and TokenTableFactory::getSingleton().

void smbios::activateToken ( int  tokenNum,
std::string  password = "" 
)

Referenced by smi::wirelessRadioControl(), and smi::wirelessSwitchControl().

static u8 byteChecksum ( const ICmosRW cmos,
u32  start,
u32  end,
u32  indexPort,
u32  dataPort 
) [static]

Definition at line 226 of file checksum.cpp.

References CmosRWChecksumObserver::cmos, and ICmosRW::readByte().

Referenced by CmosRWChecksumObserver::update().

void smbios::checkItemBounds ( size_t  total_size,
size_t  length,
size_t  offset,
size_t  size 
)

Definition at line 215 of file SmbiosItem.cpp.

References _.

Referenced by SmbiosItem::getData().

static bool smbios::compare ( int  size,
const ISmbiosItem *  item,
int  offset,
datatron  data 
) [static]

Definition at line 93 of file SmbiosWorkaround.cpp.

References datatron::data, and ISmbiosItem::getData().

Referenced by doFixupItem().

smbios::DECLARE_EXCEPTION ( TokenException   ) 

smbios::DECLARE_EXCEPTION ( SmbiosException   ) 

smbios::DECLARE_EXCEPTION ( PermissionException   ) 

Used in cases where operating system privleges prevent an action.

smbios::DECLARE_EXCEPTION ( InternalError   ) 

Used in cases where something that "cannot happen" happens. Raised in instances usually caused by some internal class state becoming corrupted.

smbios::DECLARE_EXCEPTION ( NotImplemented   ) 

Raised when some class does not implement part of the public interface Used mainly in classes where there are optional parts of the interface defined that require extra external functionality, such as XML, for example.

smbios::DECLARE_EXCEPTION_EX ( NeedAuthentication  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( InvalidChecksum  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( ParameterError  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( DerefNullPointer  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( InvalidAccessMode  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( InvalidTokenTableMode  ,
smbios  ,
TokenException   
)

smbios::DECLARE_EXCEPTION_EX ( DataOutOfBounds  ,
smbios  ,
SmbiosException   
)

smbios::DECLARE_EXCEPTION_EX ( StringUnavailable  ,
smbios  ,
SmbiosException   
)

smbios::DECLARE_EXCEPTION_EX ( ParseException  ,
smbios  ,
SmbiosException   
)

smbios::DECLARE_EXCEPTION_EX ( ParameterException  ,
smbios  ,
SmbiosException   
)

smbios::DEFINE_EXCEPTION_EX ( NeedAuthenticationImpl  ,
smbios  ,
NeedAuthentication   
)

smbios::DEFINE_EXCEPTION_EX ( InvalidChecksumImpl  ,
smbios  ,
InvalidChecksum   
)

smbios::DEFINE_EXCEPTION_EX ( ParameterErrorImpl  ,
smbios  ,
ParameterError   
)

smbios::DEFINE_EXCEPTION_EX ( DerefNullPointerImpl  ,
smbios  ,
DerefNullPointer   
)

smbios::DEFINE_EXCEPTION_EX ( InvalidAccessModeImpl  ,
smbios  ,
InvalidAccessMode   
)

smbios::DEFINE_EXCEPTION_EX ( InvalidTokenTableModeImpl  ,
smbios  ,
InvalidTokenTableMode   
)

smbios::DEFINE_EXCEPTION_EX ( DataOutOfBoundsImpl  ,
smbios  ,
DataOutOfBounds   
)

smbios::DEFINE_EXCEPTION_EX ( StringUnavailableImpl  ,
smbios  ,
StringUnavailable   
)

smbios::DEFINE_EXCEPTION_EX ( ParseExceptionImpl  ,
smbios  ,
ParseException   
)

smbios::DEFINE_EXCEPTION_EX ( ParameterExceptionImpl  ,
smbios  ,
ParameterException   
)

smbios::DEFINE_EXCEPTION_EX ( PermissionExceptionImpl  ,
smbios  ,
PermissionException   
)

Used in cases where operating system privleges prevent an action.

smbios::DEFINE_EXCEPTION_EX ( InternalErrorImpl  ,
smbios  ,
InternalError   
)

Used in cases where something that "cannot happen" happens. Raised in instances usually caused by some internal class state becoming corrupted.

smbios::DEFINE_EXCEPTION_EX ( NotImplementedImpl  ,
smbios  ,
NotImplemented   
)

Raised when some class does not implement part of the public interface Used mainly in classes where there are optional parts of the interface defined that require extra external functionality, such as XML, for example.

static void smbios::doFixupItem ( const Workaround *  wa,
const ISmbiosItem *  item,
u8 buf,
size_t  bufSize 
) [static]

Definition at line 133 of file SmbiosWorkaround.cpp.

References compare(), WorkaroundSmbiosItem::data, WorkaroundSmbiosItem::fieldDataType, WorkaroundSmbiosItem::fieldOffset, fixupData(), Workaround::fixups, Workaround::symptoms, and WorkaroundSmbiosItem::type.

Referenced by SmbiosWorkaroundTable::fixupItem().

static void smbios::executeWithPassword ( smi::IDellCallingInterfaceSmi ci,
u8  arg,
string  password 
) [static]

Definition at line 106 of file TokenDA.cpp.

References ISmi::execute(), smi::getAuthenticationKey(), and IDellCallingInterfaceSmi::setArg().

Referenced by SmiTokenDA::setString().

static void smbios::fixupData ( u8 buf,
size_t  size,
unsigned int  offset,
unsigned int  len,
datatron  data 
) [static]

Definition at line 117 of file SmbiosWorkaround.cpp.

References _, and datatron::data.

Referenced by doFixupItem().

static u32 smbios::force_u64_to_u32 ( u64  orig  )  [static]

Definition at line 120 of file SmbiosItem.cpp.

Referenced by SmbiosItem::getStringByStringNumber().

void* smbios::getBits_FromItem ( const ISmbiosItem &  item,
const string  field,
const string  bitField,
void *  out 
)

Definition at line 404 of file SmbiosXml.cpp.

References SmbiosTableXml::doc, DOMDocument, DOMElement, xmlutils::findElement(), xmlutils::findElementWithNumericAttr(), getBits_FromItem(), SmbiosFactory::getFactory(), xmlutils::getNumberFromXmlAttr(), SmbiosFactory::getSingleton(), ISmbiosItem::getType(), SmbiosTableXml::getXmlDoc(), and xmlDocGetRootElement.

Referenced by testStandalone::testItem_GetBiosInfo(), and testStandalone::testTypeMismatch().

void* smbios::getBits_FromItem ( const ISmbiosItem &  item,
std::string  field,
std::string  bitField,
void *  out 
)

void * getBits_FromItem ( const ISmbiosItem &  item,
unsigned int  offset,
void *  out,
unsigned int  lsb = 0,
unsigned int  msb = 0 
)

Definition at line 350 of file SmbiosItem.cpp.

References _, and ISmbiosItem::getData().

Referenced by getBits_FromItem().

R& smbios::getData ( const ISmbiosItem &  item,
const std::string  field,
R &  out 
) [inline]

Definition at line 44 of file ISmbiosXml.h.

References getData_FromItem().

Referenced by testStandalone::testItem_GetBiosInfo().

R& smbios::getData ( const ISmbiosItem &  item,
unsigned int  offset,
R &  out 
) [inline]

Definition at line 376 of file ISmbios.h.

References ISmbiosItem::getData().

void smbios::getData_FromItem ( std::string  field,
void *  out,
size_t  sz 
)

Referenced by getData().

static void smbios::getData_UsingXml ( const ISmbiosItem &  item,
const string  fieldName,
void *  out,
size_t  size 
) [static]

Definition at line 325 of file SmbiosXml.cpp.

References SmbiosTableXml::doc, DOMDocument, DOMElement, xmlutils::findElement(), xmlutils::findElementWithNumericAttr(), ISmbiosItem::getData(), SmbiosFactory::getFactory(), xmlutils::getNumberFromXmlAttr(), SmbiosFactory::getSingleton(), ISmbiosItem::getType(), SmbiosTableXml::getXmlDoc(), verifyElementAttr(), and xmlDocGetRootElement.

Referenced by getU16_FromItem(), getU32_FromItem(), getU64_FromItem(), and getU8_FromItem().

u16 getItemHandle ( const ISmbiosItem &  item  ) 

Definition at line 310 of file SmbiosItem.cpp.

References getU16_FromItem().

Referenced by testStandalone::testTable_Subscript().

u8 getItemLength ( const ISmbiosItem &  item  ) 

Definition at line 305 of file SmbiosItem.cpp.

References getU8_FromItem().

Referenced by testStandalone::testTable_Subscript().

u8 getItemType ( const ISmbiosItem &  item  ) 

Definition at line 300 of file SmbiosItem.cpp.

References getU8_FromItem().

Referenced by testStandalone::testTable_Subscript().

DOMDocument* smbios::getSmbiosXmlDoc ( DOMBuilder *  parser,
std::string &  xmlFile 
)

Definition at line 113 of file SmbiosXml.cpp.

References compatXmlReadFile, compatXmlReadMemory, DCERR, DOMDocument, and stdXml.

Referenced by SmbiosTableXml::setXmlFilePath().

const char * getString_FromItem ( const ISmbiosItem &  item,
std::string  field 
)

Definition at line 377 of file SmbiosXml.cpp.

References SmbiosTableXml::doc, DOMDocument, DOMElement, xmlutils::findElement(), xmlutils::findElementWithNumericAttr(), SmbiosFactory::getFactory(), xmlutils::getNumberFromXmlAttr(), SmbiosFactory::getSingleton(), getString_FromItem(), ISmbiosItem::getType(), SmbiosTableXml::getXmlDoc(), verifyElementAttr(), and xmlDocGetRootElement.

Referenced by getStringFromTable(), testStandalone::testItem_GetBiosInfo(), testStandalone::testItem_GetSystemInfo(), testStandalone::testNonXml(), testStandalone::testTypeMismatch(), and testPlatform::testVariousAccessors().

const char * getString_FromItem ( const ISmbiosItem &  item,
unsigned int  offset 
)

Definition at line 343 of file SmbiosItem.cpp.

References SmbiosItem::getData(), and ISmbiosItem::getStringByStringNumber().

Referenced by getString_FromItem(), SmbiosWorkaroundFactory::makeNew(), and printStructureField().

const string smbios::getStringForType ( const DOMDocument *  doc,
const int  searchForType 
)

Definition at line 198 of file SmbiosXml.cpp.

References DOMElement, xmlutils::findElement(), xmlutils::findElementWithNumericAttr(), xmlutils::safeGetAttribute(), and xmlDocGetRootElement.

Referenced by SmbiosTableXml::getStringForType().

int smbios::getTypeForString ( DOMDocument *  doc,
const string  searchForDesc 
)

Definition at line 189 of file SmbiosXml.cpp.

References DOMElement, xmlutils::findElement(), xmlutils::safeGetAttribute(), and xmlDocGetRootElement.

u16 getU16_FromItem ( const ISmbiosItem &  item,
std::string  field 
)

Definition at line 356 of file SmbiosXml.cpp.

References getData_UsingXml().

Referenced by getIdByteFromRevItem(), testStandalone::testEachItemAccessors(), testStandalone::testGetBoundaries(), testStandalone::testItem_GetBiosInfo(), testStandalone::testItem_GetSystemInfo(), testStandalone::testNonXml(), and testStandalone::testTypeMismatch().

u16 getU16_FromItem ( const ISmbiosItem &  item,
unsigned int  offset 
)

Definition at line 322 of file SmbiosItem.cpp.

References ISmbiosItem::getData().

Referenced by getItemHandle(), and SmbiosWorkaroundFactory::makeNew().

u32 getU32_FromItem ( const ISmbiosItem &  item,
std::string  field 
)

Definition at line 363 of file SmbiosXml.cpp.

References getData_UsingXml().

Referenced by testStandalone::testGetBoundaries(), and testStandalone::testTypeMismatch().

u32 getU32_FromItem ( const ISmbiosItem &  item,
unsigned int  offset 
)

Definition at line 329 of file SmbiosItem.cpp.

References ISmbiosItem::getData().

u64 getU64_FromItem ( const ISmbiosItem &  item,
std::string  field 
)

Definition at line 370 of file SmbiosXml.cpp.

References getData_UsingXml().

Referenced by testStandalone::testGetBoundaries(), testStandalone::testItem_GetBiosInfo(), and testStandalone::testTypeMismatch().

u64 getU64_FromItem ( const ISmbiosItem &  item,
unsigned int  offset 
)

Definition at line 336 of file SmbiosItem.cpp.

References ISmbiosItem::getData().

u8 getU8_FromItem ( const ISmbiosItem &  item,
std::string  field 
)

Definition at line 349 of file SmbiosXml.cpp.

References getData_UsingXml().

Referenced by getIdByteFromRevItem(), rbu::getSupportedPacketType(), testStandalone::testEachItemAccessors(), testStandalone::testGetBoundaries(), testStandalone::testItem_GetBiosInfo(), testStandalone::testItem_GetSystemInfo(), testStandalone::testNonXml(), and testStandalone::testTypeMismatch().

u8 getU8_FromItem ( const ISmbiosItem &  item,
unsigned int  offset 
)

Definition at line 315 of file SmbiosItem.cpp.

References ISmbiosItem::getData().

Referenced by getItemLength(), getItemType(), isBitSet(), SmbiosWorkaroundFactory::makeNew(), and printStructureField().

bool isBitSet ( const ISmbiosItem *  itemPtr,
unsigned int  offset,
unsigned int  bitToTest 
)

Definition at line 383 of file SmbiosItem.cpp.

References getU8_FromItem().

Referenced by testStandalone::testSmbiosXml().

bool isTokenActive ( int  tokenNum  ) 

Definition at line 65 of file Token.cpp.

References TokenTableFactory::getFactory(), and TokenTableFactory::getSingleton().

Referenced by smi::wirelessRadioControl().

int smbios::LoadNtdllFuncs ( void   ) 

Definition at line 55 of file SmbiosStrategy_Windows.cpp.

References GetSystemFirmwareTable.

Referenced by SmbiosWinGetFirmwareTableStrategy::getSmbiosTable().

ostream& smbios::operator<< ( ostream &  cout,
const ISmbiosTable &  table 
)

Definition at line 369 of file SmbiosTable.cpp.

References ISmbiosTable::streamify().

ostream& smbios::operator<< ( ostream &  cout,
const ISmbiosItem &  item 
)

Definition at line 395 of file SmbiosItem.cpp.

References ISmbiosItem::streamify().

std::ostream & operator<< ( std::ostream &  cout,
const IToken &  item 
)

Definition at line 47 of file Token.cpp.

References IToken::streamify().

std::ostream & operator<< ( std::ostream &  cout,
const ITokenTable &  item 
)

Definition at line 318 of file TokenTable.cpp.

References ITokenTable::streamify().

std::ostream& smbios::operator<< ( std::ostream &  cout,
const ISmbiosItem &  item 
)

std::ostream& smbios::operator<< ( std::ostream &  cout,
const ISmbiosTable &  item 
)

unsigned int smbios::parseLengthStr ( string  size  ) 

Definition at line 158 of file SmbiosXml.cpp.

Referenced by printStructureField(), and verifyElementAttr().

void smbios::printStructureField ( std::ostream &  cout,
const DOMNode *  node,
const ISmbiosItem &  item 
)

Definition at line 438 of file SmbiosXml.cpp.

References getString_FromItem(), getU8_FromItem(), SmbiosTable::offset, parseLengthStr(), and xmlutils::safeGetAttribute().

std::ostream& smbios::toXmlString ( const ISmbiosTable &  table,
ostream &  cout 
)

Definition at line 503 of file SmbiosXml.cpp.

References UNREFERENCED_PARAMETER.

std::ostream& smbios::toXmlString ( const ISmbiosTable &  ,
std::ostream &   
)

bool smbios::validateDMITableEntryPoint ( const smbiosLowlevel::dmi_table_entry_point tempTEP,
bool  strict,
ParseExceptionImpl &  parseException 
)

Definition at line 46 of file SmbiosStrategy.cpp.

References _, and DCERR.

Referenced by SmbiosMemoryStrategy::getSmbiosTableHeader(), and validateSmbiosTableEntryPoint().

bool smbios::validateSmbiosTableEntryPoint ( const smbiosLowlevel::smbios_table_entry_point tempTEP,
bool  strict,
ParseExceptionImpl &  parseException 
)

Definition at line 94 of file SmbiosStrategy.cpp.

References _, DCERR, smbios_table_entry_point::dmi, smbios_table_entry_point::eps_length, smbios_table_entry_point::major_ver, and validateDMITableEntryPoint().

Referenced by SmbiosMemoryStrategy::getSmbiosTableHeader().

void smbios::validateSmbiosXmlDoc ( DOMDocument *  doc  ) 

Definition at line 139 of file SmbiosXml.cpp.

References xmlDocGetRootElement, and xmlFreeDoc.

Referenced by SmbiosTableXml::setXmlFilePath().

void smbios::verifyElementAttr ( const DOMElement *  element,
const string  elementName,
unsigned int  size 
)

Definition at line 182 of file SmbiosXml.cpp.

References parseLengthStr(), and xmlutils::safeGetAttribute().

void smbios::verifyElementAttr ( const DOMElement *  element,
const string  elementName,
const string  value 
)

Definition at line 174 of file SmbiosXml.cpp.

References xmlutils::safeGetAttribute().

Referenced by getData_UsingXml(), and getString_FromItem().

static u16 wordChecksum ( const ICmosRW cmos,
u32  start,
u32  end,
u32  indexPort,
u32  dataPort,
bool  complement 
) [static]

Definition at line 242 of file checksum.cpp.

References CmosRWChecksumObserver::cmos, and ICmosRW::readByte().

Referenced by CmosRWChecksumObserver::update().

static u16 wordCrc ( const ICmosRW cmos,
u32  start,
u32  end,
u32  indexPort,
u32  dataPort 
) [static]

Definition at line 260 of file checksum.cpp.

References CmosRWChecksumObserver::cmos, and ICmosRW::readByte().

Referenced by CmosRWChecksumObserver::update().


Variable Documentation

GetSystemFirmwareTablePtr GetSystemFirmwareTable = 0

Definition at line 53 of file SmbiosStrategy_Windows.cpp.

Referenced by memory::enumSystemFirmwareTables(), SmbiosWinGetFirmwareTableStrategy::getSmbiosTable(), LoadNtdllFuncs(), and memory::LoadNtdllFuncs().

const SystemAffected IDS4235 = { 0x8012, "A--", "A--" }

Definition at line 83 of file StdWorkarounds.h.

const Workaround* IDS4235_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 97 of file StdWorkarounds.h.

const Workaround InvalidCheckType

Initial value:

        { "Invalid Checksum Type", InvalidCheckTypeSymptoms, InvalidCheckTypeFixup }

Definition at line 70 of file StdWorkarounds.h.

const WorkaroundSmbiosItem InvalidCheckTypeFixup[]

Initial value:

        {
            
            { 0xD4, 0x08, TYPE_U8, {{0x00}} },  
            { 0, 0, 0, {{0}} },
        }

Definition at line 55 of file StdWorkarounds.h.

const WorkaroundSmbiosItem InvalidCheckTypeSymptoms[]

Initial value:

        {
            
            { 0xD4, 0x08, TYPE_U8 , { {0x03, 0} } },
            
            
            
            
            { 0xD4, 0x02, TYPE_U16, { {0x02, 0xd4, 0} } },
            
            
            
            
            
            
            
            { 0, 0, 0, { {0} } },
            
            
            
            
            
            
        }

Definition at line 30 of file StdWorkarounds.h.

struct smbios::two_byte_structure LIBSMBIOS_PACKED_ATTR

struct smbios::one_byte_structure LIBSMBIOS_PACKED_ATTR

struct smbios::up_info LIBSMBIOS_PACKED_ATTR

struct smbios::calling_interface_structure LIBSMBIOS_PACKED_ATTR

struct smbios::calling_interface_token LIBSMBIOS_PACKED_ATTR

struct smbios::dell_protected_value_2_structure LIBSMBIOS_PACKED_ATTR

struct smbios::dell_protected_value_1_structure LIBSMBIOS_PACKED_ATTR

struct smbios::indexed_io_access_structure LIBSMBIOS_PACKED_ATTR

struct smbios::indexed_io_token LIBSMBIOS_PACKED_ATTR

const int numSystemWorkarounds = (sizeof(workaroundMasterList) / sizeof(workaroundMasterList[0]))

Definition at line 124 of file StdWorkarounds.h.

Referenced by SmbiosWorkaroundFactory::makeNew().

const SystemAffected PE0600 = { 0x0134, "A00", "A05" }

Definition at line 78 of file StdWorkarounds.h.

const Workaround* PE0600_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 92 of file StdWorkarounds.h.

const SystemAffected PE0650 = { 0x0141, "A00", "A00" }

Definition at line 79 of file StdWorkarounds.h.

const Workaround* PE0650_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 93 of file StdWorkarounds.h.

const SystemAffected PE1300 = { 0x8E, "A00", "A--" }

Definition at line 80 of file StdWorkarounds.h.

const Workaround PE1300_InvalidCheckType

Initial value:

        { "PE1300 Invalid Checksum Type", InvalidCheckTypeSymptoms, PE1300_InvalidCheckTypeFixup }

Definition at line 73 of file StdWorkarounds.h.

const WorkaroundSmbiosItem PE1300_InvalidCheckTypeFixup[]

Initial value:

        {
            
            { 0xD4, 0x08, TYPE_U8, {{0x01}} },  
            { 0, 0, 0, {{0}} },
        }

Definition at line 63 of file StdWorkarounds.h.

const Workaround* PE1300_Workarounds[] = { &PE1300_InvalidCheckType, 0 }

Definition at line 94 of file StdWorkarounds.h.

const SystemAffected PE1600 = { 0x0135, "A00", "A00" }

Definition at line 81 of file StdWorkarounds.h.

const Workaround* PE1600_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 95 of file StdWorkarounds.h.

const SystemAffected PE1650 = { 0x011B, "A00", "A09" }

Definition at line 82 of file StdWorkarounds.h.

const Workaround* PE1650_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 96 of file StdWorkarounds.h.

const SystemAffected PE1655 = { 0x0124, "A00", "A00" }

Definition at line 84 of file StdWorkarounds.h.

const Workaround* PE1655_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 98 of file StdWorkarounds.h.

const SystemAffected PE1750 = { 0x014a, "A00", "A00" }

Definition at line 85 of file StdWorkarounds.h.

const Workaround* PE1750_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 99 of file StdWorkarounds.h.

const SystemAffected PE2600 = { 0x0123, "A00", "A03" }

Definition at line 86 of file StdWorkarounds.h.

const Workaround* PE2600_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 100 of file StdWorkarounds.h.

const SystemAffected PE2650 = { 0x0121, "A00", "A10" }

Definition at line 87 of file StdWorkarounds.h.

const Workaround* PE2650_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 101 of file StdWorkarounds.h.

const SystemAffected PE4600 = { 0x0106, "A00", "A08" }

Definition at line 88 of file StdWorkarounds.h.

const Workaround* PE4600_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 102 of file StdWorkarounds.h.

const SystemAffected PE6600 = { 0x0109, "A00", "A08" }

Definition at line 89 of file StdWorkarounds.h.

const Workaround* PE6600_Workarounds[] = { &InvalidCheckType, 0 }

Definition at line 103 of file StdWorkarounds.h.

const SystemWorkaround workaroundMasterList[]

Initial value:

Definition at line 107 of file StdWorkarounds.h.

Referenced by SmbiosWorkaroundFactory::makeNew().


Generated on Sat Apr 21 11:36:10 2007 for SMBIOS Library by  doxygen 1.5.2