#include <serialize.h>
Data Structures | |
| struct | cache_header_t |
Public Member Functions | |
| COMMON_EXPORT | SerDesBin () |
| COMMON_EXPORT | SerDesBin (FILE *ff, iomode_t mode, bool verbose=false) |
| virtual COMMON_EXPORT | ~SerDesBin () |
| COMMON_EXPORT bool | isEOF () |
| virtual COMMON_EXPORT void | file_start (std::string &full_file_path) |
| virtual COMMON_EXPORT void | vector_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError) |
| virtual COMMON_EXPORT void | vector_end () |
| virtual COMMON_EXPORT void | multimap_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError) |
| virtual COMMON_EXPORT void | multimap_end () |
| virtual COMMON_EXPORT void | pair_start (const char *tag=NULL) DECLTHROW(SerializerError) |
| virtual COMMON_EXPORT void | pair_end () |
| virtual COMMON_EXPORT void | hash_map_start (unsigned long &size, const char *tag=NULL) DECLTHROW(SerializerError) |
| virtual COMMON_EXPORT void | hash_map_end () |
| virtual COMMON_EXPORT void | annotation_start (Dyninst::AnnotationClassID &a_id, void *&, sparse_or_dense_anno_t &, const char *string_id, const char *tag=NULL) |
| virtual COMMON_EXPORT void | annotation_end () |
| virtual COMMON_EXPORT void | annotation_container_start (void *&id) |
| virtual COMMON_EXPORT void | annotation_container_end () |
| virtual COMMON_EXPORT void | annotation_container_item_start (void *&id) |
| virtual COMMON_EXPORT void | annotation_container_item_end () |
| virtual COMMON_EXPORT void | annotation_list_start (Address &id, unsigned long &nelem, const char *tag="AnnotationList") |
| virtual COMMON_EXPORT void | annotation_list_end () |
| virtual COMMON_EXPORT void | translate (bool ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (char ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (int ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (long ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (short ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (unsigned short ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (unsigned int ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (float ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (double ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (Address ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (void *¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (const char *¶m, int bufsize=0, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (char *¶m, int bufsize=0, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (std::string ¶m, const char *tag=NULL) |
| virtual COMMON_EXPORT void | translate (std::vector< std::string > ¶m, const char *tag=NULL, const char *elem_tag=NULL) |
| virtual COMMON_EXPORT void | magic_check (const char *file__, unsigned int line__) |
| virtual COMMON_EXPORT iomode_t | iomode () |
Static Public Member Functions | |
| static COMMON_EXPORT FILE * | init (std::string fname, iomode_t mode, bool verbose) |
| static COMMON_EXPORT void | readHeaderAndVerify (std::string full_file_path, std::string cache_name, FILE *f=NULL) |
| static COMMON_EXPORT void | writeHeaderPreamble (FILE *f, std::string full_file_path, std::string cache_name) |
| static COMMON_EXPORT bool | getDefaultCacheDir (std::string &cache_dir) |
| static COMMON_EXPORT bool | resolveCachePath (std::string fname, std::string &cache_name) |
| static COMMON_EXPORT bool | verifyChecksum (std::string &filename, const char comp_checksum[SHA1_DIGEST_LEN]) |
| static COMMON_EXPORT bool | cacheFileExists (std::string fname) |
| static COMMON_EXPORT bool | invalidateCache (std::string cache_name) |
Protected Attributes | |
| iomode_t | iomode_ |
Private Attributes | |
| FILE * | f |
| bool | noisy |
Definition at line 504 of file serialize.h.
| COMMON_EXPORT Dyninst::SerDesBin::SerDesBin | ( | ) | [inline] |
Definition at line 521 of file serialize.h.
| COMMON_EXPORT Dyninst::SerDesBin::SerDesBin | ( | FILE * | ff, | |
| iomode_t | mode, | |||
| bool | verbose = false | |||
| ) | [inline] |
Definition at line 523 of file serialize.h.
| SerDesBin::~SerDesBin | ( | ) | [virtual] |
Definition at line 847 of file serialize-bin.C.
| void SerDesBin::annotation_container_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1338 of file serialize-bin.C.
References FILE__, and magic_check().
| void SerDesBin::annotation_container_item_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1351 of file serialize-bin.C.
References FILE__, and magic_check().
| void SerDesBin::annotation_container_item_start | ( | void *& | id | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1343 of file serialize-bin.C.
References FILE__, magic_check(), and translate().
| void SerDesBin::annotation_container_start | ( | void *& | id | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1330 of file serialize-bin.C.
References FILE__, magic_check(), and translate().
| void SerDesBin::annotation_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1324 of file serialize-bin.C.
| void SerDesBin::annotation_list_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1394 of file serialize-bin.C.
| void SerDesBin::annotation_list_start | ( | Address & | id, | |
| unsigned long & | nelem, | |||
| const char * | tag = "AnnotationList" | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1373 of file serialize-bin.C.
References FILE__, Dyninst::SerDes::iomode_, magic_check(), serialize_printf, and translate().
| void SerDesBin::annotation_start | ( | Dyninst::AnnotationClassID & | a_id, | |
| void *& | parent_id, | |||
| sparse_or_dense_anno_t & | sod, | |||
| const char * | string_id, | |||
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1301 of file serialize-bin.C.
References FILE__, Dyninst::SerDes::iomode(), Dyninst::SerDes::iomode_, magic_check(), serialize_printf, and translate().
| bool SerDesBin::cacheFileExists | ( | std::string | fname | ) | [static] |
Definition at line 1070 of file serialize-bin.C.
References resolveCachePath().
| void SerDesBin::file_start | ( | std::string & | full_file_path | ) | [virtual] |
Reimplemented from Dyninst::SerDes.
Definition at line 1239 of file serialize-bin.C.
| bool SerDesBin::getDefaultCacheDir | ( | std::string & | cache_dir | ) | [static] |
Definition at line 856 of file serialize-bin.C.
References DEFAULT_CACHE_DIR, DEFAULT_DYNINST_DIR, FILE__, fprintf, P_mkdir(), Dyninst::platform_string(), and serialize_printf.
Referenced by resolveCachePath().
| void SerDesBin::hash_map_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1297 of file serialize-bin.C.
| void SerDesBin::hash_map_start | ( | unsigned long & | size, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1290 of file serialize-bin.C.
References translate().
| FILE * SerDesBin::init | ( | std::string | fname, | |
| iomode_t | mode, | |||
| bool | verbose | |||
| ) | [static] |
Definition at line 774 of file serialize-bin.C.
References f, FILE__, fprintf, readHeaderAndVerify(), resolveCachePath(), SER_ERR, serialize_printf, and writeHeaderPreamble().
Referenced by Dyninst::SerFile::SerFile().
| bool SerDesBin::invalidateCache | ( | std::string | cache_name | ) | [static] |
Definition at line 1227 of file serialize-bin.C.
References FILE__, fprintf, and P_unlink().
Referenced by readHeaderAndVerify().
| virtual COMMON_EXPORT iomode_t Dyninst::SerDes::iomode | ( | ) | [inline, virtual, inherited] |
Definition at line 428 of file serialize.h.
References Dyninst::SerDes::iomode_.
Referenced by annotation_start().
| bool SerDesBin::isEOF | ( | ) | [virtual] |
Reimplemented from Dyninst::SerDes.
Definition at line 851 of file serialize-bin.C.
References f.
Referenced by magic_check().
| void SerDesBin::magic_check | ( | const char * | file__, | |
| unsigned int | line__ | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1357 of file serialize-bin.C.
References fprintf, Dyninst::SerDes::iomode_, isEOF(), and translate().
Referenced by annotation_container_end(), annotation_container_item_end(), annotation_container_item_start(), annotation_container_start(), annotation_list_start(), annotation_start(), and vector_start().
| void SerDesBin::multimap_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1276 of file serialize-bin.C.
| void SerDesBin::multimap_start | ( | unsigned long & | size, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1269 of file serialize-bin.C.
References translate().
| void SerDesBin::pair_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1285 of file serialize-bin.C.
| void SerDesBin::pair_start | ( | const char * | tag = NULL |
) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1281 of file serialize-bin.C.
| void SerDesBin::readHeaderAndVerify | ( | std::string | full_file_path, | |
| std::string | cache_name, | |||
| FILE * | f = NULL | |||
| ) | [static] |
Definition at line 1076 of file serialize-bin.C.
References CACHE_MAGIC, Dyninst::SerDesBin::cache_header_t::cache_magic, f, FILE__, fprintf, invalidateCache(), SER_ERR, serialize_printf, Dyninst::SerDesBin::cache_header_t::sha1, Dyninst::SerDesBin::cache_header_t::source_file_size, and verifyChecksum().
Referenced by init().
| bool SerDesBin::resolveCachePath | ( | std::string | fname, | |
| std::string & | cache_name | |||
| ) | [static] |
Definition at line 1010 of file serialize-bin.C.
References CACHE_DIR_VAR, CACHE_PREFIX, extract_pathname_tail(), FILE__, fprintf, getDefaultCacheDir(), and serialize_printf.
Referenced by cacheFileExists(), Dyninst::SerFile::getCacheFileName(), and init().
| void SerDesBin::translate | ( | std::vector< std::string > & | param, | |
| const char * | tag = NULL, |
|||
| const char * | elem_tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1742 of file serialize-bin.C.
References Dyninst::SerDes::iomode_, and translate().
| void SerDesBin::translate | ( | std::string & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1720 of file serialize-bin.C.
References FILE__, Dyninst::SerDes::iomode_, serialize_printf, and translate().
| void SerDesBin::translate | ( | char *& | param, | |
| int | bufsize = 0, |
|||
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1713 of file serialize-bin.C.
References translate().
| void SerDesBin::translate | ( | const char *& | param, | |
| int | bufsize = 0, |
|||
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1637 of file serialize-bin.C.
References f, FILE__, fprintf, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | void *& | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1613 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | Address & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1588 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | double & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1564 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | float & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1540 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | unsigned int & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1534 of file serialize-bin.C.
References translate().
| void SerDesBin::translate | ( | unsigned short & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1503 of file serialize-bin.C.
References translate().
| void SerDesBin::translate | ( | short & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1510 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | long & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1479 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | int & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1449 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | char & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1424 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
| void SerDesBin::translate | ( | bool & | param, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1399 of file serialize-bin.C.
References f, FILE__, Dyninst::SerDes::iomode_, noisy, SER_ERR, and serialize_printf.
Referenced by annotation_container_item_start(), annotation_container_start(), annotation_list_start(), annotation_start(), hash_map_start(), magic_check(), multimap_start(), translate(), and vector_start().
| void SerDesBin::vector_end | ( | ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1264 of file serialize-bin.C.
| void SerDesBin::vector_start | ( | unsigned long & | size, | |
| const char * | tag = NULL | |||
| ) | [virtual] |
Implements Dyninst::SerDes.
Definition at line 1243 of file serialize-bin.C.
References FILE__, Dyninst::SerDes::iomode_, magic_check(), serialize_printf, and translate().
| static COMMON_EXPORT bool Dyninst::SerDesBin::verifyChecksum | ( | std::string & | filename, | |
| const char | comp_checksum[SHA1_DIGEST_LEN] | |||
| ) | [static] |
Referenced by readHeaderAndVerify().
| void SerDesBin::writeHeaderPreamble | ( | FILE * | f, | |
| std::string | full_file_path, | |||
| std::string | cache_name | |||
| ) | [static] |
Definition at line 1167 of file serialize-bin.C.
References CACHE_MAGIC, Dyninst::SerDesBin::cache_header_t::cache_magic, FILE__, SER_ERR, serialize_printf, Dyninst::SerDesBin::cache_header_t::sha1, sha1_file(), and Dyninst::SerDesBin::cache_header_t::source_file_size.
Referenced by init().
FILE* Dyninst::SerDesBin::f [private] |
Definition at line 512 of file serialize.h.
Referenced by init(), isEOF(), readHeaderAndVerify(), and translate().
iomode_t Dyninst::SerDes::iomode_ [protected, inherited] |
Definition at line 367 of file serialize.h.
Referenced by annotation_list_start(), annotation_start(), Dyninst::SerDes::iomode(), magic_check(), translate(), and vector_start().
bool Dyninst::SerDesBin::noisy [private] |
Definition at line 514 of file serialize.h.
Referenced by translate().
1.6.1