/* Generated by ./xlat/gen.sh from ./xlat/routing_types.in; do not edit. */
#if !(defined(RTN_UNSPEC) || (defined(HAVE_DECL_RTN_UNSPEC) && HAVE_DECL_RTN_UNSPEC))
# define RTN_UNSPEC 0
#endif
#if !(defined(RTN_UNICAST) || (defined(HAVE_DECL_RTN_UNICAST) && HAVE_DECL_RTN_UNICAST))
# define RTN_UNICAST 1
#endif
#if !(defined(RTN_LOCAL) || (defined(HAVE_DECL_RTN_LOCAL) && HAVE_DECL_RTN_LOCAL))
# define RTN_LOCAL 2
#endif
#if !(defined(RTN_BROADCAST) || (defined(HAVE_DECL_RTN_BROADCAST) && HAVE_DECL_RTN_BROADCAST))
# define RTN_BROADCAST 3
#endif
#if !(defined(RTN_ANYCAST) || (defined(HAVE_DECL_RTN_ANYCAST) && HAVE_DECL_RTN_ANYCAST))
# define RTN_ANYCAST 4
#endif
#if !(defined(RTN_MULTICAST) || (defined(HAVE_DECL_RTN_MULTICAST) && HAVE_DECL_RTN_MULTICAST))
# define RTN_MULTICAST 5
#endif
#if !(defined(RTN_BLACKHOLE) || (defined(HAVE_DECL_RTN_BLACKHOLE) && HAVE_DECL_RTN_BLACKHOLE))
# define RTN_BLACKHOLE 6
#endif
#if !(defined(RTN_UNREACHABLE) || (defined(HAVE_DECL_RTN_UNREACHABLE) && HAVE_DECL_RTN_UNREACHABLE))
# define RTN_UNREACHABLE 7
#endif
#if !(defined(RTN_PROHIBIT) || (defined(HAVE_DECL_RTN_PROHIBIT) && HAVE_DECL_RTN_PROHIBIT))
# define RTN_PROHIBIT 8
#endif
#if !(defined(RTN_THROW) || (defined(HAVE_DECL_RTN_THROW) && HAVE_DECL_RTN_THROW))
# define RTN_THROW 9
#endif
#if !(defined(RTN_NAT) || (defined(HAVE_DECL_RTN_NAT) && HAVE_DECL_RTN_NAT))
# define RTN_NAT 10
#endif
#if !(defined(RTN_XRESOLVE) || (defined(HAVE_DECL_RTN_XRESOLVE) && HAVE_DECL_RTN_XRESOLVE))
# define RTN_XRESOLVE 11
#endif

#ifndef IN_MPERS

const struct xlat routing_types[] = {
 XLAT(RTN_UNSPEC),
 XLAT(RTN_UNICAST),
 XLAT(RTN_LOCAL),
 XLAT(RTN_BROADCAST),
 XLAT(RTN_ANYCAST),
 XLAT(RTN_MULTICAST),
 XLAT(RTN_BLACKHOLE),
 XLAT(RTN_UNREACHABLE),
 XLAT(RTN_PROHIBIT),
 XLAT(RTN_THROW),
 XLAT(RTN_NAT),
 XLAT(RTN_XRESOLVE),
 XLAT_END
};

#endif /* !IN_MPERS */
