X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftracefile.h;h=9c7fdea72970b386bdaaafb387aa411d58bd1c4b;hb=f3c469b95b9f1f635668660c5041df9513a47a02;hp=db454e310774c48e930fbc9cd4b8bd17f3667121;hpb=12e03cd06ada8ca7e62fa52aa84946256c1bc654;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tracefile.h b/gdb/tracefile.h index db454e3107..9c7fdea729 100644 --- a/gdb/tracefile.h +++ b/gdb/tracefile.h @@ -1,8 +1,9 @@ #ifndef TRACEFILE_H #define TRACEFILE_H 1 -#include "defs.h" #include "tracepoint.h" +#include "target.h" +#include "process-stratum-target.h" struct trace_file_writer; @@ -85,6 +86,9 @@ struct trace_file_write_ops void (*write_uploaded_tp) (struct trace_file_writer *self, struct uploaded_tp *tp); + /* Write target description. */ + void (*write_tdesc) (struct trace_file_writer *self); + /* Write to mark the end of the definition part. */ void (*write_definition_end) (struct trace_file_writer *self); @@ -111,6 +115,22 @@ struct trace_file_writer extern struct trace_file_writer *tfile_trace_file_writer_new (void); -extern void init_tracefile_ops (struct target_ops *ops); +/* Base class for tracefile related targets. */ + +class tracefile_target : public process_stratum_target +{ +public: + tracefile_target () = default; + + int get_trace_status (trace_status *ts) override; + bool has_all_memory () override; + bool has_memory () override; + bool has_stack () override; + bool has_registers () override; + bool has_execution (inferior *inf) override { return false; } + bool thread_alive (ptid_t ptid) override; +}; + +extern void tracefile_fetch_registers (struct regcache *regcache, int regno); #endif /* TRACEFILE_H */