Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

rbu Namespace Reference


Compounds

class  IRbuHdr
 Interface definition for RBU HDR operations. More...

struct  rbu_hdr_file_header
struct  rbu_packet
struct  rbu_packet_0
class  RbuFactory
 AbstractFactory that produces IRbuHdr objects. More...

class  RbuFactoryImpl
class  RbuHdr

Enumerations

enum  packet_type { pt_any, pt_mono, pt_packet, pt_init }
enum  driver_type { rbu_unsupported, rbu_linux_v0, rbu_linux_v1, rbu_linux_v2 }

Functions

 DECLARE_EXCEPTION (RbuException)
 DECLARE_EXCEPTION_EX (RbuNotSupported, rbu, RbuException)
 DECLARE_EXCEPTION_EX (InvalidHdrFile, rbu, RbuException)
 DECLARE_EXCEPTION_EX (UnsupportedSystemForHdrFile, rbu, RbuException)
 DECLARE_EXCEPTION_EX (HdrFileIOError, rbu, RbuException)
std::ostream & operator<< (std::ostream &cout, const IRbuHdr &item)
void cancelDellBiosUpdate ()
 Cancel BIOS Update on Dell systems.

bool checkSystemId (const IRbuHdr &hdr, u16 sysId)
 Check to see if a HDR file supports a specific System ID.

void dellBiosUpdate (const IRbuHdr &hdr, packet_type force_type)
 Update BIOS on Dell systems.

int compareBiosVersion (std::string ver1, std::string ver2)
 Compare BIOS Versions.

driver_type getDriverType ()
FILE * writePacket (const char *fn, const char *buffer, size_t bufSize, bool openclose)
void pktUpdateLoop (FILE *hdr_fh, const char *packetFilename, char *buffer, size_t bufSize, bool openclose)
void monoUpdateLoop (FILE *hdr_fh, FILE *data_fh)
void setSize (const char *fn, size_t sz)
void doPacketUpdate_v1 (FILE *hdr_fh)
void doMonoUpdate_v1 (FILE *hdr_fh)
void doPacketUpdate_v0 (FILE *hdr_fh)
void doMonoUpdate_v0 (FILE *hdr_fh)
void setPacketType (packet_type type, const char *fn=rbu_v2_img_type_file)
void waitForFile (const char *fn, time_t wait)
void setLoadValue (char val)
void doPacketUpdate_v2 (FILE *hdr_fh)
void doMonoUpdate_v2 (FILE *hdr_fh)
string stringToLower (string in)
int compareSamePrefixOldBiosVersion (std::string ver1, std::string ver2)
int compareOldBiosVersion (std::string ver1, std::string ver2)
void splitNewVersion (std::string ver, unsigned int &maj, unsigned int &min, unsigned int &ext)
int compareNewBiosVersion (std::string ver1, std::string ver2)
packet_type getSupportedPacketType (void)
void activateRbuToken ()
void cancelRbuToken ()
void checksumPacket (rbu_packet *pkt, size_t size)
void createPacket (char *buffer, size_t bufSize, size_t imageSize)
 DEFINE_EXCEPTION_EX (RbuNotSupportedImpl, rbu, RbuNotSupported)
 DEFINE_EXCEPTION_EX (InvalidHdrFileImpl, rbu, InvalidHdrFile)
 DEFINE_EXCEPTION_EX (UnsupportedSystemForHdrFileImpl, rbu, UnsupportedSystemForHdrFile)
 DEFINE_EXCEPTION_EX (HdrFileIOErrorImpl, rbu, HdrFileIOError)

Variables

const int SYSID_OVERRIDE = 1
const int BIOSVER_OVERRIDE = 2
const char * rbu_v0_type_file = "/proc/dell/rbu/image_type"
const char * rbu_v0_data_file = "/proc/dell/rbu/rbudata"
const char * rbu_v0_size_file = "/proc/dell/rbu/rbudatasize"
const char * rbu_v1_mono_data_file = "/sys/firmware/rbu/rbudata"
const char * rbu_v1_mono_size_file = "/sys/firmware/rbu/rbudatasize"
const char * rbu_v1_pkt_data_file = "/sys/firmware/rbu/packetdata"
const char * rbu_v1_pkt_size_file = "/sys/firmware/rbu/packetdatasize"
const char * rbu_v2_fw_data_file = "/sys/class/firmware/dell_rbu/data"
const char * rbu_v2_fw_load_file = "/sys/class/firmware/dell_rbu/loading"
const char * rbu_v2_img_type_file = "/sys/devices/platform/dell_rbu/image_type"
const char * rbu_v2_pkt_size_file = "/sys/devices/platform/dell_rbu/packet_size"
const int RBU_PACKET_SIZE = 4096
rbu::rbu_packet LIBSMBIOS_PACKED_ATTR
const int NUM_SYS_ID_IN_HDR = 12


