From: Martin Ling Date: Thu, 21 Nov 2013 11:52:54 +0000 (+0000) Subject: Document this madness. X-Git-Tag: libserialport-0.1.0~89 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=70518e4fddf921fddf9af36f1b7aebeb9cd70a67;p=libserialport.git Document this madness. --- diff --git a/linux_termios.c b/linux_termios.c index 874889a..b50b2c9 100644 --- a/linux_termios.c +++ b/linux_termios.c @@ -17,6 +17,22 @@ * along with this program. If not, see . */ +/* + * At the time of writing, glibc does not support the Linux kernel interfaces + * for setting non-standard baud rates and flow control. We therefore have to + * prepare the correct ioctls ourselves, for which we need the declarations in + * linux/termios.h. + * + * We can't include linux/termios.h in serialport.c however, because its + * contents conflict with the termios.h provided by glibc. So this file exists + * to isolate the bits of code which use the kernel termios declarations. + * + * The details vary by architecture. Some architectures have c_ispeed/c_ospeed + * in struct termios, accessed with TCSETS/TCGETS. Others have these fields in + * struct termios2, accessed with TCSETS2/TCGETS2. Some architectures have the + * TCSETX/TCGETX ioctls used with struct termiox, others do not. + */ + #include #include "linux_termios.h"