summaryrefslogtreecommitdiff
path: root/gdb/serial.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2011-03-04 19:23:42 +0000
commit1e182ce8c375de8f86fe00198b07d0331e4c4e0d (patch)
tree0e7ec4987f47fe39ec610faff8caef45208eec64 /gdb/serial.h
parent2abae99411dbbced25ad99232ab329ad59578294 (diff)
downloadbinutils-gdb-1e182ce8c375de8f86fe00198b07d0331e4c4e0d.tar.gz
* inflow.c (terminal_init_inferior_with_pgrp): Copy ttystate.
(terminal_save_ours): Remove misleading comment. (inflow_inferior_data_cleanup): Free ttystate. (inflow_inferior_exit): Likewise. (copy_terminal_info): Copy ttystate. * serial.c (serial_copy_tty_state): New function. * serial.h (serial_copy_tty_state): Add prototype. (struct serial_ops): Add copy_tty_state callback. * ser-base.c (ser_base_copy_tty_state): New function. * ser-base.h (ser_base_copy_tty_state): Add prototype. * ser-go32.c (dos_copy_tty_state): New function. (dos_ops): Install copy_tty_state callback. * ser-mingw.c (_initialize_ser_windows): Likewise. * ser-pipe.c (_initialize_ser_pipe): Likewise. * ser-unix.c (hardwire_copy_tty_state): New function. (_initialize_ser_hardwire): Install it.
Diffstat (limited to 'gdb/serial.h')
-rw-r--r--gdb/serial.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/serial.h b/gdb/serial.h
index 58207c7b196..a1eba8d3a6c 100644
--- a/gdb/serial.h
+++ b/gdb/serial.h
@@ -129,6 +129,12 @@ extern void serial_raw (struct serial *scb);
extern serial_ttystate serial_get_tty_state (struct serial *scb);
+/* Return a pointer to a newly malloc'd ttystate containing a copy
+ of the state in TTYSTATE. */
+
+extern serial_ttystate serial_copy_tty_state (struct serial *scb,
+ serial_ttystate ttystate);
+
/* Set the state of the tty to TTYSTATE. The change is immediate.
When changing to or from raw mode, input might be discarded.
Returns 0 for success, negative value for error (in which case
@@ -250,6 +256,7 @@ struct serial_ops
int (*send_break) (struct serial *);
void (*go_raw) (struct serial *);
serial_ttystate (*get_tty_state) (struct serial *);
+ serial_ttystate (*copy_tty_state) (struct serial *, serial_ttystate);
int (*set_tty_state) (struct serial *, serial_ttystate);
void (*print_tty_state) (struct serial *, serial_ttystate,
struct ui_file *);