X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=linux_termios.c;h=e23d187b0dac63210c203edfa3b177ab6d44980a;hb=962143bc5c3a9a6e130cc1273ab465238c178d70;hp=b23686987147c3bc8da0c252946cd08023cecf1e;hpb=bd791fe121ccbaa3d3176b5fb64a92eef48f1183;p=libserialport.git diff --git a/linux_termios.c b/linux_termios.c index b236869..e23d187 100644 --- a/linux_termios.c +++ b/linux_termios.c @@ -33,41 +33,41 @@ * TCSETX/TCGETX ioctls used with struct termiox, others do not. */ -#if defined(__linux__) && !defined(__ANDROID__) - +#include #include #include "linux_termios.h" -int get_termios_get_ioctl(void) +SP_PRIV unsigned long get_termios_get_ioctl(void) { -#ifdef HAVE_TERMIOS2 +#ifdef HAVE_STRUCT_TERMIOS2 return TCGETS2; #else return TCGETS; #endif } -int get_termios_set_ioctl(void) +SP_PRIV unsigned long get_termios_set_ioctl(void) { -#ifdef HAVE_TERMIOS2 +#ifdef HAVE_STRUCT_TERMIOS2 return TCSETS2; #else return TCSETS; #endif } -int get_termios_size(void) +SP_PRIV size_t get_termios_size(void) { -#ifdef HAVE_TERMIOS2 +#ifdef HAVE_STRUCT_TERMIOS2 return sizeof(struct termios2); #else return sizeof(struct termios); #endif } -int get_termios_speed(void *data) +#if (defined(HAVE_TERMIOS_SPEED) || defined(HAVE_TERMIOS2_SPEED)) && defined(HAVE_DECL_BOTHER) +SP_PRIV int get_termios_speed(void *data) { -#ifdef HAVE_TERMIOS2 +#ifdef HAVE_STRUCT_TERMIOS2 struct termios2 *term = (struct termios2 *) data; #else struct termios *term = (struct termios *) data; @@ -78,9 +78,9 @@ int get_termios_speed(void *data) return term->c_ispeed; } -void set_termios_speed(void *data, int speed) +SP_PRIV void set_termios_speed(void *data, int speed) { -#ifdef HAVE_TERMIOS2 +#ifdef HAVE_STRUCT_TERMIOS2 struct termios2 *term = (struct termios2 *) data; #else struct termios *term = (struct termios *) data; @@ -89,14 +89,15 @@ void set_termios_speed(void *data, int speed) term->c_cflag |= BOTHER; term->c_ispeed = term->c_ospeed = speed; } +#endif -#ifdef HAVE_TERMIOX -int get_termiox_size(void) +#ifdef HAVE_STRUCT_TERMIOX +SP_PRIV size_t get_termiox_size(void) { return sizeof(struct termiox); } -int get_termiox_flow(void *data, int *rts, int *cts, int *dtr, int *dsr) +SP_PRIV int get_termiox_flow(void *data, int *rts, int *cts, int *dtr, int *dsr) { struct termiox *termx = (struct termiox *) data; int flags = 0; @@ -109,7 +110,7 @@ int get_termiox_flow(void *data, int *rts, int *cts, int *dtr, int *dsr) return flags; } -void set_termiox_flow(void *data, int rts, int cts, int dtr, int dsr) +SP_PRIV void set_termiox_flow(void *data, int rts, int cts, int dtr, int dsr) { struct termiox *termx = (struct termiox *) data; @@ -125,5 +126,3 @@ void set_termiox_flow(void *data, int rts, int cts, int dtr, int dsr) termx->x_cflag |= DSRXON; } #endif - -#endif