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

#ifdef IN_MPERS

extern const struct xlat v4l2_tuner_rxsubchanses[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat v4l2_tuner_rxsubchanses[] = {
#if defined(V4L2_TUNER_SUB_MONO) || (defined(HAVE_DECL_V4L2_TUNER_SUB_MONO) && HAVE_DECL_V4L2_TUNER_SUB_MONO)
  XLAT(V4L2_TUNER_SUB_MONO),
#endif
#if defined(V4L2_TUNER_SUB_STEREO) || (defined(HAVE_DECL_V4L2_TUNER_SUB_STEREO) && HAVE_DECL_V4L2_TUNER_SUB_STEREO)
  XLAT(V4L2_TUNER_SUB_STEREO),
#endif
#if defined(V4L2_TUNER_SUB_LANG2) || (defined(HAVE_DECL_V4L2_TUNER_SUB_LANG2) && HAVE_DECL_V4L2_TUNER_SUB_LANG2)
  XLAT(V4L2_TUNER_SUB_LANG2),
#endif
#if defined(V4L2_TUNER_SUB_SAP) || (defined(HAVE_DECL_V4L2_TUNER_SUB_SAP) && HAVE_DECL_V4L2_TUNER_SUB_SAP)
  XLAT(V4L2_TUNER_SUB_SAP),
#endif
#if defined(V4L2_TUNER_SUB_LANG1) || (defined(HAVE_DECL_V4L2_TUNER_SUB_LANG1) && HAVE_DECL_V4L2_TUNER_SUB_LANG1)
  XLAT(V4L2_TUNER_SUB_LANG1),
#endif
#if defined(V4L2_TUNER_SUB_RDS) || (defined(HAVE_DECL_V4L2_TUNER_SUB_RDS) && HAVE_DECL_V4L2_TUNER_SUB_RDS)
  XLAT(V4L2_TUNER_SUB_RDS),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
