Enable / Disable CREAD functionality in gattty
authorRyan Raasch <ryan.raasch@gmail.com>
Wed, 21 Oct 2009 08:43:36 +0000 (10:43 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 22 Oct 2009 01:17:25 +0000 (10:17 +0900)
gatchat/gattty.c

index e1dfe24..30d9444 100644 (file)
@@ -89,6 +89,18 @@ static gboolean set_baud(const char *baud, struct termios *ti)
        return TRUE;
 }
 
+static gboolean set_read(const char *bits, struct termios *ti)
+{
+       if (g_str_equal(bits, "off"))
+               ti->c_cflag &= ~(CREAD);
+       else if (g_str_equal(bits, "on"))
+               ti->c_cflag |= CREAD;
+       else
+               return FALSE;
+
+       return TRUE;
+}
+
 static gboolean set_stop_bits(const char *bits, struct termios *ti)
 {
        if (g_str_equal(bits, "1"))
@@ -202,6 +214,8 @@ static int open_device(const char *tty, GHashTable *options)
                                ok = set_rtscts(value, &ti);
                        else if (g_str_equal(key, "local"))
                                ok = set_local(value, &ti);
+                       else if (g_str_equal(key, "read"))
+                               ok = set_read(value, &ti);
 
                        if (ok == FALSE)
                                return -1;