* Makefile.in (ALLDEPFILES): Remove alphanbsd-nat.c.
[deliverable/binutils-gdb.git] / gdb / remote-st.c
index aa00e8fa2e563f220900f5d1b5aa007af8b4431f..c27ddebbf3be7e3dd7535f0698891de4a289d6dd 100644 (file)
@@ -1,5 +1,8 @@
 /* Remote debugging interface for Tandem ST2000 phone switch, for GDB.
 /* Remote debugging interface for Tandem ST2000 phone switch, for GDB.
-   Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
+
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000,
+   2001, 2002 Free Software Foundation, Inc.
+
    Contributed by Cygnus Support.  Written by Jim Kingdon for Cygnus.
 
    This file is part of GDB.
    Contributed by Cygnus Support.  Written by Jim Kingdon for Cygnus.
 
    This file is part of GDB.
 #include "defs.h"
 #include "gdbcore.h"
 #include "target.h"
 #include "defs.h"
 #include "gdbcore.h"
 #include "target.h"
-#include "gdb_wait.h"
-#include <signal.h>
 #include "gdb_string.h"
 #include <sys/types.h>
 #include "serial.h"
 #include "gdb_string.h"
 #include <sys/types.h>
 #include "serial.h"
+#include "regcache.h"
 
 extern struct target_ops st2000_ops;   /* Forward declaration */
 
 
 extern struct target_ops st2000_ops;   /* Forward declaration */
 
@@ -61,7 +63,7 @@ static int timeout = 24;
    st2000_open knows that we don't have a file open when the program
    starts.  */
 
    st2000_open knows that we don't have a file open when the program
    starts.  */
 
-static serial_t st2000_desc;
+static struct serial *st2000_desc;
 
 /* Send data to stdebug.  Works just like printf. */
 
 
 /* Send data to stdebug.  Works just like printf. */
 
@@ -76,8 +78,9 @@ printf_stdebug (char *pattern,...)
   vsprintf (buf, pattern, args);
   va_end (args);
 
   vsprintf (buf, pattern, args);
   va_end (args);
 
-  if (SERIAL_WRITE (st2000_desc, buf, strlen (buf)))
-    fprintf (stderr, "SERIAL_WRITE failed: %s\n", safe_strerror (errno));
+  if (serial_write (st2000_desc, buf, strlen (buf)))
+    fprintf_unfiltered (gdb_stderr, "serial_write failed: %s\n",
+                       safe_strerror (errno));
 }
 
 /* Read a character from the remote system, doing all the fancy timeout
 }
 
 /* Read a character from the remote system, doing all the fancy timeout
@@ -88,7 +91,7 @@ readchar (int timeout)
 {
   int c;
 
 {
   int c;
 
-  c = SERIAL_READCHAR (st2000_desc, timeout);
+  c = serial_readchar (st2000_desc, timeout);
 
 #ifdef LOG_FILE
   putc (c & 0x7f, log_file);
 
 #ifdef LOG_FILE
   putc (c & 0x7f, log_file);
@@ -280,14 +283,18 @@ or target st2000 <host> <port>\n");
 
   st2000_close (0);
 
 
   st2000_close (0);
 
-  st2000_desc = SERIAL_OPEN (dev_name);
+  st2000_desc = serial_open (dev_name);
 
   if (!st2000_desc)
     perror_with_name (dev_name);
 
 
   if (!st2000_desc)
     perror_with_name (dev_name);
 
-  SERIAL_SETBAUDRATE (st2000_desc, baudrate);
+  if (serial_setbaudrate (st2000_desc, baudrate))
+    {
+      serial_close (dev_name);
+      perror_with_name (dev_name);
+    }
 
 
-  SERIAL_RAW (st2000_desc);
+  serial_raw (st2000_desc);
 
   push_target (&st2000_ops);
 
 
   push_target (&st2000_ops);
 
@@ -312,15 +319,15 @@ or target st2000 <host> <port>\n");
 static void
 st2000_close (int quitting)
 {
 static void
 st2000_close (int quitting)
 {
-  SERIAL_CLOSE (st2000_desc);
+  serial_close (st2000_desc);
 
 #if defined (LOG_FILE)
   if (log_file)
     {
       if (ferror (log_file))
 
 #if defined (LOG_FILE)
   if (log_file)
     {
       if (ferror (log_file))
-       fprintf (stderr, "Error writing log file.\n");
+       fprintf_unfiltered (gdb_stderr, "Error writing log file.\n");
       if (fclose (log_file) != 0)
       if (fclose (log_file) != 0)
-       fprintf (stderr, "Error closing log file.\n");
+       fprintf_unfiltered (gdb_stderr, "Error closing log file.\n");
     }
 #endif
 }
     }
 #endif
 }
@@ -339,7 +346,7 @@ st2000_detach (int from_tty)
 /* Tell the remote machine to resume.  */
 
 static void
 /* Tell the remote machine to resume.  */
 
 static void
