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

#ifdef IN_MPERS

# error static const struct xlat packet_diag_info_flags in mpers mode

#else

static
const struct xlat packet_diag_info_flags[] = {
#if defined(PDI_RUNNING) || (defined(HAVE_DECL_PDI_RUNNING) && HAVE_DECL_PDI_RUNNING)
  XLAT(PDI_RUNNING),
#endif
#if defined(PDI_AUXDATA) || (defined(HAVE_DECL_PDI_AUXDATA) && HAVE_DECL_PDI_AUXDATA)
  XLAT(PDI_AUXDATA),
#endif
#if defined(PDI_ORIGDEV) || (defined(HAVE_DECL_PDI_ORIGDEV) && HAVE_DECL_PDI_ORIGDEV)
  XLAT(PDI_ORIGDEV),
#endif
#if defined(PDI_VNETHDR) || (defined(HAVE_DECL_PDI_VNETHDR) && HAVE_DECL_PDI_VNETHDR)
  XLAT(PDI_VNETHDR),
#endif
#if defined(PDI_LOSS) || (defined(HAVE_DECL_PDI_LOSS) && HAVE_DECL_PDI_LOSS)
  XLAT(PDI_LOSS),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