Enumeration Type Documentation

enum driver_type
 

Enumeration values:
rbu_unsupported 
rbu_linux_v0 
rbu_linux_v1 
rbu_linux_v2 

Definition at line 49 of file DellRbu.h.

Referenced by cancelDellBiosUpdate(), dellBiosUpdate(), and getDriverType().

enum packet_type
 

Enumeration values:
pt_any 
pt_mono 
pt_packet 
pt_init 

Definition at line 45 of file DellRbu.h.

Referenced by dellBiosUpdate(), getSupportedPacketType(), and setPacketType().


Function Documentation

void activateRbuToken  
 

Definition at line 364 of file RbuHdr.cpp.

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

Referenced by dellBiosUpdate().

void cancelDellBiosUpdate  
 

Cancel BIOS Update on Dell systems.

Definition at line 463 of file Rbu_Linux.cpp.

References cancelRbuToken(), driver_type, getDriverType(), pt_init, rbu_linux_v0, rbu_linux_v1, rbu_linux_v2, rbu_v0_size_file, rbu_v0_type_file, rbu_v1_mono_size_file, rbu_v1_pkt_size_file, rbu_v2_img_type_file, setLoadValue(), setPacketType(), and setSize().

void cancelRbuToken  
 

Definition at line 371 of file RbuHdr.cpp.

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

Referenced by cancelDellBiosUpdate().

void checksumPacket rbu_packet   pkt,
size_t    size
 

Definition at line 378 of file RbuHdr.cpp.

References rbu_packet::pktChksum, and u16.

Referenced by createPacket(), and pktUpdateLoop().

bool checkSystemId const IRbuHdr   hdr,
u16    sysId
 

Check to see if a HDR file supports a specific System ID.

Definition at line 146 of file RbuHdr.cpp.

References IRbuHdr::getSystemIdList(), u16, and u32.

Referenced by testRbu::checkHdrInfo().

int compareBiosVersion std::string    ver1,
std::string    ver2
 

Compare BIOS Versions.

Definition at line 312 of file RbuHdr.cpp.

References compareNewBiosVersion(), compareOldBiosVersion(), and stringToLower().

int compareNewBiosVersion std::string    ver1,
std::string    ver2
[static]
 

Definition at line 278 of file RbuHdr.cpp.

References splitNewVersion().

Referenced by compareBiosVersion().

int compareOldBiosVersion std::string    ver1,
std::string    ver2
[static]
 

Definition at line 218 of file RbuHdr.cpp.

References compareSamePrefixOldBiosVersion().

Referenced by compareBiosVersion().

int compareSamePrefixOldBiosVersion std::string    ver1,
std::string    ver2
[static]
 

Definition at line 206 of file RbuHdr.cpp.

Referenced by compareOldBiosVersion().

void createPacket char *    buffer,
size_t    bufSize,
size_t    imageSize
 

Definition at line 390 of file RbuHdr.cpp.

References checksumPacket(), rbu_packet::hdrSize, rbu_packet::pktChksum, rbu_packet::pktId, rbu_packet::pktNum, rbu_packet::pktSetId, rbu_packet::pktSize, rbu_packet::pktVer, rbu_packet::reserved1, rbu_packet::reserved2, and rbu_packet::totPkts.

Referenced by pktUpdateLoop().

DECLARE_EXCEPTION RbuException   
 

DECLARE_EXCEPTION_EX HdrFileIOError   ,
rbu   ,
RbuException   
 

DECLARE_EXCEPTION_EX UnsupportedSystemForHdrFile   ,
rbu   ,
RbuException   
 

DECLARE_EXCEPTION_EX InvalidHdrFile   ,
rbu   ,
RbuException   
 

DECLARE_EXCEPTION_EX RbuNotSupported   ,
rbu   ,
RbuException   
 

DEFINE_EXCEPTION_EX HdrFileIOErrorImpl   ,
rbu   ,
HdrFileIOError   
 

DEFINE_EXCEPTION_EX UnsupportedSystemForHdrFileImpl   ,
rbu   ,
UnsupportedSystemForHdrFile   
 

DEFINE_EXCEPTION_EX InvalidHdrFileImpl   ,
rbu   ,
InvalidHdrFile   
 

