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

#ifdef IN_MPERS

extern const struct xlat v4l2_tuner_types[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat v4l2_tuner_types[] = {
#if defined(V4L2_TUNER_RADIO) || (defined(HAVE_DECL_V4L2_TUNER_RADIO) && HAVE_DECL_V4L2_TUNER_RADIO)
  XLAT(V4L2_TUNER_RADIO),
#endif
#if defined(V4L2_TUNER_ANALOG_TV) || (defined(HAVE_DECL_V4L2_TUNER_ANALOG_TV) && HAVE_DECL_V4L2_TUNER_ANALOG_TV)
  XLAT(V4L2_TUNER_ANALOG_TV),
#endif
#if defined(V4L2_TUNER_DIGITAL_TV) || (defined(HAVE_DECL_V4L2_TUNER_DIGITAL_TV) && HAVE_DECL_V4L2_TUNER_DIGITAL_TV)
  XLAT(V4L2_TUNER_DIGITAL_TV),
#endif
#if defined(V4L2_TUNER_ADC) || (defined(HAVE_DECL_V4L2_TUNER_ADC) && HAVE_DECL_V4L2_TUNER_ADC)
  XLAT(V4L2_TUNER_ADC),
#endif
#if defined(V4L2_TUNER_SDR) || (defined(HAVE_DECL_V4L2_TUNER_SDR) && HAVE_DECL_V4L2_TUNER_SDR)
  XLAT(V4L2_TUNER_SDR),
#endif
#if defined(V4L2_TUNER_RF) || (defined(HAVE_DECL_V4L2_TUNER_RF) && HAVE_DECL_V4L2_TUNER_RF)
  XLAT(V4L2_TUNER_RF),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
