/* Generated by ./xlat/gen.sh from ./xlat/nlmsgerr_attrs.in; do not edit. */
#if !(defined(NLMSGERR_ATTR_UNUSED) || (defined(HAVE_DECL_NLMSGERR_ATTR_UNUSED) && HAVE_DECL_NLMSGERR_ATTR_UNUSED))
# define NLMSGERR_ATTR_UNUSED 0
#endif
#if !(defined(NLMSGERR_ATTR_MSG) || (defined(HAVE_DECL_NLMSGERR_ATTR_MSG) && HAVE_DECL_NLMSGERR_ATTR_MSG))
# define NLMSGERR_ATTR_MSG 1
#endif
#if !(defined(NLMSGERR_ATTR_OFFS) || (defined(HAVE_DECL_NLMSGERR_ATTR_OFFS) && HAVE_DECL_NLMSGERR_ATTR_OFFS))
# define NLMSGERR_ATTR_OFFS 2
#endif
#if !(defined(NLMSGERR_ATTR_COOKIE) || (defined(HAVE_DECL_NLMSGERR_ATTR_COOKIE) && HAVE_DECL_NLMSGERR_ATTR_COOKIE))
# define NLMSGERR_ATTR_COOKIE 3
#endif

#ifdef IN_MPERS

# error static const struct xlat nlmsgerr_attrs in mpers mode

#else

static
const struct xlat nlmsgerr_attrs[] = {
 XLAT(NLMSGERR_ATTR_UNUSED),
 XLAT(NLMSGERR_ATTR_MSG),
 XLAT(NLMSGERR_ATTR_OFFS),
 XLAT(NLMSGERR_ATTR_COOKIE),
 XLAT_END
};

#endif /* !IN_MPERS */
