/* Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stats_attrs.in; do not edit. */
#if !(defined(TCA_STATS_UNSPEC) || (defined(HAVE_DECL_TCA_STATS_UNSPEC) && HAVE_DECL_TCA_STATS_UNSPEC))
# define TCA_STATS_UNSPEC 0
#endif
#if !(defined(TCA_STATS_BASIC) || (defined(HAVE_DECL_TCA_STATS_BASIC) && HAVE_DECL_TCA_STATS_BASIC))
# define TCA_STATS_BASIC 1
#endif
#if !(defined(TCA_STATS_RATE_EST) || (defined(HAVE_DECL_TCA_STATS_RATE_EST) && HAVE_DECL_TCA_STATS_RATE_EST))
# define TCA_STATS_RATE_EST 2
#endif
#if !(defined(TCA_STATS_QUEUE) || (defined(HAVE_DECL_TCA_STATS_QUEUE) && HAVE_DECL_TCA_STATS_QUEUE))
# define TCA_STATS_QUEUE 3
#endif
#if !(defined(TCA_STATS_APP) || (defined(HAVE_DECL_TCA_STATS_APP) && HAVE_DECL_TCA_STATS_APP))
# define TCA_STATS_APP 4
#endif
#if !(defined(TCA_STATS_RATE_EST64) || (defined(HAVE_DECL_TCA_STATS_RATE_EST64) && HAVE_DECL_TCA_STATS_RATE_EST64))
# define TCA_STATS_RATE_EST64 5
#endif
#if !(defined(TCA_STATS_PAD) || (defined(HAVE_DECL_TCA_STATS_PAD) && HAVE_DECL_TCA_STATS_PAD))
# define TCA_STATS_PAD 6
#endif

#ifdef IN_MPERS

# error static const struct xlat rtnl_tca_stats_attrs in mpers mode

#else

static
const struct xlat rtnl_tca_stats_attrs[] = {
 XLAT(TCA_STATS_UNSPEC),
 XLAT(TCA_STATS_BASIC),
 XLAT(TCA_STATS_RATE_EST),
 XLAT(TCA_STATS_QUEUE),
 XLAT(TCA_STATS_APP),
 XLAT(TCA_STATS_RATE_EST64),
 XLAT(TCA_STATS_PAD),
 XLAT_END
};

#endif /* !IN_MPERS */
