SMBIOS Library
Classes | Enumerations | Functions | Variables
smi Namespace Reference

Classes

class  IDellCallingInterfaceSmi
class  SmiFactory
class  SmiFactoryImpl
class  SmiStrategy
class  SmiMockStrategy
class  SmiArchStrategy
class  DellCallingInterfaceSmiImpl
struct  callintf_cmd
struct  calling_interface_command_buffer

Enumerations

enum  { cbARG1 = 0, cbARG2 = 1, cbARG3 = 2, cbARG4 = 3 }
enum  { cbRES1 = 0, cbRES2 = 1, cbRES3 = 2, cbRES4 = 3 }
enum  password_format_enum { PW_FORMAT_UNKNOWN, PW_FORMAT_SCAN_CODE, PW_FORMAT_ASCII }
enum  radioNum { WLAN_RADIO_NUM = 1, BLUETOOTH_RADIO_NUM = 2, WWAN_RADIO_NUM = 3 }
enum  { WLAN_SWITCH_CTL = 1, BLUETOOTH_SWITCH_CTL = 2, WWAN_SWITCH_CTL = 4, LOCATOR_SWITCH_CTL = 5 }
enum  radioStatusCode {
  STATUS_ENABLED, STATUS_DISABLED, STATUS_NOT_PRESENT, STATUS_UNSUPPORTED,
  STATUS_UNKNOWN
}
enum  { class_user_password = 9, class_admin_password = 10 }

Functions

 DECLARE_EXCEPTION (SmiException)
 Abstract base class for the smi read write operations.
 DECLARE_EXCEPTION_EX (InvalidSmiMode, smi, SmiException)
 DECLARE_EXCEPTION_EX (ParameterError, smi, SmiException)
 DECLARE_EXCEPTION_EX (UnhandledSmi, smi, SmiException)
 DECLARE_EXCEPTION_EX (UnsupportedSmi, smi, SmiException)
 DECLARE_EXCEPTION_EX (SmiExecutedWithError, smi, SmiException)
 DECLARE_EXCEPTION_EX (PasswordVerificationFailed, smi, SmiException)
 DECLARE_EXCEPTION_EX (ConfigError, smi, SmiException)
void doSimpleCallingInterfaceSmi (u16 smiClass, u16 select, const u32 args[4], u32 res[4])
std::auto_ptr
< smi::IDellCallingInterfaceSmi
setupCallingInterfaceSmi (u16 smiClass, u16 select, const u32 args[4])
u32 getAuthenticationKey (const std::string &password)
password_format_enum getPasswordFormat ()
bool getPasswordStatus (u16 which)
u32 readNVStorage (u32 location, u32 *minValue, u32 *maxValue)
u32 readBatteryModeSetting (u32 location, u32 *minValue, u32 *maxValue)
u32 readACModeSetting (u32 location, u32 *minValue, u32 *maxValue)
u32 readSystemStatus (u32 *failingSensorHandle)
u32 writeNVStorage (const std::string &password, u32 location, u32 value, u32 *minValue, u32 *maxValue)
u32 writeBatteryModeSetting (const std::string &password, u32 location, u32 value, u32 *minValue, u32 *maxValue)
u32 writeACModeSetting (const std::string &password, u32 location, u32 value, u32 *minValue, u32 *maxValue)
void getDisplayType (u32 &type, u32 &resolution, u32 &memSizeX256kb)
void getPanelResolution (u32 &horiz, u32 &vert)
void getActiveDisplays (u32 &bits)
void setActiveDisplays (u32 &bits)
void getPropertyOwnershipTag (char *tagBuf, size_t size)
void setPropertyOwnershipTag (const std::string password, const char *newTag, size_t size)
void wirelessRadioControl (bool enable, bool boot, bool runtime, int enable_token, int disable_token, int radioNum, std::string password)
void wirelessSwitchControl (bool enable, bool boot, bool runtime, int enable_token, int disable_token, int switchNum, std::string password)
radioStatusCode wirelessRadioStatus (radioNum which, std::ostream &cout=std::cout, u32 defRes2=0)
static bool getPasswordPropertiesII (u16 which, u8 &maxLen, u8 &minLen, u8 &props)
static u32 getAuthenticationKeyII (const string &password)
u32 getAuthenticationKey (const string &password)
static u32 readSetting (u16 select, u32 location, u32 *minValue, u32 *maxValue)
static u32 writeSetting (const std::string &password, u16 select, u32 location, u32 newValue, u32 *minValue, u32 *maxValue)
void setPropertyOwnershipTag (const string password, const char *newTag, size_t size)
static void switchControl (u32 whichConfig, u32 whichSwitch, bool enable)
 DEFINE_EXCEPTION_EX (SmiExceptionImpl, smi, SmiException)
 DEFINE_EXCEPTION_EX (InvalidSmiModeImpl, smi, InvalidSmiMode)
 DEFINE_EXCEPTION_EX (ParameterErrorImpl, smi, ParameterError)
 DEFINE_EXCEPTION_EX (UnsupportedSmiImpl, smi, UnsupportedSmi)
 DEFINE_EXCEPTION_EX (UnhandledSmiImpl, smi, UnhandledSmi)
 DEFINE_EXCEPTION_EX (SmiExecutedWithErrorImpl, smi, SmiExecutedWithError)
 DEFINE_EXCEPTION_EX (PasswordVerificationFailedImpl, smi, PasswordVerificationFailed)
 DEFINE_EXCEPTION_EX (ConfigErrorImpl, smi, ConfigError)

