/* Generated by ./xlat/gen.sh from ./xlat/baud_options.in; do not edit. */

static const struct xlat baud_options[] = {
#if defined(B0) || (defined(HAVE_DECL_B0) && HAVE_DECL_B0)
 XLAT(B0),
#endif
#if defined(B50) || (defined(HAVE_DECL_B50) && HAVE_DECL_B50)
 XLAT(B50),
#endif
#if defined(B75) || (defined(HAVE_DECL_B75) && HAVE_DECL_B75)
 XLAT(B75),
#endif
#if defined(B110) || (defined(HAVE_DECL_B110) && HAVE_DECL_B110)
 XLAT(B110),
#endif
#if defined(B134) || (defined(HAVE_DECL_B134) && HAVE_DECL_B134)
 XLAT(B134),
#endif
#if defined(B150) || (defined(HAVE_DECL_B150) && HAVE_DECL_B150)
 XLAT(B150),
#endif
#if defined(B200) || (defined(HAVE_DECL_B200) && HAVE_DECL_B200)
 XLAT(B200),
#endif
#if defined(B300) || (defined(HAVE_DECL_B300) && HAVE_DECL_B300)
 XLAT(B300),
#endif
#if defined(B600) || (defined(HAVE_DECL_B600) && HAVE_DECL_B600)
 XLAT(B600),
#endif
#if defined(B1200) || (defined(HAVE_DECL_B1200) && HAVE_DECL_B1200)
 XLAT(B1200),
#endif
#if defined(B1800) || (defined(HAVE_DECL_B1800) && HAVE_DECL_B1800)
 XLAT(B1800),
#endif
#if defined(B2400) || (defined(HAVE_DECL_B2400) && HAVE_DECL_B2400)
 XLAT(B2400),
#endif
#if defined(B4800) || (defined(HAVE_DECL_B4800) && HAVE_DECL_B4800)
 XLAT(B4800),
#endif
#if defined(B9600) || (defined(HAVE_DECL_B9600) && HAVE_DECL_B9600)
 XLAT(B9600),
#endif
#if defined(B19200) || (defined(HAVE_DECL_B19200) && HAVE_DECL_B19200)
 XLAT(B19200),
#endif
#if defined(B38400) || (defined(HAVE_DECL_B38400) && HAVE_DECL_B38400)
 XLAT(B38400),
#endif
#if defined(B57600) || (defined(HAVE_DECL_B57600) && HAVE_DECL_B57600)
 XLAT(B57600),
#endif
#if defined(B115200) || (defined(HAVE_DECL_B115200) && HAVE_DECL_B115200)
 XLAT(B115200),
#endif
#if defined(B230400) || (defined(HAVE_DECL_B230400) && HAVE_DECL_B230400)
 XLAT(B230400),
#endif
#if defined(B460800) || (defined(HAVE_DECL_B460800) && HAVE_DECL_B460800)
 XLAT(B460800),
#endif
#if defined(B500000) || (defined(HAVE_DECL_B500000) && HAVE_DECL_B500000)
 XLAT(B500000),
#endif
#if defined(B576000) || (defined(HAVE_DECL_B576000) && HAVE_DECL_B576000)
 XLAT(B576000),
#endif
#if defined(B921600) || (defined(HAVE_DECL_B921600) && HAVE_DECL_B921600)
 XLAT(B921600),
#endif
#if defined(B1000000) || (defined(HAVE_DECL_B1000000) && HAVE_DECL_B1000000)
 XLAT(B1000000),
#endif
#if defined(B1152000) || (defined(HAVE_DECL_B1152000) && HAVE_DECL_B1152000)
 XLAT(B1152000),
#endif
#if defined(B1500000) || (defined(HAVE_DECL_B1500000) && HAVE_DECL_B1500000)
 XLAT(B1500000),
#endif
#if defined(B2000000) || (defined(HAVE_DECL_B2000000) && HAVE_DECL_B2000000)
 XLAT(B2000000),
#endif
#if defined(B2500000) || (defined(HAVE_DECL_B2500000) && HAVE_DECL_B2500000)
 XLAT(B2500000),
#endif
#if defined(B3000000) || (defined(HAVE_DECL_B3000000) && HAVE_DECL_B3000000)
 XLAT(B3000000),
#endif
#if defined(B3500000) || (defined(HAVE_DECL_B3500000) && HAVE_DECL_B3500000)
 XLAT(B3500000),
#endif
#if defined(B4000000) || (defined(HAVE_DECL_B4000000) && HAVE_DECL_B4000000)
 XLAT(B4000000),
#endif
#if defined(EXTA) || (defined(HAVE_DECL_EXTA) && HAVE_DECL_EXTA)
 XLAT(EXTA),
#endif
#if defined(EXTB) || (defined(HAVE_DECL_EXTB) && HAVE_DECL_EXTB)
 XLAT(EXTB),
#endif
 XLAT_END
};
