ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GDBConnection.h
Go to the documentation of this file.
1
56#ifndef ETISS_INCLUDE_GDB_GDBCONNECTION_H_
57#define ETISS_INCLUDE_GDB_GDBCONNECTION_H_
58
59#include <string>
60
61namespace etiss
62{
63
64namespace plugin
65{
66
67namespace gdb
68{
69
70class Connection;
71
76{
77 friend class Connection;
78
79 private:
80 PacketProtocol(Connection &connection);
81
82 public:
83 virtual bool available(bool block = false);
84 virtual std::string rcv(bool &isnotification);
85 virtual bool snd(std::string answer, bool isnotification);
86
87 private:
88 virtual bool _available(bool block);
89 virtual void tryReadPacket();
90 std::string buffer;
91 std::string command;
95};
96
102{
103 friend class PacketProtocol;
104
105 public:
106 Connection();
107 virtual ~Connection();
108 virtual bool available() = 0;
109 virtual std::string rcv() = 0;
110 virtual bool snd(std::string answer) = 0;
112 virtual bool isRelyable();
113 virtual bool pendingBREAK();
114 virtual void clearBREAK();
115
116 protected:
118
119 private:
121};
122
123} // namespace gdb
124
125} // namespace plugin
126
127} // namespace etiss
128
129#endif
interface for gdb connections.
virtual std::string rcv()=0
virtual bool snd(std::string answer)=0
virtual PacketProtocol & getPacketProtocol()
implements gdb's packet protocol
virtual bool snd(std::string answer, bool isnotification)
virtual std::string rcv(bool &isnotification)
virtual bool available(bool block=false)
virtual bool _available(bool block)
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
Definition Benchmark.h:53