Variables

const int Bluetooth_Devices_Disable = 0x0153
const int Bluetooth_Devices_Enable = 0x0152
const int Cellular_Radio_Disable = 0x017B
const int Cellular_Radio_Enable = 0x017C
const int WiFi_Locator_Disable = 0x017D
const int WiFi_Locator_Enable = 0x017E
const int Wireless_LAN_Disable = 0x017F
const int Wireless_LAN_Enable = 0x0180
const int Wireless_Switch_Bluetooth_Control_Disable = 0x0181
const int Wireless_Switch_Bluetooth_Control_Enable = 0x0182
const int Wireless_Switch_Cellular_Control_Disable = 0x0183
const int Wireless_Switch_Cellular_Control_Enable = 0x0184
const int Wireless_Switch_Wireless_LAN_Control_Disable = 0x0185
const int Wireless_Switch_Wireless_LAN_Control_Enable = 0x0186
const int Radio_Transmission_Enable = 0x010c
const int Radio_Transmission_Disable = 0x010d
const int Wireless_Device_Disable = 0x0114
const int Wireless_Device_App_Control = 0x0115
const int Wireless_Device_App_Or_Hotkey_Control = 0x0116
struct smi::callintf_cmd LIBSMBIOS_PACKED_ATTR

Enumeration Type Documentation

anonymous enum
Enumerator:
class_user_password 
class_admin_password 

Definition at line 81 of file SmiLowLevel.h.

anonymous enum
Enumerator:
cbARG1 
cbARG2 
cbARG3 
cbARG4 

Definition at line 86 of file ISmi.h.

anonymous enum
Enumerator:
cbRES1 
cbRES2 
cbRES3 
cbRES4 

Definition at line 87 of file ISmi.h.

anonymous enum
Enumerator:
WLAN_SWITCH_CTL 
BLUETOOTH_SWITCH_CTL 
WWAN_SWITCH_CTL 
LOCATOR_SWITCH_CTL 

Definition at line 152 of file ISmi.h.

Enumerator:
PW_FORMAT_UNKNOWN 
PW_FORMAT_SCAN_CODE 
PW_FORMAT_ASCII 

Definition at line 96 of file ISmi.h.

enum radioNum
Enumerator:
WLAN_RADIO_NUM 
BLUETOOTH_RADIO_NUM 
WWAN_RADIO_NUM 

Definition at line 149 of file ISmi.h.

Enumerator:
STATUS_ENABLED 
STATUS_DISABLED 
STATUS_NOT_PRESENT 
STATUS_UNSUPPORTED 
STATUS_UNKNOWN 

Definition at line 155 of file ISmi.h.

Function Documentation

smi::DECLARE_EXCEPTION ( SmiException  )

Abstract base class for the smi read write operations.

