summaryrefslogtreecommitdiffstats
path: root/custom_baud.c
diff options
context:
space:
mode:
Diffstat (limited to 'custom_baud.c')
-rw-r--r--custom_baud.c49
1 files changed, 3 insertions, 46 deletions
diff --git a/custom_baud.c b/custom_baud.c
index caf2b78c2..8bbe6cc74 100644
--- a/custom_baud.c
+++ b/custom_baud.c
@@ -14,54 +14,12 @@
* GNU General Public License for more details.
*/
-#include "platform.h"
-#include "custom_baud.h"
-
-#if IS_LINUX
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <asm-generic/termbits.h>
-#include <asm-generic/ioctls.h>
-
-/*
- * This include hell above is why this is in a separate source file. See eg.
- * https://www.downtowndougbrown.com/2013/11/linux-custom-serial-baud-rates/
- * https://stackoverflow.com/questions/12646324/how-to-set-a-custom-baud-rate-on-linux
- * https://github.com/jbkim/Linux-custom-baud-rate
- * for more info.
- */
-
-int set_custom_baudrate(int fd, unsigned int baud)
-{
- struct termios2 tio;
- if (ioctl(fd, TCGETS2, &tio)) {
- return -1;
- }
- tio.c_cflag &= ~CBAUD;
- tio.c_cflag |= BOTHER;
- tio.c_ispeed = baud;
- tio.c_ospeed = baud;
- return ioctl(fd, TCSETS2, &tio);
-}
-
-int use_custom_baud(unsigned int baud, const struct baudentry *baudtable)
-{
- int i;
- for (i = 0; baudtable[i].baud; i++) {
- if (baudtable[i].baud == baud)
- return 0;
-
- if (baudtable[i].baud > baud)
- return 1;
- }
- return 1;
-}
-
-#else
#include <errno.h>
+#include "custom_baud.h"
+
/* Stub, should not get called. */
-int set_custom_baudrate(int fd, unsigned int baud)
+int set_custom_baudrate(int fd, unsigned int baud, const enum custom_baud_stage stage, void *tio_wanted)
{
errno = ENOSYS; /* Hoping "Function not supported" will make you look here. */
return -1;
@@ -71,4 +29,3 @@ int use_custom_baud(unsigned int baud, const struct baudentry *baudtable)
{
return 0;
}
-#endif