s/typedef serial_t/struct serial */

This commit is contained in:
Andrew Cagney 2001-07-11 17:52:32 +00:00
parent 30120c4669
commit 819cc32466
35 changed files with 321 additions and 273 deletions

View File

@ -1,3 +1,42 @@
2001-07-10 Andrew Cagney <ac131313@redhat.com>
* serial.h (typedef serial_t): Delete. Replace all references to
serial_t with `struct serial *'.
* serial.c: Update.
* nindy-share/ttyflush.c: Update.
* nindy-share/ttyflush.c: Update.
* nindy-share/Onindy.c: Update.
* nindy-share/nindy.c: Update.
* remote-rdp.c: Update.
* remote-sds.c: Update.
* remote-st.c: Update.
* remote-nindy.c: Update.
* remote-mips.c: Update.
* remote-e7000.c: Update.
* remote-os9k.c: Update.
* remote-nrom.c: Update.
* remote-es.c: Update.
* remote-array.c: Update.
* ocd.c: Update.
* mon960-rom.c: Update.
* dsrec.c: Update.
* inflow.c: Update.
* ser-e7kpc.c: Update.
* sparclet-rom.c: Update.
* srec.h: Update.
* ser-tcp.c: Update.
* ser-go32.c: Update.
* sparcl-tdep.c: Update.
* w89k-rom.c: Update.
* utils.c: Update.
* sh3-rom.c: Update.
* remote.c: Update.
* ser-pipe.c: Update.
* ser-unix.c: Update.
* ser-unix.h: Update.
* xmodem.c: Update.
* xmodem.h: Update.
2001-07-11 J.T. Conklin <jtc@redback.com>
From Greg McGary <greg@mcgary.org>:

View File

@ -33,19 +33,20 @@ static int make_srec (char *srec, CORE_ADDR targ_addr, bfd * abfd,
int flags);
/* Download an executable by converting it to S records. DESC is a
serial_t to send the data to. FILE is the name of the file to be
loaded. LOAD_OFFSET is the offset into memory to load data into.
It is usually specified by the user and is useful with the a.out
file format. MAXRECSIZE is the length in chars of the largest
S-record the host can accomodate. This is measured from the
starting `S' to the last char of the checksum. FLAGS is various
random flags, and HASHMARK is non-zero to cause a `#' to be
`struct serial *' to send the data to. FILE is the name of the
file to be loaded. LOAD_OFFSET is the offset into memory to load
data into. It is usually specified by the user and is useful with
the a.out file format. MAXRECSIZE is the length in chars of the
largest S-record the host can accomodate. This is measured from
the starting `S' to the last char of the checksum. FLAGS is
various random flags, and HASHMARK is non-zero to cause a `#' to be
printed out for each record loaded. WAITACK, if non-NULL, is a
function that waits for an acknowledgement after each S-record,
and returns non-zero if the ack is read correctly. */
function that waits for an acknowledgement after each S-record, and
returns non-zero if the ack is read correctly. */
void
load_srec (serial_t desc, const char *file, bfd_vma load_offset, int maxrecsize,
load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
int maxrecsize,
int flags, int hashmark, int (*waitack) (void))
{
bfd *abfd;

View File

@ -70,7 +70,7 @@ static void terminal_ours_1 (int);
/* Record terminal status separately for debugger and inferior. */
static serial_t stdin_serial;
static struct serial *stdin_serial;
/* TTY state for the inferior. We save it whenever the inferior stops, and
restore it when it resumes. */

View File

@ -53,7 +53,7 @@ mon960_load_gen (char *filename, int from_tty)
#else
static void
mon960_load (serial_t desc, char *file, int hashmark)
mon960_load (struct serial *desc, char *file, int hashmark)
{
bfd *abfd;
asection *s;

View File

@ -58,7 +58,7 @@
extern int quiet; /* 1 => stifle unnecessary messages */
/* tty connected to 960/NINDY board. */
extern serial_t nindy_serial;
extern struct serial *nindy_serial;
static OninStrGet();

View File

@ -89,7 +89,7 @@
#define TIMEOUT -1
int quiet = 0; /* 1 => stifle unnecessary messages */
serial_t nindy_serial;
struct serial *nindy_serial;
static int old_nindy = 0; /* 1 => use old (hex) communication protocol */
static ninStrGet();
@ -514,7 +514,7 @@ parse_baudrate(s)
static int
try_baudrate (serial, brp)
serial_t serial;
struct serial *serial;
struct baudrate *brp;
{
unsigned char c;
@ -540,7 +540,7 @@ try_baudrate (serial, brp)
******************************************************************************/
static
autobaud( serial, brp )
serial_t serial;
struct serial *serial;
struct baudrate *brp;
{
int i;

View File

@ -27,7 +27,7 @@
int
tty_flush (serial)
serial_t serial;
struct serial *serial;
{
while (1)
{

View File

@ -83,7 +83,7 @@ static int remote_timeout = 2;
/* Descriptor for I/O to remote machine. Initialize it to NULL so that
ocd_open knows that we don't have a file open when the program
starts. */
static serial_t ocd_desc = NULL;
static struct serial *ocd_desc = NULL;
void
ocd_error (char *s, int error_code)

View File

@ -90,7 +90,7 @@ static int timeout = 30;
* Descriptor for I/O to remote machine. Initialize it to NULL so that
* array_open knows that we don't have a file open when the program starts.
*/
serial_t array_desc = NULL;
struct serial *array_desc = NULL;
/*
* this array of registers need to match the indexes used by GDB. The
@ -694,7 +694,7 @@ array_wait (ptid_t ptid, struct target_waitstatus *status)
int old_timeout = timeout;
int result, i;
char c;
serial_t tty_desc;
struct serial *tty_desc;
serial_ttystate ttystate;
debuglogs (1, "array_wait (), printing extraneous text.");

View File

@ -115,7 +115,7 @@ static void expect_prompt (void);
static int e7000_parse_device (char *args, char *dev_name, int baudrate);
/* Variables. */
static serial_t e7000_desc;
static struct serial *e7000_desc;
/* Allow user to chose between using hardware breakpoints or memory. */
static int use_hard_breakpoints = 0; /* use sw breakpoints by default */

View File

@ -231,7 +231,7 @@ static int m68020;
es1800_open knows that we don't have a file open when the program
starts. */
static serial_t es1800_desc = NULL;
static struct serial *es1800_desc = NULL;
#define PBUFSIZ 1000
#define HDRLEN sizeof("@.BAAAAAAAA=$VV\r")

View File

@ -362,10 +362,10 @@ static int mips_receive_wait = 5;
static int mips_need_reply = 0;
/* Handle used to access serial I/O stream. */
static serial_t mips_desc;
static struct serial *mips_desc;
/* UDP handle used to download files to target. */
static serial_t udp_desc;
static struct serial *udp_desc;
static int udp_in_use;
/* TFTP filename used to download files to DDB board, in the form
@ -1540,7 +1540,7 @@ device is attached to the target board (e.g., /dev/ttya).\n"
/* Open and initialize the serial port. */
mips_desc = SERIAL_OPEN (serial_port_name);
if (mips_desc == (serial_t) NULL)
if (mips_desc == NULL)
perror_with_name (serial_port_name);
if (baud_rate != -1)

View File

@ -141,7 +141,7 @@ char *nindy_ttyname; /* name of tty to talk to nindy on, or null */
#define FALSE 0
/* From nindy-share/nindy.c. */
extern serial_t nindy_serial;
extern struct serial *nindy_serial;
static int have_regs = 0; /* 1 iff regs read since i960 last halted */
static int regs_changed = 0; /* 1 iff regs were modified since last read */
@ -277,7 +277,7 @@ nindy_resume (ptid_t ptid, int step, enum target_signal siggnal)
struct clean_up_tty_args
{
serial_ttystate state;
serial_t serial;
struct serial *serial;
};
static struct clean_up_tty_args tty_args;

View File

@ -46,8 +46,8 @@ static void nrom_passthru (char *, int);
/* We talk to the NetROM over these sockets. */
static serial_t load_desc = NULL;
static serial_t ctrl_desc = NULL;
static struct serial *load_desc = NULL;
static struct serial *ctrl_desc = NULL;
static int load_port = DEFAULT_NETROM_LOAD_PORT;
static int control_port = DEFAULT_NETROM_CONTROL_PORT;
@ -97,11 +97,11 @@ nrom_kill (void)
nrom_close (0);
}
static serial_t
static struct serial *
open_socket (char *name, int port)
{
char sockname[100];
serial_t desc;
struct serial *desc;
sprintf (sockname, "%s:%d", name, port);
desc = SERIAL_OPEN (sockname);

View File

@ -80,7 +80,7 @@ static int tty_xoff = 0;
static int timeout = 10;
static int is_trace_mode = 0;
/* Descriptor for I/O to remote machine. Initialize it to NULL */
static serial_t monitor_desc = NULL;
static struct serial *monitor_desc = NULL;
static CORE_ADDR bufaddr = 0;
static int buflen = 0;

View File

@ -55,7 +55,7 @@
#endif
extern struct target_ops remote_rdp_ops;
static serial_t io;
static struct serial *io;
static host_callback *callback = &default_callback;
struct

View File

@ -127,7 +127,7 @@ static int sds_timeout = 2;
that sds_open knows that we don't have a file open when the program
starts. */
static serial_t sds_desc = NULL;
static struct serial *sds_desc = NULL;
/* This limit comes from the monitor. */

View File

@ -61,7 +61,7 @@ static int timeout = 24;
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. */

View File

@ -240,7 +240,7 @@ static int remote_break;
/* Descriptor for I/O to remote machine. Initialize it to NULL so that
remote_open knows that we don't have a file open when the program
starts. */
static serial_t remote_desc = NULL;
static struct serial *remote_desc = NULL;
/* This is set by the target (thru the 'S' message)
to denote that the target is in kernel mode. */
@ -5669,7 +5669,7 @@ static void *async_client_context;
static serial_event_ftype remote_async_serial_handler;
static void
remote_async_serial_handler (serial_t scb, void *context)
remote_async_serial_handler (struct serial *scb, void *context)
{
/* Don't propogate error information up to the client. Instead let
the client find out about the error by querying the target. */

View File

@ -33,14 +33,14 @@
#include <sys/dos.h>
#endif
static int e7000pc_open (serial_t scb, const char *name);
static void e7000pc_raw (serial_t scb);
static int e7000pc_readchar (serial_t scb, int timeout);
static int e7000pc_setbaudrate (serial_t scb, int rate);
static int e7000pc_write (serial_t scb, const char *str, int len);
static void e7000pc_close (serial_t scb);
static serial_ttystate e7000pc_get_tty_state (serial_t scb);
static int e7000pc_set_tty_state (serial_t scb, serial_ttystate state);
static int e7000pc_open (struct serial *scb, const char *name);
static void e7000pc_raw (struct serial *scb);
static int e7000pc_readchar (struct serial *scb, int timeout);
static int e7000pc_setbaudrate (struct serial *scb, int rate);
static int e7000pc_write (struct serial *scb, const char *str, int len);
static void e7000pc_close (struct serial *scb);
static serial_ttystate e7000pc_get_tty_state (struct serial *scb);
static int e7000pc_set_tty_state (struct serial *scb, serial_ttystate state);
#define OFF_DPD 0x0000
#define OFF_DDP 0x1000
@ -291,7 +291,7 @@ dosasync_write (int fd, const char *buf, int len)
}
static int
e7000pc_open (serial_t scb, const char *name)
e7000pc_open (struct serial *scb, const char *name)
{
if (strncasecmp (name, "pc", 2) != 0)
{
@ -308,19 +308,19 @@ e7000pc_open (serial_t scb, const char *name)
}
static int
e7000pc_noop (serial_t scb)
e7000pc_noop (struct serial *scb)
{
return 0;
}
static void
e7000pc_raw (serial_t scb)
e7000pc_raw (struct serial *scb)
{
/* Always in raw mode */
}
static int
e7000pc_readchar (serial_t scb, int timeout)
e7000pc_readchar (struct serial *scb, int timeout)
{
char buf;
@ -345,7 +345,7 @@ struct e7000pc_ttystate
vector. Someday, they may do something real... */
static serial_ttystate
e7000pc_get_tty_state (serial_t scb)
e7000pc_get_tty_state (struct serial *scb)
{
struct e7000pc_ttystate *state;
@ -355,20 +355,21 @@ e7000pc_get_tty_state (serial_t scb)
}
static int
e7000pc_set_tty_state (serial_t scb, serial_ttystate ttystate)
e7000pc_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
return 0;
}
static int
e7000pc_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate,
e7000pc_noflush_set_tty_state (struct serial *scb,
serial_ttystate new_ttystate,
serial_ttystate old_ttystate)
{
return 0;
}
static void
e7000pc_print_tty_state (serial_t scb,
e7000pc_print_tty_state (struct serial *scb,
serial_ttystate ttystate,
struct ui_file *stream)
{
@ -377,19 +378,19 @@ e7000pc_print_tty_state (serial_t scb,
}
static int
e7000pc_setbaudrate (serial_t scb, int rate)
e7000pc_setbaudrate (struct serial *scb, int rate)
{
return 0;
}
static int
e7000pc_setstopbits (serial_t scb, int rate)
e7000pc_setstopbits (struct serial *scb, int rate)
{
return 0;
}
static int
e7000pc_write (serial_t scb, const char *str, int len)
e7000pc_write (struct serial *scb, const char *str, int len)
{
dosasync_write (scb->fd, str, len);
@ -397,7 +398,7 @@ e7000pc_write (serial_t scb, const char *str, int len)
}
static void
e7000pc_close (serial_t scb)
e7000pc_close (struct serial *scb)
{
}

View File

@ -228,14 +228,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))
@ -453,7 +453,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 +558,7 @@ ok:
static void
dos_close (serial_t scb)
dos_close (struct serial *scb)
{
struct dos_ttystate *port;
struct intrupt *intrupt;
@ -600,19 +600,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 +630,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 +654,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 +664,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,7 +675,7 @@ 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 ();
@ -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,7 +856,7 @@ 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 */
};

View File

@ -34,8 +34,8 @@
#include <signal.h>
static int pipe_open (serial_t scb, const char *name);
static void pipe_close (serial_t scb);
static int pipe_open (struct serial *scb, const char *name);
static void pipe_close (struct serial *scb);
extern void _initialize_ser_pipe (void);
@ -47,7 +47,7 @@ struct pipe_state
/* Open up a raw pipe */
static int
pipe_open (serial_t scb, const char *name)
pipe_open (struct serial *scb, const char *name)
{
#if !HAVE_SOCKETPAIR
return -1;
@ -117,7 +117,7 @@ pipe_open (serial_t scb, const char *name)
}
static void
pipe_close (serial_t scb)
pipe_close (struct serial *scb)
{
struct pipe_state *state = scb->state;
if (state != NULL)

View File

@ -34,15 +34,15 @@
#include <signal.h>
#include "gdb_string.h"
static int tcp_open (serial_t scb, const char *name);
static void tcp_close (serial_t scb);
static int tcp_open (struct serial *scb, const char *name);
static void tcp_close (struct serial *scb);
void _initialize_ser_tcp (void);
/* Open up a raw tcp socket */
static int
tcp_open (serial_t scb, const char *name)
tcp_open (struct serial *scb, const char *name)
{
char *port_str;
int port;
@ -122,7 +122,7 @@ tcp_open (serial_t scb, const char *name)
}
static void
tcp_close (serial_t scb)
tcp_close (struct serial *scb)
{
if (scb->fd < 0)
return;

View File

@ -64,32 +64,37 @@ struct hardwire_ttystate
};
#endif /* sgtty */
static int hardwire_open (serial_t scb, const char *name);
static void hardwire_raw (serial_t scb);
static int wait_for (serial_t scb, int timeout);
static int hardwire_readchar (serial_t scb, int timeout);
static int do_hardwire_readchar (serial_t scb, int timeout);
static int generic_readchar (serial_t scb, int timeout, int (*do_readchar) (serial_t scb, int timeout));
static int hardwire_open (struct serial *scb, const char *name);
static void hardwire_raw (struct serial *scb);
static int wait_for (struct serial *scb, int timeout);
static int hardwire_readchar (struct serial *scb, int timeout);
static int do_hardwire_readchar (struct serial *scb, int timeout);
static int generic_readchar (struct serial *scb, int timeout,
int (*do_readchar) (struct serial *scb,
int timeout));
static int rate_to_code (int rate);
static int hardwire_setbaudrate (serial_t scb, int rate);
static void hardwire_close (serial_t scb);
static int get_tty_state (serial_t scb, struct hardwire_ttystate * state);
static int set_tty_state (serial_t scb, struct hardwire_ttystate * state);
static serial_ttystate hardwire_get_tty_state (serial_t scb);
static int hardwire_set_tty_state (serial_t scb, serial_ttystate state);
static int hardwire_noflush_set_tty_state (serial_t, serial_ttystate,
serial_ttystate);
static void hardwire_print_tty_state (serial_t, serial_ttystate, struct ui_file *);
static int hardwire_drain_output (serial_t);
static int hardwire_flush_output (serial_t);
static int hardwire_flush_input (serial_t);
static int hardwire_send_break (serial_t);
static int hardwire_setstopbits (serial_t, int);
static int hardwire_setbaudrate (struct serial *scb, int rate);
static void hardwire_close (struct serial *scb);
static int get_tty_state (struct serial *scb,
struct hardwire_ttystate * state);
static int set_tty_state (struct serial *scb,
struct hardwire_ttystate * state);
static serial_ttystate hardwire_get_tty_state (struct serial *scb);
static int hardwire_set_tty_state (struct serial *scb, serial_ttystate state);
static int hardwire_noflush_set_tty_state (struct serial *, serial_ttystate,
serial_ttystate);
static void hardwire_print_tty_state (struct serial *, serial_ttystate,
struct ui_file *);
static int hardwire_drain_output (struct serial *);
static int hardwire_flush_output (struct serial *);
static int hardwire_flush_input (struct serial *);
static int hardwire_send_break (struct serial *);
static int hardwire_setstopbits (struct serial *, int);
static int do_unix_readchar (serial_t scb, int timeout);
static int do_unix_readchar (struct serial *scb, int timeout);
static timer_handler_func push_event;
static handler_func fd_event;
static void reschedule (serial_t scb);
static void reschedule (struct serial *scb);
void _initialize_ser_hardwire (void);
@ -98,7 +103,7 @@ extern int (*ui_loop_hook) (int);
/* Open up a real live device for serial I/O */
static int
hardwire_open (serial_t scb, const char *name)
hardwire_open (struct serial *scb, const char *name)
{
scb->fd = open (name, O_RDWR);
if (scb->fd < 0)
@ -108,7 +113,7 @@ hardwire_open (serial_t scb, const char *name)
}
static int
get_tty_state (serial_t scb, struct hardwire_ttystate *state)
get_tty_state (struct serial *scb, struct hardwire_ttystate *state)
{
#ifdef HAVE_TERMIOS
if (tcgetattr (scb->fd, &state->termios) < 0)
@ -138,7 +143,7 @@ get_tty_state (serial_t scb, struct hardwire_ttystate *state)
}
static int
set_tty_state (serial_t scb, struct hardwire_ttystate *state)
set_tty_state (struct serial *scb, struct hardwire_ttystate *state)
{
#ifdef HAVE_TERMIOS
if (tcsetattr (scb->fd, TCSANOW, &state->termios) < 0)
@ -168,7 +173,7 @@ set_tty_state (serial_t scb, struct hardwire_ttystate *state)
}
static serial_ttystate
hardwire_get_tty_state (serial_t scb)
hardwire_get_tty_state (struct serial *scb)
{
struct hardwire_ttystate *state;
@ -181,7 +186,7 @@ hardwire_get_tty_state (serial_t scb)
}
static int
hardwire_set_tty_state (serial_t scb, serial_ttystate ttystate)
hardwire_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
struct hardwire_ttystate *state;
@ -191,7 +196,7 @@ hardwire_set_tty_state (serial_t scb, serial_ttystate ttystate)
}
static int
hardwire_noflush_set_tty_state (serial_t scb,
hardwire_noflush_set_tty_state (struct serial *scb,
serial_ttystate new_ttystate,
serial_ttystate old_ttystate)
{
@ -224,7 +229,7 @@ hardwire_noflush_set_tty_state (serial_t scb,
}
static void
hardwire_print_tty_state (serial_t scb,
hardwire_print_tty_state (struct serial *scb,
serial_ttystate ttystate,
struct ui_file *stream)
{
@ -282,7 +287,7 @@ hardwire_print_tty_state (serial_t scb,
/* Wait for the output to drain away, as opposed to flushing (discarding) it */
static int
hardwire_drain_output (serial_t scb)
hardwire_drain_output (struct serial *scb)
{
#ifdef HAVE_TERMIOS
return tcdrain (scb->fd);
@ -311,7 +316,7 @@ hardwire_drain_output (serial_t scb)
}
static int
hardwire_flush_output (serial_t scb)
hardwire_flush_output (struct serial *scb)
{
#ifdef HAVE_TERMIOS
return tcflush (scb->fd, TCOFLUSH);
@ -328,7 +333,7 @@ hardwire_flush_output (serial_t scb)
}
static int
hardwire_flush_input (serial_t scb)
hardwire_flush_input (struct serial *scb)
{
ser_unix_flush_input (scb);
@ -347,7 +352,7 @@ hardwire_flush_input (serial_t scb)
}
static int
hardwire_send_break (serial_t scb)
hardwire_send_break (struct serial *scb)
{
#ifdef HAVE_TERMIOS
return tcsendbreak (scb->fd, 0);
@ -377,7 +382,7 @@ hardwire_send_break (serial_t scb)
}
static void
hardwire_raw (serial_t scb)
hardwire_raw (struct serial *scb)
{
struct hardwire_ttystate state;
@ -432,7 +437,7 @@ hardwire_raw (serial_t scb)
an overflowed timer is unnecessary. */
static int
wait_for (serial_t scb, int timeout)
wait_for (struct serial *scb, int timeout)
{
#ifdef HAVE_SGTTY
while (1)
@ -553,7 +558,7 @@ wait_for (serial_t scb, int timeout)
that. */
static int
do_hardwire_readchar (serial_t scb, int timeout)
do_hardwire_readchar (struct serial *scb, int timeout)
{
int status, delta;
int detach = 0;
@ -621,7 +626,7 @@ do_hardwire_readchar (serial_t scb, int timeout)
}
static int
hardwire_readchar (serial_t scb, int timeout)
hardwire_readchar (struct serial *scb, int timeout)
{
return generic_readchar (scb, timeout, do_hardwire_readchar);
}
@ -772,7 +777,7 @@ rate_to_code (int rate)
}
static int
hardwire_setbaudrate (serial_t scb, int rate)
hardwire_setbaudrate (struct serial *scb, int rate)
{
struct hardwire_ttystate state;
int baud_code = rate_to_code (rate);
@ -811,7 +816,7 @@ hardwire_setbaudrate (serial_t scb, int rate)
}
static int
hardwire_setstopbits (serial_t scb, int num)
hardwire_setstopbits (struct serial *scb, int num)
{
struct hardwire_ttystate state;
int newbit;
@ -854,7 +859,7 @@ hardwire_setstopbits (serial_t scb, int num)
}
static void
hardwire_close (serial_t scb)
hardwire_close (struct serial *scb)
{
if (scb->fd < 0)
return;
@ -867,20 +872,20 @@ hardwire_close (serial_t scb)
/* Generic operations used by all UNIX/FD based serial interfaces. */
serial_ttystate
ser_unix_nop_get_tty_state (serial_t scb)
ser_unix_nop_get_tty_state (struct serial *scb)
{
/* allocate a dummy */
return (serial_ttystate) XMALLOC (int);
}
int
ser_unix_nop_set_tty_state (serial_t scb, serial_ttystate ttystate)
ser_unix_nop_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
return 0;
}
void
ser_unix_nop_raw (serial_t scb)
ser_unix_nop_raw (struct serial *scb)
{
return; /* Always in raw mode */
}
@ -889,7 +894,7 @@ ser_unix_nop_raw (serial_t scb)
otherwise SERIAL_TIMEOUT or SERIAL_ERROR. */
int
ser_unix_wait_for (serial_t scb, int timeout)
ser_unix_wait_for (struct serial *scb, int timeout)
{
while (1)
{
@ -934,7 +939,7 @@ ser_unix_wait_for (serial_t scb, int timeout)
dead, or -3 for any other error (see errno in that case). */
static int
do_unix_readchar (serial_t scb, int timeout)
do_unix_readchar (struct serial *scb, int timeout)
{
int status;
int delta;
@ -1025,8 +1030,8 @@ do_unix_readchar (serial_t scb, int timeout)
will be called. */
static int
generic_readchar (serial_t scb, int timeout,
int (do_readchar) (serial_t scb, int timeout))
generic_readchar (struct serial *scb, int timeout,
int (do_readchar) (struct serial *scb, int timeout))
{
int ch;
if (scb->bufcnt > 0)
@ -1063,13 +1068,13 @@ generic_readchar (serial_t scb, int timeout,
}
int
ser_unix_readchar (serial_t scb, int timeout)
ser_unix_readchar (struct serial *scb, int timeout)
{
return generic_readchar (scb, timeout, do_unix_readchar);
}
int
ser_unix_nop_noflush_set_tty_state (serial_t scb,
ser_unix_nop_noflush_set_tty_state (struct serial *scb,
serial_ttystate new_ttystate,
serial_ttystate old_ttystate)
{
@ -1077,7 +1082,7 @@ ser_unix_nop_noflush_set_tty_state (serial_t scb,
}
void
ser_unix_nop_print_tty_state (serial_t scb,
ser_unix_nop_print_tty_state (struct serial *scb,
serial_ttystate ttystate,
struct ui_file *stream)
{
@ -1086,19 +1091,19 @@ ser_unix_nop_print_tty_state (serial_t scb,
}
int
ser_unix_nop_setbaudrate (serial_t scb, int rate)
ser_unix_nop_setbaudrate (struct serial *scb, int rate)
{
return 0; /* Never fails! */
}
int
ser_unix_nop_setstopbits (serial_t scb, int num)
ser_unix_nop_setstopbits (struct serial *scb, int num)
{
return 0; /* Never fails! */
}
int
ser_unix_write (serial_t scb, const char *str, int len)
ser_unix_write (struct serial *scb, const char *str, int len)
{
int cc;
@ -1115,13 +1120,13 @@ ser_unix_write (serial_t scb, const char *str, int len)
}
int
ser_unix_nop_flush_output (serial_t scb)
ser_unix_nop_flush_output (struct serial *scb)
{
return 0;
}
int
ser_unix_flush_input (serial_t scb)
ser_unix_flush_input (struct serial *scb)
{
if (scb->bufcnt >= 0)
{
@ -1134,13 +1139,13 @@ ser_unix_flush_input (serial_t scb)
}
int
ser_unix_nop_send_break (serial_t scb)
ser_unix_nop_send_break (struct serial *scb)
{
return 0;
}
int
ser_unix_nop_drain_output (serial_t scb)
ser_unix_nop_drain_output (struct serial *scb)
{
return 0;
}
@ -1177,7 +1182,7 @@ enum {
scheduled task is only changed when needed. */
static void
reschedule (serial_t scb)
reschedule (struct serial *scb)
{
if (SERIAL_IS_ASYNC_P (scb))
{
@ -1244,7 +1249,7 @@ reschedule (serial_t scb)
static void
fd_event (int error, void *context)
{
serial_t scb = context;
struct serial *scb = context;
if (error != 0)
{
scb->bufcnt = SERIAL_ERROR;
@ -1286,7 +1291,7 @@ fd_event (int error, void *context)
static void
push_event (void *context)
{
serial_t scb = context;
struct serial *scb = context;
scb->async_state = NOTHING_SCHEDULED; /* Timers are one-off */
scb->async_handler (scb, scb->async_context);
/* re-schedule */
@ -1296,7 +1301,7 @@ push_event (void *context)
/* Put the SERIAL device into/out-of ASYNC mode. */
void
ser_unix_async (serial_t scb,
ser_unix_async (struct serial *scb,
int async_p)
{
if (async_p)

View File

@ -26,23 +26,28 @@
/* Generic UNIX/FD functions */
extern int ser_unix_nop_flush_output (serial_t scb);
extern int ser_unix_flush_input (serial_t scb);
extern int ser_unix_nop_send_break (serial_t scb);
extern void ser_unix_nop_raw (serial_t scb);
extern serial_ttystate ser_unix_nop_get_tty_state (serial_t scb);
extern int ser_unix_nop_set_tty_state (serial_t scb, serial_ttystate ttystate);
extern void ser_unix_nop_print_tty_state (serial_t scb, serial_ttystate ttystate, struct ui_file *stream);
extern int ser_unix_nop_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate, serial_ttystate old_ttystate);
extern int ser_unix_nop_setbaudrate (serial_t scb, int rate);
extern int ser_unix_nop_setstopbits (serial_t scb, int rate);
extern int ser_unix_nop_drain_output (serial_t scb);
extern int ser_unix_nop_flush_output (struct serial *scb);
extern int ser_unix_flush_input (struct serial *scb);
extern int ser_unix_nop_send_break (struct serial *scb);
extern void ser_unix_nop_raw (struct serial *scb);
extern serial_ttystate ser_unix_nop_get_tty_state (struct serial *scb);
extern int ser_unix_nop_set_tty_state (struct serial *scb,
serial_ttystate ttystate);
extern void ser_unix_nop_print_tty_state (struct serial *scb,
serial_ttystate ttystate,
struct ui_file *stream);
extern int ser_unix_nop_noflush_set_tty_state (struct serial *scb,
serial_ttystate new_ttystate,
serial_ttystate old_ttystate);
extern int ser_unix_nop_setbaudrate (struct serial *scb, int rate);
extern int ser_unix_nop_setstopbits (struct serial *scb, int rate);
extern int ser_unix_nop_drain_output (struct serial *scb);
extern int ser_unix_wait_for (serial_t scb, int timeout);
extern int ser_unix_readchar (serial_t scb, int timeout);
extern int ser_unix_wait_for (struct serial *scb, int timeout);
extern int ser_unix_readchar (struct serial *scb, int timeout);
extern int ser_unix_write (serial_t scb, const char *str, int len);
extern int ser_unix_write (struct serial *scb, const char *str, int len);
extern void ser_unix_async (serial_t scb, int async_p);
extern void ser_unix_async (struct serial *scb, int async_p);
#endif

View File

@ -38,11 +38,11 @@ static struct serial_ops *serial_ops_list = NULL;
/* This is the last serial stream opened. Used by connect command. */
static serial_t last_serial_opened = NULL;
static struct serial *last_serial_opened = NULL;
/* Pointer to list of scb's. */
static serial_t scb_base;
static struct serial *scb_base;
/* Non-NULL gives filename which contains a recording of the remote session,
suitable for playback by gdbserver. */
@ -63,7 +63,6 @@ static const char *serial_logbase = logbase_ascii;
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
static int serial_current_type = 0;
/* Log char CH of type CHTYPE, with TIMEOUT */
@ -172,10 +171,10 @@ serial_add_interface (struct serial_ops *optable)
/* Open up a device or a network socket, depending upon the syntax of NAME. */
serial_t
struct serial *
serial_open (const char *name)
{
serial_t scb;
struct serial *scb;
struct serial_ops *ops;
const char *open_name = name;
@ -239,10 +238,10 @@ serial_open (const char *name)
return scb;
}
serial_t
struct serial *
serial_fdopen (const int fd)
{
serial_t scb;
struct serial *scb;
struct serial_ops *ops;
for (scb = scb_base; scb; scb = scb->next)
@ -281,9 +280,9 @@ serial_fdopen (const int fd)
}
static void
do_serial_close (serial_t scb, int really_close)
do_serial_close (struct serial *scb, int really_close)
{
serial_t tmp_scb;
struct serial *tmp_scb;
last_serial_opened = NULL;
@ -333,19 +332,19 @@ do_serial_close (serial_t scb, int really_close)
}
void
serial_close (serial_t scb)
serial_close (struct serial *scb)
{
do_serial_close (scb, 1);
}
void
serial_un_fdopen (serial_t scb)
serial_un_fdopen (struct serial *scb)
{
do_serial_close (scb, 0);
}
int
serial_readchar (serial_t scb, int timeout)
serial_readchar (struct serial *scb, int timeout)
{
int ch;
@ -376,7 +375,7 @@ serial_readchar (serial_t scb, int timeout)
}
int
serial_write (serial_t scb, const char *str, int len)
serial_write (struct serial *scb, const char *str, int len)
{
if (serial_logfp != NULL)
{
@ -394,7 +393,7 @@ serial_write (serial_t scb, const char *str, int len)
}
void
serial_printf (serial_t desc, const char *format,...)
serial_printf (struct serial *desc, const char *format,...)
{
va_list args;
char *buf;
@ -408,25 +407,25 @@ serial_printf (serial_t desc, const char *format,...)
}
int
serial_drain_output (serial_t scb)
serial_drain_output (struct serial *scb)
{
return scb->ops->drain_output (scb);
}
int
serial_flush_output (serial_t scb)
serial_flush_output (struct serial *scb)
{
return scb->ops->flush_output (scb);
}
int
serial_flush_input (serial_t scb)
serial_flush_input (struct serial *scb)
{
return scb->ops->flush_input (scb);
}
int
serial_send_break (serial_t scb)
serial_send_break (struct serial *scb)
{
if (serial_logfp != NULL)
serial_logchar (serial_logfp, 'w', SERIAL_BREAK, 0);
@ -435,25 +434,25 @@ serial_send_break (serial_t scb)
}
void
serial_raw (serial_t scb)
serial_raw (struct serial *scb)
{
scb->ops->go_raw (scb);
}
serial_ttystate
serial_get_tty_state (serial_t scb)
serial_get_tty_state (struct serial *scb)
{
return scb->ops->get_tty_state (scb);
}
int
serial_set_tty_state (serial_t scb, serial_ttystate ttystate)
serial_set_tty_state (struct serial *scb, serial_ttystate ttystate)
{
return scb->ops->set_tty_state (scb, ttystate);
}
void
serial_print_tty_state (serial_t scb,
serial_print_tty_state (struct serial *scb,
serial_ttystate ttystate,
struct ui_file *stream)
{
@ -461,7 +460,7 @@ serial_print_tty_state (serial_t scb,
}
int
serial_noflush_set_tty_state (serial_t scb,
serial_noflush_set_tty_state (struct serial *scb,
serial_ttystate new_ttystate,
serial_ttystate old_ttystate)
{
@ -469,31 +468,31 @@ serial_noflush_set_tty_state (serial_t scb,
}
int
serial_setbaudrate (serial_t scb, int rate)
serial_setbaudrate (struct serial *scb, int rate)
{
return scb->ops->setbaudrate (scb, rate);
}
int
serial_setstopbits (serial_t scb, int num)
serial_setstopbits (struct serial *scb, int num)
{
return scb->ops->setstopbits (scb, num);
}
int
serial_can_async_p (serial_t scb)
serial_can_async_p (struct serial *scb)
{
return (scb->ops->async != NULL);
}
int
serial_is_async_p (serial_t scb)
serial_is_async_p (struct serial *scb)
{
return (scb->ops->async != NULL) && (scb->async_handler != NULL);
}
void
serial_async (serial_t scb,
serial_async (struct serial *scb,
serial_event_ftype *handler,
void *context)
{
@ -506,7 +505,7 @@ serial_async (serial_t scb,
}
int
deprecated_serial_fd (serial_t scb)
deprecated_serial_fd (struct serial *scb)
{
/* FIXME: should this output a warning that deprecated code is being
called? */
@ -519,23 +518,22 @@ deprecated_serial_fd (serial_t scb)
}
void
serial_debug (serial_t scb, int debug_p)
serial_debug (struct serial *scb, int debug_p)
{
scb->debug_p = debug_p;
}
int
serial_debug_p (serial_t scb)
serial_debug_p (struct serial *scb)
{
return scb->debug_p || global_serial_debug_p;
}
#if 0
/*
The connect command is #if 0 because I hadn't thought of an elegant
way to wait for I/O on two serial_t's simultaneously. Two solutions
came to mind:
/* The connect command is #if 0 because I hadn't thought of an elegant
way to wait for I/O on two `struct serial *'s simultaneously. Two
solutions came to mind:
1) Fork, and have have one fork handle the to user direction,
and have the other hand the to target direction. This
@ -545,13 +543,12 @@ serial_debug_p (serial_t scb)
the target side can both be waited on via the same
mechanism. This may not be true for DOS, if GDB is
talking to the target via a TCP socket.
-grossman, 8 Jun 93
*/
-grossman, 8 Jun 93 */
/* Connect the user directly to the remote system. This command acts just like
the 'cu' or 'tip' command. Use <CR>~. or <CR>~^D to break out. */
static serial_t tty_desc; /* Controlling terminal */
static struct serial *tty_desc; /* Controlling terminal */
static void
cleanup_tty (serial_ttystate ttystate)
@ -568,7 +565,7 @@ connect_command (char *args, int fromtty)
int c;
char cur_esc = 0;
serial_ttystate ttystate;
serial_t port_desc; /* TTY port */
struct serial *port_desc; /* TTY port */
dont_repeat ();

View File

@ -30,28 +30,26 @@
typedef void *serial_ttystate;
struct serial;
typedef struct serial *serial_t;
/* Try to open NAME. Returns a new serial_t on success, NULL on
failure. */
/* Try to open NAME. Returns a new `struct serial *' on success, NULL
on failure. */
extern serial_t serial_open (const char *name);
extern struct serial *serial_open (const char *name);
#define SERIAL_OPEN(NAME) serial_open(NAME)
/* Open a new serial stream using a file handle. */
extern serial_t serial_fdopen (const int fd);
extern struct serial *serial_fdopen (const int fd);
#define SERIAL_FDOPEN(FD) serial_fdopen(FD)
/* Push out all buffers, close the device and destroy SERIAL_T. */
/* Push out all buffers, close the device and destroy SCB. */
extern void serial_close (serial_t);
extern void serial_close (struct serial *scb);
#define SERIAL_CLOSE(SERIAL_T) serial_close ((SERIAL_T))
/* Push out all buffers and destroy SERIAL_T without closing the
device. */
/* Push out all buffers and destroy SCB without closing the device. */
extern void serial_un_fdopen (serial_t scb);
extern void serial_un_fdopen (struct serial *scb);
#define SERIAL_UN_FDOPEN(SERIAL_T) serial_un_fdopen ((SERIAL_T))
/* Read one char from the serial device with TIMEOUT seconds to wait
@ -70,50 +68,50 @@ enum serial_rc {
things like the line dropping dead. */
};
extern int serial_readchar (serial_t scb, int timeout);
extern int serial_readchar (struct serial *scb, int timeout);
#define SERIAL_READCHAR(SERIAL_T, TIMEOUT) serial_readchar ((SERIAL_T), (TIMEOUT))
/* Write LEN chars from STRING to the port SERIAL_T. Returns 0 for
/* Write LEN chars from STRING to the port SCB. Returns 0 for
success, non-zero for failure. */
extern int serial_write (serial_t scb, const char *str, int len);
extern int serial_write (struct serial *scb, const char *str, int len);
#define SERIAL_WRITE(SERIAL_T, STRING,LEN) serial_write (SERIAL_T, STRING, LEN)
/* Write a printf style string onto the serial port. */
extern void serial_printf (serial_t desc, const char *,...) ATTR_FORMAT (printf, 2, 3);
extern void serial_printf (struct serial *desc, const char *,...) ATTR_FORMAT (printf, 2, 3);
/* Allow pending output to drain. */
extern int serial_drain_output (serial_t);
extern int serial_drain_output (struct serial *);
#define SERIAL_DRAIN_OUTPUT(SERIAL_T) serial_drain_output ((SERIAL_T))
/* Flush (discard) pending output. Might also flush input (if this
system can't flush only output). */
extern int serial_flush_output (serial_t);
extern int serial_flush_output (struct serial *);
#define SERIAL_FLUSH_OUTPUT(SERIAL_T) serial_flush_output ((SERIAL_T))
/* Flush pending input. Might also flush output (if this system can't
flush only input). */
extern int serial_flush_input (serial_t);
extern int serial_flush_input (struct serial *);
#define SERIAL_FLUSH_INPUT(SERIAL_T) serial_flush_input ((SERIAL_T))
/* Send a break between 0.25 and 0.5 seconds long. */
extern int serial_send_break (serial_t scb);
extern int serial_send_break (struct serial *scb);
#define SERIAL_SEND_BREAK(SERIAL_T) serial_send_break (SERIAL_T)
/* Turn the port into raw mode. */
extern void serial_raw (serial_t scb);
extern void serial_raw (struct serial *scb);
#define SERIAL_RAW(SERIAL_T) serial_raw ((SERIAL_T))
/* Return a pointer to a newly malloc'd ttystate containing the state
of the tty. */
extern serial_ttystate serial_get_tty_state (serial_t scb);
extern serial_ttystate serial_get_tty_state (struct serial *scb);
#define SERIAL_GET_TTY_STATE(SERIAL_T) serial_get_tty_state ((SERIAL_T))
/* Set the state of the tty to TTYSTATE. The change is immediate.
@ -121,14 +119,14 @@ extern serial_ttystate serial_get_tty_state (serial_t scb);
Returns 0 for success, negative value for error (in which case
errno contains the error). */
extern int serial_set_tty_state (serial_t scb, serial_ttystate ttystate);
extern int serial_set_tty_state (struct serial *scb, serial_ttystate ttystate);
#define SERIAL_SET_TTY_STATE(SERIAL_T, TTYSTATE) serial_set_tty_state ((SERIAL_T), (TTYSTATE))
/* printf_filtered a user-comprehensible description of ttystate on
the specified STREAM. FIXME: At present this sends output to the
default stream - GDB_STDOUT. */
extern void serial_print_tty_state (serial_t scb, serial_ttystate ttystate, struct ui_file *);
extern void serial_print_tty_state (struct serial *scb, serial_ttystate ttystate, struct ui_file *);
#define SERIAL_PRINT_TTY_STATE(SERIAL_T, TTYSTATE, STREAM) serial_print_tty_state ((SERIAL_T), (TTYSTATE), (STREAM))
/* Set the tty state to NEW_TTYSTATE, where OLD_TTYSTATE is the
@ -137,14 +135,14 @@ extern void serial_print_tty_state (serial_t scb, serial_ttystate ttystate, stru
This means that we never switch in or out of raw mode, even if
NEW_TTYSTATE specifies a switch. */
extern int serial_noflush_set_tty_state (serial_t scb, serial_ttystate new_ttystate, serial_ttystate old_ttystate);
extern int serial_noflush_set_tty_state (struct serial *scb, serial_ttystate new_ttystate, serial_ttystate old_ttystate);
#define SERIAL_NOFLUSH_SET_TTY_STATE(SERIAL_T, NEW_TTYSTATE, OLD_TTYSTATE) \
serial_noflush_set_tty_state ((SERIAL_T), (NEW_TTYSTATE), (OLD_TTYSTATE))
/* Set the baudrate to the decimal value supplied. Returns 0 for
success, -1 for failure. */
extern int serial_setbaudrate (serial_t scb, int rate);
extern int serial_setbaudrate (struct serial *scb, int rate);
#define SERIAL_SETBAUDRATE(SERIAL_T, RATE) serial_setbaudrate ((SERIAL_T), (RATE))
/* Set the number of stop bits to the value specified. Returns 0 for
@ -154,27 +152,27 @@ extern int serial_setbaudrate (serial_t scb, int rate);
#define SERIAL_1_AND_A_HALF_STOPBITS 2 /* 1.5 bits, snicker... */
#define SERIAL_2_STOPBITS 3
extern int serial_setstopbits (serial_t scb, int num);
extern int serial_setstopbits (struct serial *scb, int num);
#define SERIAL_SETSTOPBITS(SERIAL_T, NUM) serial_setstopbits ((SERIAL_T), (NUM))
/* Asynchronous serial interface: */
/* Can the serial device support asynchronous mode? */
extern int serial_can_async_p (serial_t scb);
extern int serial_can_async_p (struct serial *scb);
#define SERIAL_CAN_ASYNC_P(SERIAL_T) serial_can_async_p ((SERIAL_T))
/* Has the serial device been put in asynchronous mode? */
extern int serial_is_async_p (serial_t scb);
extern int serial_is_async_p (struct serial *scb);
#define SERIAL_IS_ASYNC_P(SERIAL_T) serial_is_async_p ((SERIAL_T))
/* For ASYNC enabled devices, register a callback and enable
asynchronous mode. To disable asynchronous mode, register a NULL
callback. */
typedef void (serial_event_ftype) (serial_t scb, void *context);
extern void serial_async (serial_t scb, serial_event_ftype *handler, void *context);
typedef void (serial_event_ftype) (struct serial *scb, void *context);
extern void serial_async (struct serial *scb, serial_event_ftype *handler, void *context);
#define SERIAL_ASYNC(SERIAL_T, HANDLER, CONTEXT) serial_async ((SERIAL_T), (HANDLER), (CONTEXT))
/* Provide direct access to the underlying FD (if any) used to
@ -182,7 +180,7 @@ extern void serial_async (serial_t scb, serial_event_ftype *handler, void *conte
deprecated. Will call internal_error() if the operation isn't
applicable to the current serial device. */
extern int deprecated_serial_fd (serial_t scb);
extern int deprecated_serial_fd (struct serial *scb);
#define DEPRECATED_SERIAL_FD(SERIAL_T) deprecated_serial_fd ((SERIAL_T))
/* Trace/debug mechanism.
@ -190,10 +188,10 @@ extern int deprecated_serial_fd (serial_t scb);
SERIAL_DEBUG() enables/disables internal debugging.
SERIAL_DEBUG_P() indicates the current debug state. */
extern void serial_debug (serial_t scb, int debug_p);
extern void serial_debug (struct serial *scb, int debug_p);
#define SERIAL_DEBUG(SERIAL_T, DEBUG_P) serial_debug ((SERIAL_T), (DEBUG_P))
extern int serial_debug_p (serial_t scb);
extern int serial_debug_p (struct serial *scb);
#define SERIAL_DEBUG_P(SERIAL_T) serial_debug_p ((SERIAL_T))
@ -215,7 +213,7 @@ struct serial
still need to wait for this many
more seconds. */
char *name; /* The name of the device or host */
struct serial *next; /* Pointer to the next serial_t */
struct serial *next; /* Pointer to the next `struct serial *' */
int refcnt; /* Number of pointers to this block */
int debug_p; /* Trace this serial devices operation. */
int async_state; /* Async internal state. */
@ -227,28 +225,30 @@ struct serial_ops
{
char *name;
struct serial_ops *next;
int (*open) (serial_t, const char *name);
void (*close) (serial_t);
int (*readchar) (serial_t, int timeout);
int (*write) (serial_t, const char *str, int len);
int (*open) (struct serial *, const char *name);
void (*close) (struct serial *);
int (*readchar) (struct serial *, int timeout);
int (*write) (struct serial *, const char *str, int len);
/* Discard pending output */
int (*flush_output) (serial_t);
int (*flush_output) (struct serial *);
/* Discard pending input */
int (*flush_input) (serial_t);
int (*send_break) (serial_t);
void (*go_raw) (serial_t);
serial_ttystate (*get_tty_state) (serial_t);
int (*set_tty_state) (serial_t, serial_ttystate);
void (*print_tty_state) (serial_t, serial_ttystate, struct ui_file *);
int (*noflush_set_tty_state) (serial_t, serial_ttystate, serial_ttystate);
int (*setbaudrate) (serial_t, int rate);
int (*setstopbits) (serial_t, int num);
int (*flush_input) (struct serial *);
int (*send_break) (struct serial *);
void (*go_raw) (struct serial *);
serial_ttystate (*get_tty_state) (struct serial *);
int (*set_tty_state) (struct serial *, serial_ttystate);
void (*print_tty_state) (struct serial *, serial_ttystate,
struct ui_file *);
int (*noflush_set_tty_state) (struct serial *, serial_ttystate,
serial_ttystate);
int (*setbaudrate) (struct serial *, int rate);
int (*setstopbits) (struct serial *, int num);
/* Wait for output to drain */
int (*drain_output) (serial_t);
int (*drain_output) (struct serial *);
/* Change the serial device into/out of asynchronous mode, call
the specified function when ever there is something
interesting. */
void (*async) (serial_t scb, int async_p);
void (*async) (struct serial *scb, int async_p);
};
/* Add a new serial interface to the interface list */

View File

@ -28,7 +28,7 @@
#include "arch-utils.h"
#include "regcache.h"
static serial_t parallel;
static struct serial *parallel;
static int parallel_in_use;
static void sh3_open (char *args, int from_tty);
@ -120,7 +120,7 @@ sh3_supply_register (char *regname, int regnamelen, char *val, int vallen)
}
static void
sh3_load (serial_t desc, char *file, int hashmark)
sh3_load (struct serial *desc, char *file, int hashmark)
{
if (parallel_in_use)
{

View File

@ -38,14 +38,14 @@
static struct target_ops sparclite_ops;
static char *remote_target_name = NULL;
static serial_t remote_desc = NULL;
static struct serial *remote_desc = NULL;
static int serial_flag;
#ifdef HAVE_SOCKETS
static int udp_fd = -1;
#endif
static serial_t open_tty (char *name);
static int send_resp (serial_t desc, char c);
static struct serial *open_tty (char *name);
static int send_resp (struct serial *desc, char c);
static void close_tty (void * ignore);
#ifdef HAVE_SOCKETS
static int recv_udp_buf (int fd, unsigned char *buf, int len, int timeout);
@ -259,10 +259,10 @@ sparclite_stopped_data_address (void)
return 0;
}
static serial_t
static struct serial *
open_tty (char *name)
{
serial_t desc;
struct serial *desc;
desc = SERIAL_OPEN (name);
if (!desc)
@ -287,7 +287,7 @@ open_tty (char *name)
/* Read a single character from the remote end, masking it down to 7 bits. */
static int
readchar (serial_t desc, int timeout)
readchar (struct serial *desc, int timeout)
{
int ch;
char s[10];
@ -313,7 +313,7 @@ readchar (serial_t desc, int timeout)
}
static void
debug_serial_write (serial_t desc, char *buf, int len)
debug_serial_write (struct serial *desc, char *buf, int len)
{
char s[10];
@ -331,7 +331,7 @@ debug_serial_write (serial_t desc, char *buf, int len)
static int
send_resp (serial_t desc, char c)
send_resp (struct serial *desc, char c)
{
debug_serial_write (desc, &c, 1);
return readchar (desc, remote_timeout);

View File

@ -105,7 +105,7 @@ sparclet_supply_register (char *regname, int regnamelen, char *val, int vallen)
}
static void
sparclet_load (serial_t desc, char *file, int hashmark)
sparclet_load (struct serial *desc, char *file, int hashmark)
{
bfd *abfd;
asection *s;

View File

@ -18,7 +18,7 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
void load_srec (serial_t desc, const char *file, bfd_vma load_offset,
void load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
int maxrecsize, int flags, int hashmark,
int (*waitack) (void));

View File

@ -825,7 +825,7 @@ print_sys_errmsg (char *string, int errcode)
void
quit (void)
{
serial_t gdb_stdout_serial = serial_fdopen (1);
struct serial *gdb_stdout_serial = serial_fdopen (1);
target_terminal_ours ();

View File

@ -160,7 +160,7 @@ static int hashmark = 1; /* flag set by "set hash" */
extern struct monitor_ops w89k_cmds; /* fwd decl */
static void
w89k_load (serial_t desc, char *file, int hashmark)
w89k_load (struct serial *desc, char *file, int hashmark)
{
bfd *abfd;
asection *s;

View File

@ -36,7 +36,7 @@ static int blknum; /* XMODEM block number */
static int crcflag; /* Sez we are using CRC's instead of cksums */
static int
readchar (serial_t desc, int timeout)
readchar (struct serial *desc, int timeout)
{
int c;
@ -109,7 +109,7 @@ docrc (unsigned char *p, int len)
send NAK or CRC request. */
int
xmodem_init_xfer (serial_t desc)
xmodem_init_xfer (struct serial *desc)
{
int c;
int i;
@ -160,7 +160,7 @@ xmodem_init_xfer (serial_t desc)
*/
void
xmodem_send_packet (serial_t desc, unsigned char *packet, int len, int hashmark)
xmodem_send_packet (struct serial *desc, unsigned char *packet, int len, int hashmark)
{
int i;
int retries;
@ -246,7 +246,7 @@ xmodem_send_packet (serial_t desc, unsigned char *packet, int len, int hashmark)
/* Finish off the transfer. Send out the EOT, and wait for an ACK. */
void
xmodem_finish_xfer (serial_t desc)
xmodem_finish_xfer (struct serial *desc)
{
int retries;

View File

@ -18,10 +18,10 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
int xmodem_init_xfer (serial_t desc);
void send_xmodem_packet (serial_t desc, unsigned char *packet, int len,
int xmodem_init_xfer (struct serial *desc);
void send_xmodem_packet (struct serial *desc, unsigned char *packet, int len,
int hashmark);
void xmodem_finish_xfer (serial_t desc);
void xmodem_finish_xfer (struct serial *desc);
#define XMODEM_DATASIZE 128 /* The data size is ALWAYS 128 */
#define XMODEM_1KDATASIZE 1024 /* Unless it's 1024!!! */