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

#ifdef IN_MPERS

# error static const struct xlat netlink_diag_show in mpers mode

#else

static
const struct xlat netlink_diag_show[] = {
#if defined(NDIAG_SHOW_MEMINFO) || (defined(HAVE_DECL_NDIAG_SHOW_MEMINFO) && HAVE_DECL_NDIAG_SHOW_MEMINFO)
  XLAT(NDIAG_SHOW_MEMINFO),
#endif
#if defined(NDIAG_SHOW_GROUPS) || (defined(HAVE_DECL_NDIAG_SHOW_GROUPS) && HAVE_DECL_NDIAG_SHOW_GROUPS)
  XLAT(NDIAG_SHOW_GROUPS),
#endif
#if defined(NDIAG_SHOW_RING_CFG) || (defined(HAVE_DECL_NDIAG_SHOW_RING_CFG) && HAVE_DECL_NDIAG_SHOW_RING_CFG)
  XLAT(NDIAG_SHOW_RING_CFG),
#endif
#if defined(NDIAG_SHOW_FLAGS) || (defined(HAVE_DECL_NDIAG_SHOW_FLAGS) && HAVE_DECL_NDIAG_SHOW_FLAGS)
  XLAT(NDIAG_SHOW_FLAGS),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
