<rdar://problem/12491387>

Added commands to the KDP plug-in that allow sending raw commands through the KDP protocol. You specify a command byte and a payload as ASCII hex bytes, and the packet is created with a valid header/sequenceID/length and sent. The command responds with a raw ASCII hex string that contains all bytes in the reply including the header.

An example of sending a read register packet for the GPR on x86_64:

(lldb) process plugin packet send --command 0x07 --payload 0100000004000000

llvm-svn: 166346
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
index c46d409..1d2df32 100644
--- a/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
+++ b/lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
@@ -171,6 +171,13 @@
                             uint32_t src_len,
                             lldb_private::Error &error);
 
+    bool
+    SendRawRequest (uint8_t command_byte,
+                    const void *src,
+                    uint32_t src_len,
+                    lldb_private::DataExtractor &reply,
+                    lldb_private::Error &error);
+
     uint32_t
     SendRequestReadRegisters (uint32_t cpu,
                               uint32_t flavor,