-st2000_resume (int pid, int step, enum target_signal sig)
+st2000_resume (ptid_t ptid, int step, enum target_signal sig)
 {
   if (step)
     {
 {
   if (step)
     {
@@ -358,8 +365,8 @@ st2000_resume (int pid, int step, enum target_signal sig)
 /* Wait until the remote machine stops, then return,
    storing status in STATUS just as `wait' would.  */
 
 /* Wait until the remote machine stops, then return,
    storing status in STATUS just as `wait' would.  */
 
-static int
-st2000_wait (struct target_waitstatus *status)
+static ptid_t
+st2000_wait (ptid_t ptid, struct target_waitstatus *status)
 {
   int old_timeout = timeout;
 
 {
   int old_timeout = timeout;
 
@@ -375,7 +382,7 @@ st2000_wait (struct target_waitstatus *status)
 
   timeout = old_timeout;
 
 
   timeout = old_timeout;
 
-  return 0;
+  return inferior_ptid;
 }
 
 /* Return the name of register number REGNO in the form input and output by
 }
 
 /* Return the name of register number REGNO in the form input and output by
@@ -548,14 +555,16 @@ st2000_read_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len)
   return len;
 }
 
   return len;
 }
 
-/* FIXME-someday!  Merge these two.  */
+/* Transfer LEN bytes between GDB address MYADDR and target address
+   MEMADDR.  If WRITE is non-zero, transfer them to the target,
+   otherwise transfer them from the target.  TARGET is unused.
+
+   Returns the number of bytes transferred. */
+
 static int
 static int
-st2000_xfer_inferior_memory (memaddr, myaddr, len, write, target)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
-     int write;
-     struct target_ops *target;        /* ignored */
+st2000_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len,
+                            int write, struct mem_attrib *attrib,
+                            struct target_ops *target)
 {
   if (write)
     return st2000_write_inferior_memory (memaddr, myaddr, len);
 {
   if (write)
     return st2000_write_inferior_memory (memaddr, myaddr, len);
@@ -608,7 +617,7 @@ st2000_insert_breakpoint (CORE_ADDR addr, char *shadow)
        return 0;
       }
 
        return 0;
       }
 
-  fprintf (stderr, "Too many breakpoints (> 16) for STDBUG\n");
+  fprintf_unfiltered (gdb_stderr, "Too many breakpoints (> 16) for STDBUG\n");
   return 1;
 }
 
   return 1;
 }
 
@@ -627,7 +636,8 @@ st2000_remove_breakpoint (CORE_ADDR addr, char *shadow)
        return 0;
       }
 
        return 0;
       }
 
-  fprintf (stderr, "Can't find breakpoint associated with 0x%x\n", addr);
+  fprintf_unfiltered (gdb_stderr,
+                     "Can't find breakpoint associated with 0x%x\n", addr);
   return 1;
 }
 
   return 1;
 }
 
@@ -657,7 +667,7 @@ static void
 cleanup_tty (void)
 {
   printf ("\r\n[Exiting connect mode]\r\n");
 cleanup_tty (void)
 {
   printf ("\r\n[Exiting connect mode]\r\n");
-/*  SERIAL_RESTORE(0, &ttystate); */
+/*  serial_restore(0, &ttystate); */
 }
 
 #if 0
 }
 
 #if 0
@@ -692,7 +702,7 @@ connect_command (char *args, int fromtty)
       do
        {
          FD_SET (0, &readfds);
       do
        {
          FD_SET (0, &readfds);
-         FD_SET (DEPRECATED_SERIAL_FD (st2000_desc), &readfds);
+         FD_SET (deprecated_serial_fd (st2000_desc), &readfds);
          numfds = select (sizeof (readfds) * 8, &readfds, 0, 0, 0);
        }
       while (numfds == 0);
          numfds = select (sizeof (readfds) * 8, &readfds, 0, 0, 0);
        }
       while (numfds == 0);
@@ -727,7 +737,7 @@ connect_command (char *args, int fromtty)
            }
        }
 
            }
        }
 
-      if (FD_ISSET (DEPRECATED_SERIAL_FD (st2000_desc), &readfds))
+      if (FD_ISSET (deprecated_serial_fd (st2000_desc), &readfds))
        {
          while (1)
            {
        {
          while (1)
            {
@@ -804,7 +814,6 @@ the speed to connect at in bits per second.";
   st2000_ops.to_thread_alive = 0;      /* thread alive */
   st2000_ops.to_stop = 0;      /* to_stop */
   st2000_ops.to_pid_to_exec_file = NULL;
   st2000_ops.to_thread_alive = 0;      /* thread alive */
   st2000_ops.to_stop = 0;      /* to_stop */
   st2000_ops.to_pid_to_exec_file = NULL;
-  st2000_run_ops.to_core_file_to_sym_file = NULL;
   st2000_ops.to_stratum = process_stratum;
   st2000_ops.DONT_USE = 0;     /* next */
   st2000_ops.to_has_all_memory = 1;
   st2000_ops.to_stratum = process_stratum;
   st2000_ops.DONT_USE = 0;     /* next */
   st2000_ops.to_has_all_memory = 1;
This page took 0.026102 seconds and 4 git commands to generate.