[PATCH v7 13/14] termios: unify the naming of the termios speed fields

H. Peter Anvin hpa@zytor.com
Sun Jun 8 02:19:16 GMT 2025


From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

The generic code has __ispeed and __ospeed; Linux has c_ispeed and
c_ospeed. Use an anonymous union member to allow both set of names on
all platforms.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
---
 bits/termios.h                                | 11 ++++++++++-
 sysdeps/unix/sysv/linux/bits/termios-struct.h | 11 +++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/bits/termios.h b/bits/termios.h
index 8f0b817dbf4c..798012cb8ebc 100644
--- a/bits/termios.h
+++ b/bits/termios.h
@@ -286,7 +286,16 @@ struct termios
   cc_t c_cc[NCCS];
 
   /* Input and output baud rates.  */
-  speed_t __ispeed, __ospeed;
+  __extension__ union {
+    speed_t __ispeed;
+    speed_t c_ispeed;
+  };
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+  __extension__ union {
+    speed_t __ospeed;
+    speed_t c_ospeed;
+  };
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
 };
 
 #define _IOT_termios /* Hurd ioctl type field.  */ \
diff --git a/sysdeps/unix/sysv/linux/bits/termios-struct.h b/sysdeps/unix/sysv/linux/bits/termios-struct.h
index f0076bfeeebf..b500835e1c7b 100644
--- a/sysdeps/unix/sysv/linux/bits/termios-struct.h
+++ b/sysdeps/unix/sysv/linux/bits/termios-struct.h
@@ -30,8 +30,15 @@ struct termios
     cc_t c_line;		/* line discipline */
     cc_t c_cc[NCCS];		/* control characters */
     cc_t __reserved[3];		/* reserved (was padding), should be zero */
-    speed_t c_ispeed;		/* input speed */
-    speed_t c_ospeed;		/* output speed */
+    /* Input and output baud rates.  */
+    __extension__ union {
+      speed_t __ispeed;
+      speed_t c_ispeed;
+    };
 #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+    __extension__ union {
+      speed_t __ospeed;
+      speed_t c_ospeed;
+    };
 #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
   };
-- 
2.49.0



More information about the Libc-alpha mailing list