/* Generated by ./xlat/gen.sh from ./xlat/rtnl_tca_stab_attrs.in; do not edit. */
#if !(defined(TCA_STAB_UNSPEC) || (defined(HAVE_DECL_TCA_STAB_UNSPEC) && HAVE_DECL_TCA_STAB_UNSPEC))
# define TCA_STAB_UNSPEC 0
#endif
#if !(defined(TCA_STAB_BASE) || (defined(HAVE_DECL_TCA_STAB_BASE) && HAVE_DECL_TCA_STAB_BASE))
# define TCA_STAB_BASE 1
#endif
#if !(defined(TCA_STAB_DATA) || (defined(HAVE_DECL_TCA_STAB_DATA) && HAVE_DECL_TCA_STAB_DATA))
# define TCA_STAB_DATA 2
#endif

#ifdef IN_MPERS

# error static const struct xlat rtnl_tca_stab_attrs in mpers mode

#else

static
const struct xlat rtnl_tca_stab_attrs[] = {
 XLAT(TCA_STAB_UNSPEC),
 XLAT(TCA_STAB_BASE),
 XLAT(TCA_STAB_DATA),
 XLAT_END
};

#endif /* !IN_MPERS */
