Classes | |
| class | RbuFactory |
| AbstractFactory that produces IRbuHdr objects. More... | |
| class | IRbuHdr |
| Interface definition for RBU HDR operations. More... | |
| struct | rbu_packet |
| struct | rbu_packet_0 |
| struct | rbu_hdr_file_header |
| 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) | |
| DECLARE_EXCEPTION_EX (RbuDriverIOError, 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 () |
| static FILE * | writePacket (const char *fn, const char *buffer, size_t bufSize, bool openclose) |
| static void | pktUpdateLoop (FILE *hdr_fh, const char *packetFilename, char *buffer, size_t bufSize, bool openclose) |
| static void | monoUpdateLoop (FILE *hdr_fh, FILE *data_fh) |
| static void | setSize (const char *fn, size_t sz) |
| static void | doPacketUpdate_v1 (FILE *hdr_fh) |
| static void | doMonoUpdate_v1 (FILE *hdr_fh) |
| static void | doPacketUpdate_v0 (FILE *hdr_fh) |
| static void | doMonoUpdate_v0 (FILE *hdr_fh) |
| static void | setPacketType (packet_type type, const char *fn=rbu_v2_img_type_file) |
| static void | waitForFile (const char *fn, time_t wait) |
| static void | setLoadValue (char val) |
| static void | doPacketUpdate_v2 (FILE *hdr_fh) |
| static void | doMonoUpdate_v2 (FILE *hdr_fh) |
| ostream & | operator<< (ostream &cout, const IRbuHdr &hdr) |
| static string | stringToLower (string in) |
| static int | compareSamePrefixOldBiosVersion (std::string ver1, std::string ver2) |
| static int | compareOldBiosVersion (std::string ver1, std::string ver2) |
| void | splitNewVersion (std::string ver, unsigned int &maj, unsigned int &min, unsigned int &ext) |
| static 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) | |
| DEFINE_EXCEPTION_EX (RbuDriverIOErrorImpl, rbu, RbuDriverIOError) | |
Variables | |
| const int | SYSID_OVERRIDE = 1 |
| const int | BIOSVER_OVERRIDE = 2 |
| struct rbu::rbu_packet | LIBSMBIOS_PACKED_ATTR |
| const int | NUM_SYS_ID_IN_HDR = 12 |
| 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 |
| enum driver_type |
| enum packet_type |
| void activateRbuToken | ( | ) |
Referenced by dellBiosUpdate().
| void cancelDellBiosUpdate | ( | ) |
Cancel BIOS Update on Dell systems.
Definition at line 464 of file Rbu_Linux.cpp.
References cancelRbuToken(), 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 | ( | ) |
Referenced by cancelDellBiosUpdate().
| void checksumPacket | ( | rbu_packet * | pkt, | |
| size_t | size | |||
| ) |
Referenced by pktUpdateLoop().
| bool checkSystemId | ( | const IRbuHdr & | hdr, | |
| u16 | sysId | |||
| ) |
Check to see if a HDR file supports a specific System ID.
Definition at line 152 of file RbuHdr.cpp.
References IRbuHdr::getSystemIdList().

| int compareBiosVersion | ( | std::string | ver1, | |
| std::string | ver2 | |||
| ) |
Compare BIOS Versions.
Definition at line 318 of file RbuHdr.cpp.
References compareNewBiosVersion(), compareOldBiosVersion(), and stringToLower().
Referenced by testRbu::testRbuNewVerCompare(), and testRbu::testRbuOldVerCompare().

| static int rbu::compareNewBiosVersion | ( | std::string | ver1, | |
| std::string | ver2 | |||
| ) | [static] |
Definition at line 284 of file RbuHdr.cpp.
References splitNewVersion().
Referenced by compareBiosVersion().

| static int rbu::compareOldBiosVersion | ( | std::string | ver1, | |
| std::string | ver2 | |||
| ) | [static] |
Definition at line 224 of file RbuHdr.cpp.
References compareSamePrefixOldBiosVersion().
Referenced by compareBiosVersion().

