* inftarg.c (child_thread_alive): New function to see if a
[deliverable/binutils-gdb.git] / gdb / ser-unix.c
index 237384b3b7cd95ac68dfb438b256ca171413948e..55d2a02a837d31ed55bb7c24960d74ddfa87483a 100644 (file)
@@ -627,6 +627,51 @@ hardwire_setbaudrate(scb, rate)
   return set_tty_state (scb, &state);
 }
 
+static int
+hardwire_setstopbits(scb, num)
+     serial_t scb;
+     int num;
+{
+  struct hardwire_ttystate state;
+  int newbit;
+
+  if (get_tty_state(scb, &state))
+    return -1;
+
+  switch (num)
+    {
+    case SERIAL_1_STOPBITS:
+      newbit = 0;
+      break;
+    case SERIAL_1_AND_A_HALF_STOPBITS:
+    case SERIAL_2_STOPBITS:
+      newbit = 1;
+      break;
+    default:
+      return 1;
+    }
+
+#ifdef HAVE_TERMIOS
+  if (!newbit)
+    state.termios.c_cflag &= ~CSTOPB;
+  else
+    state.termios.c_cflag |= CSTOPB; /* two bits */
+#endif
+
+#ifdef HAVE_TERMIO
+  if (!newbit)
+    state.termio.c_cflag &= ~CSTOPB;
+  else
+    state.termio.c_cflag |= CSTOPB; /* two bits */
+#endif
+
+#ifdef HAVE_SGTTY
+  return 0;                    /* sgtty doesn't support this */
+#endif
+
+  return set_tty_state (scb, &state);
+}
+
 static int
 hardwire_write(scb, str, len)
      serial_t scb;
@@ -675,6 +720,7 @@ static struct serial_ops hardwire_ops =
   hardwire_print_tty_state,
   hardwire_noflush_set_tty_state,
   hardwire_setbaudrate,
+  hardwire_setstopbits,
 };
 
 void
This page took 0.023588 seconds and 4 git commands to generate.