DEFINE_EXCEPTION_EX RbuNotSupportedImpl   ,
rbu   ,
RbuNotSupported   
 

void dellBiosUpdate const IRbuHdr   hdr,
packet_type    force_type
 

Update BIOS on Dell systems.

Definition at line 358 of file Rbu_Linux.cpp.

References activateRbuToken(), doMonoUpdate_v0(), doMonoUpdate_v1(), doMonoUpdate_v2(), doPacketUpdate_v0(), doPacketUpdate_v1(), doPacketUpdate_v2(), driver_type, getDriverType(), IRbuHdr::getFh(), getSupportedPacketType(), packet_type, pt_any, pt_init, pt_mono, pt_packet, rbu_linux_v0, rbu_linux_v1, rbu_linux_v2, rbu_v0_type_file, rbu_v2_img_type_file, and setPacketType().

void doMonoUpdate_v0 FILE *    hdr_fh [static]
 

Definition at line 234 of file Rbu_Linux.cpp.

References monoUpdateLoop(), rbu_v0_data_file, rbu_v0_size_file, and setSize().

Referenced by dellBiosUpdate().

void doMonoUpdate_v1 FILE *    hdr_fh [static]
 

Definition at line 194 of file Rbu_Linux.cpp.

References monoUpdateLoop(), rbu_v1_mono_data_file, rbu_v1_mono_size_file, rbu_v1_pkt_size_file, and setSize().

Referenced by dellBiosUpdate().

void doMonoUpdate_v2 FILE *    hdr_fh [static]
 

Definition at line 329 of file Rbu_Linux.cpp.

References monoUpdateLoop(), rbu_v2_fw_data_file, and setLoadValue().

Referenced by dellBiosUpdate().

void doPacketUpdate_v0 FILE *    hdr_fh [static]
 

Definition at line 222 of file Rbu_Linux.cpp.

References pktUpdateLoop(), RBU_PACKET_SIZE, rbu_v0_data_file, rbu_v0_size_file, and setSize().

Referenced by dellBiosUpdate().

void doPacketUpdate_v1 FILE *    hdr_fh [static]
 

Definition at line 182 of file Rbu_Linux.cpp.

References pktUpdateLoop(), RBU_PACKET_SIZE, rbu_v1_mono_size_file, rbu_v1_pkt_data_file, rbu_v1_pkt_size_file, and setSize().

Referenced by dellBiosUpdate().

void doPacketUpdate_v2 FILE *    hdr_fh [static]
 

Definition at line 318 of file Rbu_Linux.cpp.

References pktUpdateLoop(), RBU_PACKET_SIZE, rbu_v2_fw_data_file, rbu_v2_pkt_size_file, setLoadValue(), and setSize().

Referenced by dellBiosUpdate().

driver_type getDriverType  
 

Definition at line 58 of file Rbu_Linux.cpp.

References driver_type, rbu_linux_v0, rbu_linux_v1, rbu_linux_v2, rbu_unsupported, rbu_v0_data_file, rbu_v1_mono_data_file, and rbu_v2_img_type_file.

Referenced by cancelDellBiosUpdate(), and dellBiosUpdate().

packet_type getSupportedPacketType void   
 

Definition at line 343 of file RbuHdr.cpp.

References SmbiosFactory::getFactory(), SmbiosFactory::getSingleton(), packet_type, pt_mono, pt_packet, RBU_SMBIOS_STRUCT, and u8.

Referenced by dellBiosUpdate().

void monoUpdateLoop FILE *    hdr_fh,
FILE *    data_fh
[static]
 

Definition at line 141 of file Rbu_Linux.cpp.

Referenced by doMonoUpdate_v0(), doMonoUpdate_v1(), and doMonoUpdate_v2().

ostream & operator<< std::ostream &    cout,
const IRbuHdr   item
 

Definition at line 161 of file RbuHdr.cpp.

References IRbuHdr::streamify().

void pktUpdateLoop FILE *    hdr_fh,
const char *    packetFilename,
char *    buffer,
size_t    bufSize,
bool    openclose
[static]
 

Definition at line 101 of file Rbu_Linux.cpp.

References checksumPacket(), createPacket(), rbu_packet::pktData, rbu_packet::pktNum, and writePacket().

Referenced by doPacketUpdate_v0(), doPacketUpdate_v1(), and doPacketUpdate_v2().

void setLoadValue char    val [static]
 

Definition at line 301 of file Rbu_Linux.cpp.

References rbu_v2_fw_load_file, and waitForFile().

Referenced by cancelDellBiosUpdate(), doMonoUpdate_v2(), and doPacketUpdate_v2().