smi::DECLARE_EXCEPTION_EX ( InvalidSmiMode  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( ParameterError  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( UnhandledSmi  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( UnsupportedSmi  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( SmiExecutedWithError  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( PasswordVerificationFailed  ,
smi  ,
SmiException   
)
smi::DECLARE_EXCEPTION_EX ( ConfigError  ,
smi  ,
SmiException   
)
smi::DEFINE_EXCEPTION_EX ( SmiExceptionImpl  ,
smi  ,
SmiException   
)
smi::DEFINE_EXCEPTION_EX ( InvalidSmiModeImpl  ,
smi  ,
InvalidSmiMode   
)
smi::DEFINE_EXCEPTION_EX ( ParameterErrorImpl  ,
smi  ,
ParameterError   
)
smi::DEFINE_EXCEPTION_EX ( UnsupportedSmiImpl  ,
smi  ,
UnsupportedSmi   
)
smi::DEFINE_EXCEPTION_EX ( UnhandledSmiImpl  ,
smi  ,
UnhandledSmi   
)
smi::DEFINE_EXCEPTION_EX ( SmiExecutedWithErrorImpl  ,
smi  ,
SmiExecutedWithError   
)
smi::DEFINE_EXCEPTION_EX ( PasswordVerificationFailedImpl  ,
smi  ,
PasswordVerificationFailed   
)
smi::DEFINE_EXCEPTION_EX ( ConfigErrorImpl  ,
smi  ,
ConfigError   
)
void doSimpleCallingInterfaceSmi ( u16  smiClass,
u16  select,
const u32  args[4],
u32  res[4] 
)
void getActiveDisplays ( u32 bits)

Definition at line 568 of file Smi.cpp.

References doSimpleCallingInterfaceSmi().

Here is the call graph for this function:

u32 smi::getAuthenticationKey ( const std::string &  password)
u32 smi::getAuthenticationKey ( const string &  password)

Definition at line 351 of file Smi.cpp.

References class_admin_password, class_user_password, DCERR, doSimpleCallingInterfaceSmi(), and getAuthenticationKeyII().

Here is the call graph for this function:

static u32 smi::getAuthenticationKeyII ( const string &  password)
static

Definition at line 291 of file Smi.cpp.

References class_admin_password, class_user_password, DCERR, getPasswordPropertiesII(), and setupCallingInterfaceSmi().

Referenced by getAuthenticationKey().

Here is the call graph for this function:

void getDisplayType ( u32 type,
u32 resolution,
u32 memSizeX256kb 
)

Definition at line 549 of file Smi.cpp.

References doSimpleCallingInterfaceSmi().

Here is the call graph for this function:

void getPanelResolution ( u32 horiz,
u32 vert 
)

Definition at line 559 of file Smi.cpp.

References doSimpleCallingInterfaceSmi().

Here is the call graph for this function:

password_format_enum getPasswordFormat ( )
static bool smi::getPasswordPropertiesII ( u16  which,
u8 maxLen,
u8 minLen,
u8 props 
)
static

Definition at line 237 of file Smi.cpp.

References DCERR, and doSimpleCallingInterfaceSmi().

Referenced by getAuthenticationKeyII(), getPasswordFormat(), and getPasswordStatus().

Here is the call graph for this function:

bool getPasswordStatus ( u16  which)

Definition at line 270 of file Smi.cpp.

References doSimpleCallingInterfaceSmi(), and getPasswordPropertiesII().

Here is the call graph for this function:

void getPropertyOwnershipTag ( char *  tagBuf,
size_t  size 
)

Definition at line 582 of file Smi.cpp.

References setupCallingInterfaceSmi().

Here is the call graph for this function:

u32 readACModeSetting ( u32  location,
u32 minValue,
u32 maxValue 
)

Definition at line 486 of file Smi.cpp.

References readSetting().

Here is the call graph for this function:

u32 readBatteryModeSetting ( u32  location,
u32 minValue,
u32 maxValue 
)

Definition at line 481 of file Smi.cpp.

References readSetting().

Here is the call graph for this function:

u32 readNVStorage ( u32  location,
u32 minValue,
u32 maxValue 
)

Definition at line 476 of file Smi.cpp.

References readSetting().

Referenced by SmiTokenDA::isActive().

Here is the call graph for this function:

static u32 smi::readSetting ( u16  select,
u32  location,
u32 minValue,
u32 maxValue 
)
static

Definition at line 465 of file Smi.cpp.

References doSimpleCallingInterfaceSmi().

Referenced by readACModeSetting(), readBatteryModeSetting(), readNVStorage(), and readSystemStatus().

Here is the call graph for this function:

u32 readSystemStatus ( u32 failingSensorHandle)

Definition at line 491 of file Smi.cpp.

References readSetting().

Here is the call graph for this function:

void setActiveDisplays ( u32 bits)

Definition at line 576 of file Smi.cpp.

References doSimpleCallingInterfaceSmi().

Here is the call graph for this function:

void smi::setPropertyOwnershipTag ( const std::string  password,
const char *  newTag,
size_t  size 
)
void smi::setPropertyOwnershipTag ( const string  password,
const char *  newTag,
size_t  size 
)

Definition at line 594 of file Smi.cpp.

References getAuthenticationKey(), and setupCallingInterfaceSmi().

Here is the call graph for this function:

std::auto_ptr< smi::IDellCallingInterfaceSmi > setupCallingInterfaceSmi ( u16  smiClass,
u16  select,
const u32  args[4] 
)
static void smi::switchControl ( u32  whichConfig,
u32  whichSwitch,
bool  enable 
)
static

Definition at line 685 of file Smi.cpp.

References cbARG1, cbRES2, SmiFactory::DELL_CALLING_INTERFACE_SMI, SmiFactory::getFactory(), and SmiFactory::makeNew().

Referenced by wirelessSwitchControl().

Here is the call graph for this function:

void wirelessRadioControl ( bool  enable,
bool  boot,
bool  runtime,
int  enable_token,
int  disable_token,
int  radioNum,
std::string  password 
)

Definition at line 664 of file Smi.cpp.

References smbios::activateToken(), doSimpleCallingInterfaceSmi(), and smbios::isTokenActive().

Here is the call graph for this function:

radioStatusCode wirelessRadioStatus ( radioNum  which,
std::ostream &  cout = std::cout,
u32  defRes2 = 0 
)
void wirelessSwitchControl ( bool  enable,
bool  boot,
bool  runtime,
int  enable_token,
int  disable_token,
int  switchNum,
std::string  password 
)

Definition at line 728 of file Smi.cpp.

References smbios::activateToken(), BLUETOOTH_SWITCH_CTL, LOCATOR_SWITCH_CTL, switchControl(), WLAN_SWITCH_CTL, and WWAN_SWITCH_CTL.

Here is the call graph for this function:

u32 writeACModeSetting ( const std::string &  password,
u32  location,
u32  value,
u32 minValue,
u32 maxValue 
)

Definition at line 544 of file Smi.cpp.

References writeSetting().

Here is the call graph for this function:

u32 writeBatteryModeSetting ( const std::string &  password,
u32  location,
u32  value,
u32 minValue,
u32 maxValue 
)

Definition at line 539 of file Smi.cpp.

References writeSetting().

Here is the call graph for this function:

u32 writeNVStorage ( const std::string &  password,
u32  location,
u32  value,
u32 minValue,
u32 maxValue 
)

Definition at line 534 of file Smi.cpp.

References writeSetting().

Referenced by SmiTokenDA::activate().

Here is the call graph for this function:

static u32 smi::writeSetting ( const std::string &  password,
u16  select,
u32  location,
u32  newValue,
u32 minValue,
u32 maxValue 
)
static

Definition at line 500 of file Smi.cpp.

References DCERR, doSimpleCallingInterfaceSmi(), and getAuthenticationKey().

Referenced by writeACModeSetting(), writeBatteryModeSetting(), and writeNVStorage().

Here is the call graph for this function:

Variable Documentation

const int Bluetooth_Devices_Disable = 0x0153

Definition at line 625 of file Smi.cpp.

const int Bluetooth_Devices_Enable = 0x0152

Definition at line 626 of file Smi.cpp.

const int Cellular_Radio_Disable = 0x017B

Definition at line 627 of file Smi.cpp.

const int Cellular_Radio_Enable = 0x017C

Definition at line 628 of file Smi.cpp.

struct smi::calling_interface_command_buffer LIBSMBIOS_PACKED_ATTR
const int Radio_Transmission_Disable = 0x010d

Definition at line 640 of file Smi.cpp.

const int Radio_Transmission_Enable = 0x010c

Definition at line 639 of file Smi.cpp.

const int WiFi_Locator_Disable = 0x017D

Definition at line 629 of file Smi.cpp.

const int WiFi_Locator_Enable = 0x017E

Definition at line 630 of file Smi.cpp.

const int Wireless_Device_App_Control = 0x0115

Definition at line 642 of file Smi.cpp.

const int Wireless_Device_App_Or_Hotkey_Control = 0x0116

Definition at line 643 of file Smi.cpp.

const int Wireless_Device_Disable = 0x0114

Definition at line 641 of file Smi.cpp.

const int Wireless_LAN_Disable = 0x017F

Definition at line 631 of file Smi.cpp.

const int Wireless_LAN_Enable = 0x0180

Definition at line 632 of file Smi.cpp.

const int Wireless_Switch_Bluetooth_Control_Disable = 0x0181

Definition at line 633 of file Smi.cpp.

const int Wireless_Switch_Bluetooth_Control_Enable = 0x0182

Definition at line 634 of file Smi.cpp.

const int Wireless_Switch_Cellular_Control_Disable = 0x0183

Definition at line 635 of file Smi.cpp.

const int Wireless_Switch_Cellular_Control_Enable = 0x0184

Definition at line 636 of file Smi.cpp.

const int Wireless_Switch_Wireless_LAN_Control_Disable = 0x0185

Definition at line 637 of file Smi.cpp.

const int Wireless_Switch_Wireless_LAN_Control_Enable = 0x0186

Definition at line 638 of file Smi.cpp.