]> git.cworth.org Git - apitrace/blobdiff - common/trace_writer.hpp
common: rename trace_backtrace.* -> os_backtrace.*
[apitrace] / common / trace_writer.hpp
index e012a9b24a0cf25787f7b95182066ad96ef0cc56..4c9547788c8e28b5833943744b86f18f533280dd 100644 (file)
@@ -37,7 +37,6 @@
 
 #include "trace_model.hpp"
 
-
 namespace trace {
     class File;
 
@@ -50,6 +49,7 @@ namespace trace {
         std::vector<bool> structs;
         std::vector<bool> enums;
         std::vector<bool> bitmasks;
+        std::vector<bool> frames;
 
     public:
         Writer();
@@ -70,6 +70,10 @@ namespace trace {
         void beginReturn(void);
         inline void endReturn(void) {}
 
+        void beginBacktrace(unsigned num_frames);
+        void writeStackFrame(const RawStackFrame *frame);
+        inline void endBacktrace(void) {}
+
         void beginArray(size_t length);
         inline void endArray(void) {}
 
@@ -79,6 +83,9 @@ namespace trace {
         void beginStruct(const StructSig *sig);
         inline void endStruct(void) {}
 
+        void beginRepr(void);
+        inline void endRepr(void) {}
+
         void writeBool(bool value);
         void writeSInt(signed long long value);
         void writeUInt(unsigned long long value);
@@ -91,7 +98,7 @@ namespace trace {
         void writeEnum(const EnumSig *sig, signed long long value);
         void writeBitmask(const BitmaskSig *sig, unsigned long long value);
         void writeNull(void);
-        void writeOpaque(const void *ptr);
+        void writePointer(unsigned long long addr);
 
         void writeCall(Call *call);