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

#ifdef IN_MPERS

# error static const struct xlat netlink_get_flags in mpers mode

#else

static
const struct xlat netlink_get_flags[] = {
#if defined(NLM_F_DUMP) || (defined(HAVE_DECL_NLM_F_DUMP) && HAVE_DECL_NLM_F_DUMP)
  XLAT(NLM_F_DUMP),
#endif
#if defined(NLM_F_ROOT) || (defined(HAVE_DECL_NLM_F_ROOT) && HAVE_DECL_NLM_F_ROOT)
  XLAT(NLM_F_ROOT),
#endif
#if defined(NLM_F_MATCH) || (defined(HAVE_DECL_NLM_F_MATCH) && HAVE_DECL_NLM_F_MATCH)
  XLAT(NLM_F_MATCH),
#endif
#if defined(NLM_F_ATOMIC) || (defined(HAVE_DECL_NLM_F_ATOMIC) && HAVE_DECL_NLM_F_ATOMIC)
  XLAT(NLM_F_ATOMIC),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
