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

#ifndef IN_MPERS

const struct xlat ip_type_of_services[] = {
#if defined(IPTOS_LOWDELAY) || (defined(HAVE_DECL_IPTOS_LOWDELAY) && HAVE_DECL_IPTOS_LOWDELAY)
  XLAT(IPTOS_LOWDELAY),
#endif
#if defined(IPTOS_THROUGHPUT) || (defined(HAVE_DECL_IPTOS_THROUGHPUT) && HAVE_DECL_IPTOS_THROUGHPUT)
  XLAT(IPTOS_THROUGHPUT),
#endif
#if defined(IPTOS_RELIABILITY) || (defined(HAVE_DECL_IPTOS_RELIABILITY) && HAVE_DECL_IPTOS_RELIABILITY)
  XLAT(IPTOS_RELIABILITY),
#endif
#if defined(IPTOS_MINCOST) || (defined(HAVE_DECL_IPTOS_MINCOST) && HAVE_DECL_IPTOS_MINCOST)
  XLAT(IPTOS_MINCOST),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
