FreeCalypso > hg > freecalypso-tools
diff libserial-orig/baudtab.c @ 248:cb1ba53a1106
beginning of factored-out libserial
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 21 Sep 2017 21:43:34 +0000 |
parents | |
children | 39b39b546824 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libserial-orig/baudtab.c Thu Sep 21 21:43:34 2017 +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}, + {"57600", B57600, 1}, + {"38400", B38400, 2}, + {"19200", B19200, 4}, + /* + * 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}, + {"406250", B460800, -1}, + {"203125", B230400, -1}, + /* 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); + } +}