| static int rbu::compareSamePrefixOldBiosVersion | ( | std::string | ver1, | |
| std::string | ver2 | |||
| ) | [static] |
Definition at line 212 of file RbuHdr.cpp.
Referenced by compareOldBiosVersion().
| void createPacket | ( | char * | buffer, | |
| size_t | bufSize, | |||
| size_t | imageSize | |||
| ) |
Referenced by pktUpdateLoop().
| rbu::DECLARE_EXCEPTION | ( | RbuException | ) |
| rbu::DECLARE_EXCEPTION_EX | ( | UnsupportedSystemForHdrFile | , | |
| rbu | , | |||
| RbuException | ||||
| ) |
| rbu::DECLARE_EXCEPTION_EX | ( | RbuNotSupported | , | |
| rbu | , | |||
| RbuException | ||||
| ) |
| rbu::DECLARE_EXCEPTION_EX | ( | HdrFileIOError | , | |
| rbu | , | |||
| RbuException | ||||
| ) |
| rbu::DECLARE_EXCEPTION_EX | ( | RbuDriverIOError | , | |
| rbu | , | |||
| RbuException | ||||
| ) |
| rbu::DECLARE_EXCEPTION_EX | ( | InvalidHdrFile | , | |
| rbu | , | |||
| RbuException | ||||
| ) |
| rbu::DEFINE_EXCEPTION_EX | ( | RbuNotSupportedImpl | , | |
| rbu | , | |||
| RbuNotSupported | ||||
| ) |
| rbu::DEFINE_EXCEPTION_EX | ( | UnsupportedSystemForHdrFileImpl | , | |
| rbu | , | |||
| UnsupportedSystemForHdrFile | ||||
| ) |
| rbu::DEFINE_EXCEPTION_EX | ( | InvalidHdrFileImpl | , | |
| rbu | , | |||
| InvalidHdrFile | ||||
| ) |
| rbu::DEFINE_EXCEPTION_EX | ( | HdrFileIOErrorImpl | , | |
| rbu | , | |||
| HdrFileIOError | ||||
| ) |
| rbu::DEFINE_EXCEPTION_EX | ( | RbuDriverIOErrorImpl | , | |
| rbu | , | |||
| RbuDriverIOError | ||||
| ) |
| void dellBiosUpdate | ( | const IRbuHdr & | hdr, | |
| packet_type | force_type | |||
| ) |
Update BIOS on Dell systems.
Definition at line 359 of file Rbu_Linux.cpp.
References activateRbuToken(), doMonoUpdate_v0(), doMonoUpdate_v1(), doMonoUpdate_v2(), doPacketUpdate_v0(), doPacketUpdate_v1(), doPacketUpdate_v2(), getDriverType(), IRbuHdr::getFh(), getSupportedPacketType(), 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().

| static void rbu::doMonoUpdate_v0 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 235 of file Rbu_Linux.cpp.
References monoUpdateLoop(), rbu_v0_data_file, rbu_v0_size_file, and setSize().
Referenced by dellBiosUpdate().

| static void rbu::doMonoUpdate_v1 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 195 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().

| static void rbu::doMonoUpdate_v2 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 330 of file Rbu_Linux.cpp.
References monoUpdateLoop(), rbu_v2_fw_data_file, and setLoadValue().
Referenced by dellBiosUpdate().

| static void rbu::doPacketUpdate_v0 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 223 of file Rbu_Linux.cpp.
References pktUpdateLoop(), RBU_PACKET_SIZE, rbu_v0_data_file, rbu_v0_size_file, and setSize().
Referenced by dellBiosUpdate().

| static void rbu::doPacketUpdate_v1 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 183 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().

| static void rbu::doPacketUpdate_v2 | ( | FILE * | hdr_fh | ) | [static] |
Definition at line 319 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 rbu::getDriverType | ( | ) |
Definition at line 58 of file Rbu_Linux.cpp.
References rbu_v0_data_file, rbu_v1_mono_data_file, and rbu_v2_img_type_file.
Referenced by cancelDellBiosUpdate(), and dellBiosUpdate().
| packet_type getSupportedPacketType | ( | void | ) |
Referenced by dellBiosUpdate().
| static void rbu::monoUpdateLoop | ( | FILE * | hdr_fh, | |
| FILE * | data_fh | |||
| ) | [static] |
Definition at line 142 of file Rbu_Linux.cpp.
Referenced by doMonoUpdate_v0(), doMonoUpdate_v1(), and doMonoUpdate_v2().
| std::ostream& rbu::operator<< | ( | std::ostream & | cout, | |
| const IRbuHdr & | item | |||
| ) |
| ostream& rbu::operator<< | ( | ostream & | cout, | |
| const IRbuHdr & | hdr | |||
| ) |
Definition at line 167 of file RbuHdr.cpp.
References IRbuHdr::streamify().

| static void rbu::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, UNREFERENCED_PARAMETER, and writePacket().
Referenced by doPacketUpdate_v0(), doPacketUpdate_v1(), and doPacketUpdate_v2().

| static void rbu::setLoadValue | ( | char | val | ) | [static] |
Definition at line 302 of file Rbu_Linux.cpp.
References rbu_v2_fw_load_file, and waitForFile().
Referenced by cancelDellBiosUpdate(), doMonoUpdate_v2(), and doPacketUpdate_v2().

| static void rbu::setPacketType | ( | packet_type | type, | |
| const char * | fn = rbu_v2_img_type_file | |||
| ) | [static] |
Definition at line 265 of file Rbu_Linux.cpp.
References pt_any, pt_init, pt_mono, and pt_packet.
Referenced by cancelDellBiosUpdate(), and dellBiosUpdate().
| static void rbu::setSize | ( | const char * | fn, | |
| size_t | sz | |||
| ) | [static] |
Definition at line 167 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 | |||
| ) |
Referenced by compareNewBiosVersion(), and testRbu::testRbuNewVerSplit().
| static string rbu::stringToLower | ( | string | in | ) | [static] |
Definition at line 204 of file RbuHdr.cpp.
Referenced by compareBiosVersion().
| static void rbu::waitForFile | ( | const char * | fn, | |
| time_t | wait | |||
| ) | [static] |
Definition at line 295 of file Rbu_Linux.cpp.
Referenced by setLoadValue().
| static FILE* rbu::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().
| const int BIOSVER_OVERRIDE = 2 |
| const int NUM_SYS_ID_IN_HDR = 12 |
Definition at line 108 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(), and getDriverType().
| 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 |
1.7.1