aboutsummaryrefslogtreecommitdiff
path: root/gdb/common
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/common')
-rw-r--r--gdb/common/rsp-low.c18
-rw-r--r--gdb/common/rsp-low.h21
2 files changed, 38 insertions, 1 deletions
diff --git a/gdb/common/rsp-low.c b/gdb/common/rsp-low.c
index ecaa69a..b777716 100644
--- a/gdb/common/rsp-low.c
+++ b/gdb/common/rsp-low.c
@@ -27,7 +27,7 @@
#include "rsp-low.h"
-/* Convert hex digit A to a number. */
+/* See rsp-low.h. */
int
fromhex (int a)
@@ -42,6 +42,8 @@ fromhex (int a)
error (_("Reply contains invalid hex digit %d"), a);
}
+/* See rsp-low.h. */
+
int
tohex (int nib)
{
@@ -76,6 +78,8 @@ ishex (int ch, int *val)
return 0;
}
+/* See rsp-low.h. */
+
char *
pack_nibble (char *buf, int nibble)
{
@@ -83,6 +87,8 @@ pack_nibble (char *buf, int nibble)
return buf;
}
+/* See rsp-low.h. */
+
char *
pack_hex_byte (char *pkt, int byte)
{
@@ -91,6 +97,8 @@ pack_hex_byte (char *pkt, int byte)
return pkt;
}
+/* See rsp-low.h. */
+
char *
unpack_varlen_hex (char *buff, /* packet to parse */
ULONGEST *result)
@@ -108,6 +116,8 @@ unpack_varlen_hex (char *buff, /* packet to parse */
return buff;
}
+/* See rsp-low.h. */
+
int
hex2bin (const char *hex, gdb_byte *bin, int count)
{
@@ -127,6 +137,8 @@ hex2bin (const char *hex, gdb_byte *bin, int count)
return i;
}
+/* See rsp-low.h. */
+
int
bin2hex (const gdb_byte *bin, char *hex, int count)
{
@@ -141,6 +153,8 @@ bin2hex (const gdb_byte *bin, char *hex, int count)
return i;
}
+/* See rsp-low.h. */
+
int
remote_escape_output (const gdb_byte *buffer, int len,
gdb_byte *out_buf, int *out_len,
@@ -173,6 +187,8 @@ remote_escape_output (const gdb_byte *buffer, int len,
return output_index;
}
+/* See rsp-low.h. */
+
int
remote_unescape_input (const gdb_byte *buffer, int len,
gdb_byte *out_buf, int out_maxlen)
diff --git a/gdb/common/rsp-low.h b/gdb/common/rsp-low.h
index 9edf4dc..31162c6 100644
--- a/gdb/common/rsp-low.h
+++ b/gdb/common/rsp-low.h
@@ -28,14 +28,35 @@ extern int fromhex (int a);
extern int tohex (int nib);
+/* Write a character representing the low order four bits of NIBBLE in
+ hex to *BUF. Returns BUF+1. */
+
extern char *pack_nibble (char *buf, int nibble);
+/* Write the low byte of BYTE in hex to *BUF. Returns BUF+2. */
+
extern char *pack_hex_byte (char *pkt, int byte);
+/* Read hex digits from BUFF and convert to a number, which is stored
+ in RESULT. Reads until a non-hex digit is seen. Returns a pointer
+ to the terminating character. */
+
extern char *unpack_varlen_hex (char *buff, ULONGEST *result);
+/* HEX is a string of characters representing hexadecimal digits.
+ Convert pairs of hex digits to bytes and store sequentially into
+ BIN. COUNT is the maximum number of characters to convert. This
+ will convert fewer characters if the number of hex characters
+ actually seen is odd, or if HEX terminates before COUNT characters.
+ Returns the number of characters actually converted. */
+
extern int hex2bin (const char *hex, gdb_byte *bin, int count);
+/* Convert some bytes to a hexadecimal representation. BIN holds the
+ bytes to convert. COUNT says how many bytes to convert. The
+ resulting characters are stored in HEX, followed by a NUL
+ character. Returns the number of bytes actually converted. */
+
extern int bin2hex (const gdb_byte *bin, char *hex, int count);
/* Convert BUFFER, binary data at least LEN bytes long, into escaped