]> sigrok.org Git - libserialport.git/blobdiff - linux_termios.c
Build: Use GNUMAKEFLAGS and $@
[libserialport.git] / linux_termios.c
index 7c1540a2ddb4e0450a4d1e4c5b66b985a263fb6c..e23d187b0dac63210c203edfa3b177ab6d44980a 100644 (file)
  * TCSETX/TCGETX ioctls used with struct termiox, others do not.
  */
 
+#include <stdlib.h>
 #include <linux/termios.h>
 #include "linux_termios.h"
 
-SP_PRIV 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
 }
 
-SP_PRIV 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
 }
 
-SP_PRIV 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
 }
 
-#if defined(HAVE_TERMIOS_SPEED) || defined(HAVE_TERMIOS2_SPEED)
+#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;
@@ -79,7 +80,7 @@ SP_PRIV int get_termios_speed(void *data)
 
 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;
@@ -90,8 +91,8 @@ SP_PRIV void set_termios_speed(void *data, int speed)
 }
 #endif
 
-#ifdef HAVE_TERMIOX
-SP_PRIV int get_termiox_size(void)
+#ifdef HAVE_STRUCT_TERMIOX
+SP_PRIV size_t get_termiox_size(void)
 {
        return sizeof(struct termiox);
 }