* symfile.h (allocate_symtab): Update.
[binutils-gdb.git] / gdb / ser-go32.c
index a8521f2a0e60637e4e2c435ea298357db065b6e7..d9003b8a8111cda243eb27b2f3e8c83f189cc192 100644 (file)
@@ -1,5 +1,6 @@
 /* Remote serial interface for local (hardwired) serial ports for GO32.
-   Copyright 1992, 1993, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1993, 2000, 2001, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
 
    Contributed by Nigel Stephens, Algorithmics Ltd. (nigel@algor.co.uk).
 
@@ -10,7 +11,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -19,9 +20,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "gdbcmd.h"
@@ -228,14 +227,14 @@ ports[4] =
   }
 };
 
-static int dos_open (serial_t scb, const char *name);
-static void dos_raw (serial_t scb);
-static int dos_readchar (serial_t scb, int timeout);
-static int dos_setbaudrate (serial_t scb, int rate);
-static int dos_write (serial_t scb, const char *str, int len);
-static void dos_close (serial_t scb);
-static serial_ttystate dos_get_tty_state (serial_t scb);
-static int dos_set_tty_state (serial_t scb, serial_ttystate state);
+static int dos_open (struct serial *scb, const char *name);
+static void dos_raw (struct serial *scb);
+static int dos_readchar (struct serial *scb, int timeout);
+static int dos_setbaudrate (struct serial *scb, int rate);
+static int dos_write (struct serial *scb, const char *str, int len);
+static void dos_close (struct serial *scb);
+static serial_ttystate dos_get_tty_state (struct serial *scb);
+static int dos_set_tty_state (struct serial *scb, serial_ttystate state);
 static int dos_baudconv (int rate);
 
 #define inb(p,a)       inportb((p)->base + (a))
@@ -356,8 +355,8 @@ dos_comisr (int irq)
 #define ISRNAME(x) dos_comisr##x
 #define ISR(x) static void ISRNAME(x)(void) {dos_comisr(x);}
 
-ISR (0) ISR (1) ISR (2) ISR (3)
-ISR (4) ISR (5) ISR (6) ISR (7)
+ISR (0) ISR (1) ISR (2) ISR (3) /* OK */
+ISR (4) ISR (5) ISR (6) ISR (7) /* OK */
 
 typedef void (*isr_t) (void);
 
@@ -453,7 +452,7 @@ dos_unhookirq (struct intrupt *intr)
 
 
 static int
