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

static const struct xlat modem_flags[] = {
#if defined(TIOCM_LE) || (defined(HAVE_DECL_TIOCM_LE) && HAVE_DECL_TIOCM_LE)
	XLAT(TIOCM_LE),
#endif
#if defined(TIOCM_DTR) || (defined(HAVE_DECL_TIOCM_DTR) && HAVE_DECL_TIOCM_DTR)
	XLAT(TIOCM_DTR),
#endif
#if defined(TIOCM_RTS) || (defined(HAVE_DECL_TIOCM_RTS) && HAVE_DECL_TIOCM_RTS)
	XLAT(TIOCM_RTS),
#endif
#if defined(TIOCM_ST) || (defined(HAVE_DECL_TIOCM_ST) && HAVE_DECL_TIOCM_ST)
	XLAT(TIOCM_ST),
#endif
#if defined(TIOCM_SR) || (defined(HAVE_DECL_TIOCM_SR) && HAVE_DECL_TIOCM_SR)
	XLAT(TIOCM_SR),
#endif
#if defined(TIOCM_CTS) || (defined(HAVE_DECL_TIOCM_CTS) && HAVE_DECL_TIOCM_CTS)
	XLAT(TIOCM_CTS),
#endif
#if defined(TIOCM_CAR) || (defined(HAVE_DECL_TIOCM_CAR) && HAVE_DECL_TIOCM_CAR)
	XLAT(TIOCM_CAR),
#endif
#if defined(TIOCM_CD) || (defined(HAVE_DECL_TIOCM_CD) && HAVE_DECL_TIOCM_CD)
	XLAT(TIOCM_CD),
#endif
#if defined(TIOCM_RNG) || (defined(HAVE_DECL_TIOCM_RNG) && HAVE_DECL_TIOCM_RNG)
	XLAT(TIOCM_RNG),
#endif
#if defined(TIOCM_RI) || (defined(HAVE_DECL_TIOCM_RI) && HAVE_DECL_TIOCM_RI)
	XLAT(TIOCM_RI),
#endif
#if defined(TIOCM_DSR) || (defined(HAVE_DECL_TIOCM_DSR) && HAVE_DECL_TIOCM_DSR)
	XLAT(TIOCM_DSR),
#endif
	XLAT_END
};
