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) <hpa@zytor.com>
Reviewed-by: Collin Funk <collin.funk1@gmail.com>
#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 */
#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;