diff libserial-posix/baudtab.c @ 661:fd7b447b99e3

libserial rename The version that was previously named libserial-newlnx is now libserial-linux, and the version that was previosly named libserial-orig is now libserial-posix. This new naming is more in line with the objective reality of the difference, moving away from naming based on our project history.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 05 Mar 2020 19:54:31 +0000
parents libserial-orig/baudtab.c@39b39b546824
children 0a6184443821
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libserial-posix/baudtab.c	Thu Mar 05 19:54:31 2020 +0000
@@ -0,0 +1,47 @@
+/*
+ * This module contains the table of baud rates supported
+ * by this implementation of FreeCalypso libserial.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <termios.h>
+#include "baudrate.h"
+
+struct baudrate baud_rate_table[] = {
+	/* the first listed rate will be our default */
+	{"115200",	B115200,	0,	100},
+	{"57600",	B57600,		1,	100},
+	{"38400",	B38400,		2,	100},
+	{"19200",	B19200,		4,	50},
+	/*
+	 * Non-standard high baud rates remapped by CP2102 EEPROM programming
+	 * or by a hacky patch to the ftdi_sio Linux kernel driver to work
+	 * with FTDI adapters.
+	 */
+	{"812500",	B921600,	-1,	1000},
+	{"406250",	B460800,	-1,	500},
+	{"203125",	B230400,	-1,	250},
+	/* table search terminator */
+	{NULL,		B0,		-1},
+};
+
+struct baudrate *
+find_baudrate_by_name(srch_name)
+	char *srch_name;
+{
+	struct baudrate *br;
+
+	for (br = baud_rate_table; br->name; br++)
+		if (!strcmp(br->name, srch_name))
+			break;
+	if (br->name)
+		return(br);
+	else {
+		fprintf(stderr, "error: baud rate \"%s\" not known\n",
+			srch_name);
+		return(NULL);
+	}
+}