1
0
mirror of https://github.com/UzixLS/picocom.git synced 2025-07-19 07:21:18 +03:00

Compile with libc's without cispeed / cospeed

Some libc implementations (e.g. musl) do not define the cispeed and
cospeed struct termios fields. So we have to check the
_HAVE_STRUCT_TERMIOS_C_ISPEED and _HAVE_STRUCT_TERMIOS_C_OSPEED
macros. If not defined, we disable custom baudrate support.
This commit is contained in:
Nick Patavalis
2018-04-12 15:16:04 +03:00
parent eb0f53a0c0
commit 1acf1ddaba

View File

@ -26,6 +26,8 @@
#ifndef CUSTBAUD_H #ifndef CUSTBAUD_H
#define CUSTBAUD_H #define CUSTBAUD_H
#include <termios.h>
#ifndef NO_CUSTOM_BAUD #ifndef NO_CUSTOM_BAUD
#if defined (__linux__) #if defined (__linux__)
@ -33,7 +35,13 @@
/* Enable by-default for kernels > 2.6.0 on x86 and x86_64 only */ /* Enable by-default for kernels > 2.6.0 on x86 and x86_64 only */
#include <linux/version.h> #include <linux/version.h>
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
#if defined (__i386__) || defined (__x86_64__) || defined (USE_CUSTOM_BAUD) /* Some libc implementations (e.g. musl) do not define the cispeed and
cospeed struct termios fields. We do not support custom baudrates
on them. */
#if ( (defined (__i386__) || defined (__x86_64__)) \
&& defined (_HAVE_STRUCT_TERMIOS_C_ISPEED) \
&& defined (_HAVE_STRUCT_TERMIOS_C_OSPEED) ) \
|| defined (USE_CUSTOM_BAUD)
#ifndef USE_CUSTOM_BAUD #ifndef USE_CUSTOM_BAUD
#define USE_CUSTOM_BAUD #define USE_CUSTOM_BAUD
#endif #endif
@ -87,7 +95,6 @@
#endif /* of ndef NO_CUSTOM_BAUD else */ #endif /* of ndef NO_CUSTOM_BAUD else */
#include <termios.h>
int use_custom_baud(); int use_custom_baud();
int cfsetispeed_custom(struct termios *tios, int speed); int cfsetispeed_custom(struct termios *tios, int speed);