void setPacketType packet_type    type,
const char *    fn = rbu_v2_img_type_file
[static]
 

Definition at line 264 of file Rbu_Linux.cpp.

References packet_type, pt_any, pt_init, pt_mono, pt_packet, and rbu_v2_img_type_file.

Referenced by cancelDellBiosUpdate(), and dellBiosUpdate().

void setSize const char *    fn,
size_t    sz
[static]
 

Definition at line 166 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), doMonoUpdate_v0(), doMonoUpdate_v1(), doPacketUpdate_v0(), doPacketUpdate_v1(), and doPacketUpdate_v2().

void splitNewVersion std::string    ver,
unsigned int &    maj,
unsigned int &    min,
unsigned int &    ext
 

Definition at line 248 of file RbuHdr.cpp.

References DCOUT.

Referenced by compareNewBiosVersion(), and testRbu::testRbuNewVerSplit().

string stringToLower string    in [static]
 

Definition at line 198 of file RbuHdr.cpp.

Referenced by compareBiosVersion().

void waitForFile const char *    fn,
time_t    wait
[static]
 

Definition at line 294 of file Rbu_Linux.cpp.

Referenced by setLoadValue().

FILE* writePacket const char *    fn,
const char *    buffer,
size_t    bufSize,
bool    openclose
[static]
 

Definition at line 70 of file Rbu_Linux.cpp.

Referenced by pktUpdateLoop().


Variable Documentation

const int BIOSVER_OVERRIDE = 2
 

Definition at line 52 of file DellRbu.h.

struct rbu::rbu_hdr_file_header LIBSMBIOS_PACKED_ATTR
 

const int NUM_SYS_ID_IN_HDR = 12
 

Definition at line 102 of file RbuLowLevel.h.

const int RBU_PACKET_SIZE = 4096
 

Definition at line 56 of file Rbu_Linux.cpp.

Referenced by doPacketUpdate_v0(), doPacketUpdate_v1(), and doPacketUpdate_v2().

const char* rbu_v0_data_file = "/proc/dell/rbu/rbudata"
 

Definition at line 43 of file Rbu_Linux.cpp.

Referenced by doMonoUpdate_v0(), doPacketUpdate_v0(), and getDriverType().

const char* rbu_v0_size_file = "/proc/dell/rbu/rbudatasize"
 

Definition at line 44 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), doMonoUpdate_v0(), and doPacketUpdate_v0().

const char* rbu_v0_type_file = "/proc/dell/rbu/image_type"
 

Definition at line 42 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), and dellBiosUpdate().

const char* rbu_v1_mono_data_file = "/sys/firmware/rbu/rbudata"
 

Definition at line 46 of file Rbu_Linux.cpp.

Referenced by doMonoUpdate_v1(), and getDriverType().

const char* rbu_v1_mono_size_file = "/sys/firmware/rbu/rbudatasize"
 

Definition at line 47 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), doMonoUpdate_v1(), and doPacketUpdate_v1().

const char* rbu_v1_pkt_data_file = "/sys/firmware/rbu/packetdata"
 

Definition at line 48 of file Rbu_Linux.cpp.

Referenced by doPacketUpdate_v1().

const char* rbu_v1_pkt_size_file = "/sys/firmware/rbu/packetdatasize"
 

Definition at line 49 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), doMonoUpdate_v1(), and doPacketUpdate_v1().

const char* rbu_v2_fw_data_file = "/sys/class/firmware/dell_rbu/data"
 

Definition at line 51 of file Rbu_Linux.cpp.

Referenced by doMonoUpdate_v2(), and doPacketUpdate_v2().

const char* rbu_v2_fw_load_file = "/sys/class/firmware/dell_rbu/loading"
 

Definition at line 52 of file Rbu_Linux.cpp.

Referenced by setLoadValue().

const char* rbu_v2_img_type_file = "/sys/devices/platform/dell_rbu/image_type"
 

Definition at line 53 of file Rbu_Linux.cpp.

Referenced by cancelDellBiosUpdate(), dellBiosUpdate(), getDriverType(), and setPacketType().

const char* rbu_v2_pkt_size_file = "/sys/devices/platform/dell_rbu/packet_size"
 

Definition at line 54 of file Rbu_Linux.cpp.

Referenced by doPacketUpdate_v2().

const int SYSID_OVERRIDE = 1
 

Definition at line 51 of file DellRbu.h.


Generated on Tue Jul 3 18:35:14 2007 for SMBIOS Library by doxygen1.2.18