-dos_open (serial_t scb, const char *name)
+dos_open (struct serial *scb, const char *name)
 {
   struct dos_ttystate *port;
   int fd, i;
@@ -558,7 +557,7 @@ ok:
 
 
 static void
-dos_close (serial_t scb)
+dos_close (struct serial *scb)
 {
   struct dos_ttystate *port;
   struct intrupt *intrupt;
@@ -600,19 +599,19 @@ dos_close (serial_t scb)
 
 
 static int
-dos_noop (serial_t scb)
+dos_noop (struct serial *scb)
 {
   return 0;
 }
 
 static void
-dos_raw (serial_t scb)
+dos_raw (struct serial *scb)
 {
   /* Always in raw mode */
 }
 
 static int
-dos_readchar (serial_t scb, int timeout)
+dos_readchar (struct serial *scb, int timeout)
 {
   struct dos_ttystate *port = &ports[scb->fd];
   long then;
@@ -630,7 +629,7 @@ dos_readchar (serial_t scb, int timeout)
 
 
 static serial_ttystate
-dos_get_tty_state (serial_t scb)
+dos_get_tty_state (struct serial *scb)
 {
   struct dos_ttystate *port = &ports[scb->fd];
   struct dos_ttystate *state;
@@ -654,7 +653,7 @@ dos_get_tty_state (serial_t scb)
 }
 
 static int
-dos_set_tty_state (serial_t scb, serial_ttystate ttystate)
+dos_set_tty_state (struct serial *scb, serial_ttystate ttystate)
 {
   struct dos_ttystate *state;
 
@@ -664,7 +663,7 @@ dos_set_tty_state (serial_t scb, serial_ttystate ttystate)
 }
 
 static int
-dos_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate,
+dos_noflush_set_tty_state (struct serial *scb, serial_ttystate new_ttystate,
                           serial_ttystate old_ttystate)
 {
   struct dos_ttystate *state;
@@ -675,9 +674,10 @@ dos_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate,
 }
 
 static int
-dos_flush_input (serial_t scb)
+dos_flush_input (struct serial *scb)
 {
   struct dos_ttystate *port = &ports[scb->fd];
+
   disable ();
   port->first = port->count = 0;
   if (port->fifo)
@@ -687,7 +687,7 @@ dos_flush_input (serial_t scb)
 }
 
 static void
-dos_print_tty_state (serial_t scb, serial_ttystate ttystate,
+dos_print_tty_state (struct serial *scb, serial_ttystate ttystate,
                     struct ui_file *stream)
 {
   /* Nothing to print */
@@ -718,7 +718,7 @@ dos_baudconv (int rate)
 
 
 static int
-dos_setbaudrate (serial_t scb, int rate)
+dos_setbaudrate (struct serial *scb, int rate)
 {
   struct dos_ttystate *port = &ports[scb->fd];
 
@@ -750,7 +750,7 @@ dos_setbaudrate (serial_t scb, int rate)
 }
 
 static int
-dos_setstopbits (serial_t scb, int num)
+dos_setstopbits (struct serial *scb, int num)
 {
   struct dos_ttystate *port = &ports[scb->fd];
   unsigned char cfcr;
@@ -777,7 +777,7 @@ dos_setstopbits (serial_t scb, int num)
 }
 
 static int
-dos_write (serial_t scb, const char *str, int len)
+dos_write (struct serial *scb, const char *str, int len)
 {
   volatile struct dos_ttystate *port = &ports[scb->fd];
   int fifosize = port->fifo ? 16 : 1;
@@ -818,7 +818,7 @@ dos_write (serial_t scb, const char *str, int len)
 
 
 static int
-dos_sendbreak (serial_t scb)
+dos_sendbreak (struct serial *scb)
 {
   volatile struct dos_ttystate *port = &ports[scb->fd];
   unsigned char cfcr;
@@ -856,9 +856,16 @@ static struct serial_ops dos_ops =
   dos_setbaudrate,
   dos_setstopbits,
   dos_noop,                    /* wait for output to drain */
-  (void (*)(serial_t, int))NULL        /* change into async mode */
+  (void (*)(struct serial *, int))NULL /* change into async mode */
 };
 
+int
+gdb_pipe (int pdes[2])
+{
+  /* No support for pipes.  */
+  errno = ENOSYS;
+  return -1;
+}
 
 static void
 dos_info (char *arg, int from_tty)
@@ -903,62 +910,62 @@ _initialize_ser_dos (void)
     intrupts[1].inuse =                /* keyboard */
     intrupts[2].inuse = 1;     /* slave icu */
 
-  add_show_from_set (
-                     add_set_cmd ("com1base", class_obscure, var_zinteger,
-                                  (char *) &ports[0].base,
-                                  "Set COM1 base i/o port address.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com1irq", class_obscure, var_zinteger,
-                                  (char *) &ports[0].irq,
-                                  "Set COM1 interrupt request.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com2base", class_obscure, var_zinteger,
-                                  (char *) &ports[1].base,
-                                  "Set COM2 base i/o port address.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com2irq", class_obscure, var_zinteger,
-                                  (char *) &ports[1].irq,
-                                  "Set COM2 interrupt request.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com3base", class_obscure, var_zinteger,
-                                  (char *) &ports[2].base,
-                                  "Set COM3 base i/o port address.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com3irq", class_obscure, var_zinteger,
-                                  (char *) &ports[2].irq,
-                                  "Set COM3 interrupt request.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com4base", class_obscure, var_zinteger,
-                                  (char *) &ports[3].base,
-                                  "Set COM4 base i/o port address.",
-                                  &setlist),
-                     &showlist);
-
-  add_show_from_set (
-                     add_set_cmd ("com4irq", class_obscure, var_zinteger,
-                                  (char *) &ports[3].irq,
-                                  "Set COM4 interrupt request.",
-                                  &setlist),
-                     &showlist);
+  add_setshow_zinteger_cmd ("com1base", class_obscure, &ports[0].base, _("\
+Set COM1 base i/o port address."), _("\
+Show COM1 base i/o port address."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com1irq", class_obscure, &ports[0].irq, _("\
+Set COM1 interrupt request."), _("\
+Show COM1 interrupt request."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com2base", class_obscure, &ports[1].base, _("\
+Set COM2 base i/o port address."), _("\
+Show COM2 base i/o port address."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com2irq", class_obscure, &ports[1].irq, _("\
+Set COM2 interrupt request."), _("\
+Show COM2 interrupt request."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com3base", class_obscure, &ports[2].base, _("\
+Set COM3 base i/o port address."), _("\
+Show COM3 base i/o port address."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com3irq", class_obscure, &ports[2].irq, _("\
+Set COM3 interrupt request."), _("\
+Show COM3 interrupt request."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com4base", class_obscure, &ports[3].base, _("\
+Set COM4 base i/o port address."), _("\
+Show COM4 base i/o port address."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
+
+  add_setshow_zinteger_cmd ("com4irq", class_obscure, &ports[3].irq, _("\
+Set COM4 interrupt request."), _("\
+Show COM4 interrupt request."), NULL,
+                           NULL,
+                           NULL, /* FIXME: i18n: */
+                           &setlist, &showlist);
 
   add_info ("serial", dos_info,
-           "Print DOS serial port status.");
+           _("Print DOS serial port status."));
 }