diff options
Diffstat (limited to 'gdb/ser-pipe.c')
-rw-r--r-- | gdb/ser-pipe.c | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/gdb/ser-pipe.c b/gdb/ser-pipe.c index 70bec5e..c4cef68 100644 --- a/gdb/ser-pipe.c +++ b/gdb/ser-pipe.c @@ -206,31 +206,33 @@ gdb_pipe (int pdes[2]) #endif } +static const struct serial_ops pipe_ops = +{ + "pipe", + pipe_open, + pipe_close, + NULL, + ser_base_readchar, + ser_base_write, + ser_base_flush_output, + ser_base_flush_input, + ser_base_send_break, + ser_base_raw, + ser_base_get_tty_state, + ser_base_copy_tty_state, + ser_base_set_tty_state, + ser_base_print_tty_state, + ser_base_noflush_set_tty_state, + ser_base_setbaudrate, + ser_base_setstopbits, + ser_base_drain_output, + ser_base_async, + ser_unix_read_prim, + ser_unix_write_prim +}; + void _initialize_ser_pipe (void) { - struct serial_ops *ops = XMALLOC (struct serial_ops); - - memset (ops, 0, sizeof (struct serial_ops)); - ops->name = "pipe"; - ops->open = pipe_open; - ops->close = pipe_close; - ops->readchar = ser_base_readchar; - ops->write = ser_base_write; - ops->flush_output = ser_base_flush_output; - ops->flush_input = ser_base_flush_input; - ops->send_break = ser_base_send_break; - ops->go_raw = ser_base_raw; - ops->get_tty_state = ser_base_get_tty_state; - ops->copy_tty_state = ser_base_copy_tty_state; - ops->set_tty_state = ser_base_set_tty_state; - ops->print_tty_state = ser_base_print_tty_state; - ops->noflush_set_tty_state = ser_base_noflush_set_tty_state; - ops->setbaudrate = ser_base_setbaudrate; - ops->setstopbits = ser_base_setstopbits; - ops->drain_output = ser_base_drain_output; - ops->async = ser_base_async; - ops->read_prim = ser_unix_read_prim; - ops->write_prim = ser_unix_write_prim; - serial_add_interface (ops); + serial_add_interface (&pipe_ops); } |