summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-03-24 04:28:38 +0000
committerGreg Clayton <gclayton@apple.com>2011-03-24 04:28:38 +0000
commit1cb6496eb024249cd9b67e9c53808553128dd0e7 (patch)
tree2ebad6376e8dfd2960212fd3c4fe4743bfc7d1b1 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
parenta75d158c419435a7097d96de630ddc43d25154ad (diff)
downloadbcm5719-llvm-1cb6496eb024249cd9b67e9c53808553128dd0e7.tar.gz
bcm5719-llvm-1cb6496eb024249cd9b67e9c53808553128dd0e7.zip
Did a lot more work on abtracting and organizing the platforms.
On Mac OS X we now have 3 platforms: PlatformDarwin - must be subclassed to fill in the missing pure virtual funcs but this implements all the common functionality between remote-macosx and remote-ios. It also allows for another platform to be used (remote-gdb-server for now) when doing remote connections. Keeping this pluggable will allow for flexibility. PlatformMacOSX - Now implements both local and remote macosx desktop platforms. PlatformRemoteiOS - Remote only iOS that knows how to locate SDK files in the cached SDK locations on the host. A new agnostic platform has been created: PlatformRemoteGDBServer - this implements the platform using the GDB remote protocol and uses the built in lldb_private::Host static functions to implement many queries. llvm-svn: 128193
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h35
1 files changed, 32 insertions, 3 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
index bcf23f2c589..410d80de316 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
@@ -29,6 +29,13 @@ public:
virtual
~GDBRemoteCommunicationClient();
+ //------------------------------------------------------------------
+ // After connecting, send the handshake to the server to make sure
+ // we are communicating with it.
+ //------------------------------------------------------------------
+ bool
+ HandshakeWithServer (lldb_private::Error *error_ptr);
+
size_t
SendPacketAndWaitForResponse (const char *send_payload,
StringExtractorGDBRemote &response,
@@ -49,8 +56,8 @@ public:
virtual bool
GetThreadSuffixSupported ();
- virtual bool
- GetSendAcks ();
+ void
+ QueryNoAckModeSupported ();
bool
SendAsyncSignal (int signo);
@@ -186,6 +193,23 @@ public:
GetHostInfo ();
bool
+ GetOSVersion (uint32_t &major,
+ uint32_t &minor,
+ uint32_t &update);
+
+ bool
+ GetOSBuildString (std::string &s);
+
+ bool
+ GetOSKernelDescription (std::string &s);
+
+ lldb_private::ArchSpec
+ GetSystemArchitecture ();
+
+ bool
+ GetHostname (std::string &s);
+
+ bool
GetSupportsThreadSuffix ();
bool
@@ -232,7 +256,12 @@ protected:
int m_async_signal; // We were asked to deliver a signal to the inferior process.
lldb_private::ArchSpec m_host_arch;
- uint32_t m_cpusubtype;
+ uint32_t m_os_version_major;
+ uint32_t m_os_version_minor;
+ uint32_t m_os_version_update;
+ std::string m_os_build;
+ std::string m_os_kernel;
+ std::string m_hostname;
private:
//------------------------------------------------------------------
OpenPOWER on IntegriCloud