From: H. Peter Anvin Date: Sun, 13 Jul 2025 05:19:43 +0000 (-0700) Subject: termios: SPEED_MAX and BAUD_MAX constants X-Git-Tag: glibc-2.42~32 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12126f86f2526da325cd17a6463ec4c0c3db981e;p=thirdparty%2Fglibc.git termios: SPEED_MAX and BAUD_MAX constants Add constants indicating the maximum values of speed_t and baud_t. Hopefully if and when the baud_t interface is standardized then BAUD_MAX will be included in the standardization from the start. Historically, the __MAX_BAUD symbol has indicated the maximum speed_t value on at least some platforms (including glibc). However, this name would be problematic for future standardization, because it confusingly implies a reference to baud_t, not speed_t, and it is inconsistent with other limit symbols, which are all of the form *_MAX (e.g. SIZE_MAX for size_t.) [ v3: dropped leading underscores, leave __MAX_BAUD outside #ifdef __USE_MISC since it is a legacy symbol, and namespace-protected with a double underscore. (Collin Funk, Adhermerval Zanella Netto) ] [ v4: moved from __USE_MISC to __USE_GNU (Collin Funk) ] Signed-off-by: "H. Peter Anvin" (Intel) Reviewed-by: Collin Funk --- diff --git a/bits/termios-baud.h b/bits/termios-baud.h index bafde1a650..697ad80758 100644 --- a/bits/termios-baud.h +++ b/bits/termios-baud.h @@ -69,4 +69,7 @@ #define B5000000 5000000U #define B10000000 10000000U -#define __MAX_BAUD 4294967295U +#ifdef __USE_GNU +#define SPEED_MAX 4294967295U /* maximum valid speed_t value */ +#endif +#define __MAX_BAUD 4294967295U /* legacy alias for SPEED_MAX */ diff --git a/termios/termios.h b/termios/termios.h index 3347c880a5..91cbe875e4 100644 --- a/termios/termios.h +++ b/termios/termios.h @@ -64,6 +64,7 @@ extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) __THROW; #ifdef __USE_GNU /* Interfaces that are explicitly numeric representations of baud rates */ typedef speed_t baud_t; +#define BAUD_MAX SPEED_MAX /* Return the output baud rate stored in *TERMIOS_P. */ extern baud_t cfgetobaud (const struct termios *__termios_p) __THROW;