X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace.hpp;h=57b8b052639085e6b8742bd5e395761f999577fe;hb=4fdd5632465440b4f584a74bd4c171aa225a16e5;hp=d0e986e0f2ec53fc3c90e4996091647b500f1044;hpb=b3b4de62d31ef22fea0dfff7ba7324843f3c845b;p=apitrace diff --git a/retrace.hpp b/retrace.hpp index d0e986e..57b8b05 100644 --- a/retrace.hpp +++ b/retrace.hpp @@ -28,7 +28,9 @@ #include +#include #include +#include #include "trace_model.hpp" @@ -78,16 +80,35 @@ public: }; +void +addRegion(unsigned long long address, void *buffer, unsigned long long size); + +void +delRegionByPointer(void *ptr); + +void * +toPointer(trace::Value &value, bool bind = false); + + /** * Output verbosity when retracing files. */ extern int verbosity; +/** + * Add profiling data to the dump when retracing. + */ +extern bool profiling; + + +std::ostream &warning(trace::Call &call); + -void ignore(Trace::Call &call); +void ignore(trace::Call &call); +void unsupported(trace::Call &call); -typedef void (*Callback)(Trace::Call &call); +typedef void (*Callback)(trace::Call &call); struct Entry { const char *name; @@ -102,6 +123,9 @@ struct stringComparer { }; +extern const Entry stdc_callbacks[]; + + class Retracer { typedef std::map Map; @@ -110,14 +134,16 @@ class Retracer std::vector callbacks; public: - Retracer() {} + Retracer() { + addCallbacks(stdc_callbacks); + } virtual ~Retracer() {} void addCallback(const Entry *entry); void addCallbacks(const Entry *entries); - void retrace(Trace::Call &call); + void retrace(trace::Call &call); };