/* Prototypes for local functions */
static int remote_write_bytes PARAMS ((CORE_ADDR memaddr,
- unsigned char *myaddr, int len));
+ char *myaddr, int len));
static int remote_read_bytes PARAMS ((CORE_ADDR memaddr,
- unsigned char *myaddr, int len));
+ char *myaddr, int len));
static void remote_files_info PARAMS ((struct target_ops *ignore));
cont_thread = th;
}
\f
+/* Return nonzero if the thread TH is still alive on the remote system. */
+
+static int
+remote_thread_alive (th)
+ int th;
+{
+ char buf[PBUFSIZ];
+
+ buf[0] = 'T';
+ if (th < 0)
+ sprintf (&buf[1], "-%x", -th);
+ else
+ sprintf (&buf[1], "%x", th);
+ putpkt (buf);
+ getpkt (buf, 0);
+ return (buf[0] == 'O' && buf[1] == 'K');
+}
+\f
/* Clean up connection to a remote debugger. */
/* ARGSUSED */
static int
remote_write_bytes (memaddr, myaddr, len)
CORE_ADDR memaddr;
- unsigned char *myaddr;
+ char *myaddr;
int len;
{
char buf[PBUFSIZ];
static int
remote_read_bytes (memaddr, myaddr, len)
CORE_ADDR memaddr;
- unsigned char *myaddr;
+ char *myaddr;
int len;
{
char buf[PBUFSIZ];
remote_mourn, /* to_mourn_inferior */
0, /* to_can_run */
0, /* to_notice_signals */
+ remote_thread_alive, /* to_thread_alive */
0, /* to_stop */
process_stratum, /* to_stratum */
NULL, /* to_next */